diff --git a/.github/workflows/build-ironfish-rust-nodejs.yml b/.github/workflows/build-ironfish-rust-nodejs.yml index f6680ecc24..c7fe2409d5 100644 --- a/.github/workflows/build-ironfish-rust-nodejs.yml +++ b/.github/workflows/build-ironfish-rust-nodejs.yml @@ -51,7 +51,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: '18.12.1' + node-version: 18 cache: yarn - name: Install Rust @@ -121,7 +121,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: '18.12.1' + node-version: 18 - name: Download artifacts uses: actions/download-artifact@v3 diff --git a/.github/workflows/ci-regenerate-fixtures.yml b/.github/workflows/ci-regenerate-fixtures.yml index 642e5aa7a0..2b089b86a0 100644 --- a/.github/workflows/ci-regenerate-fixtures.yml +++ b/.github/workflows/ci-regenerate-fixtures.yml @@ -18,7 +18,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: '18.12.1' + node-version: 18 cache: 'yarn' - name: Cache Rust diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d5b5d124bd..fd60eb386f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: '18.12.1' + node-version: 18 cache: 'yarn' - name: Install packages @@ -39,9 +39,13 @@ jobs: - name: Lint run: yarn lint - test: - name: Test + test-matrix: + name: Test Matrix runs-on: ubuntu-latest + strategy: + matrix: + node-version: [18, 20] + test-type: ["test", "test:slow"] steps: - name: Check out Git repository @@ -50,7 +54,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: '18.12.1' + node-version: ${{ matrix.version }} cache: 'yarn' - name: Cache Rust @@ -62,7 +66,7 @@ jobs: run: yarn --non-interactive --frozen-lockfile - name: Run tests - run: yarn test:coverage --maxWorkers=2 --workerIdleMemoryLimit=2000MB + run: yarn ${{ matrix.test-type}}:coverage --maxWorkers=2 --workerIdleMemoryLimit=2000MB - name: Check for missing fixtures run: | @@ -75,38 +79,13 @@ jobs: if: github.repository == 'iron-fish/ironfish' run: CODECOV_TOKEN=${{ secrets.CODECOV_TOKEN }} ROOT_PATH=$GITHUB_WORKSPACE/ yarn coverage:upload - testslow: - name: Slow Tests + # This is a workaround to have status checks on jobs that use a matrix. + # See: https://github.com/orgs/community/discussions/26822 + test: + if: ${{ always() }} runs-on: ubuntu-latest - + name: Test + needs: [test-matrix] steps: - - name: Check out Git repository - uses: actions/checkout@v3 - - - name: Use Node.js - uses: actions/setup-node@v3 - with: - node-version: '18.12.1' - cache: 'yarn' - - - name: Cache Rust - uses: Swatinem/rust-cache@v2 - with: - shared-key: nodejs - - - name: Install packages - run: yarn --non-interactive --frozen-lockfile - - - name: Run slow tests & coverage - run: yarn test:slow:coverage --maxWorkers=2 --workerIdleMemoryLimit=2000MB - - - name: Check for missing fixtures - run: | - if [[ $(git status | grep fixture) ]]; then - echo "New test fixtures have not been checked in, please check them in." - exit 1 - fi - - - name: Upload coverage - if: github.repository == 'iron-fish/ironfish' - run: CODECOV_TOKEN=${{ secrets.CODECOV_TOKEN }} ROOT_PATH=$GITHUB_WORKSPACE/ yarn coverage:upload \ No newline at end of file + - run: exit 1 + if: ${{ !contains(needs.*.result, 'success')}} diff --git a/.github/workflows/deploy-brew.yml b/.github/workflows/deploy-brew.yml index ef83da4c16..3c6b1797c7 100644 --- a/.github/workflows/deploy-brew.yml +++ b/.github/workflows/deploy-brew.yml @@ -24,7 +24,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: '18.12.1' + node-version: 18 cache: 'yarn' - name: Build Ironfish CLI diff --git a/.github/workflows/deploy-npm-ironfish-cli.yml b/.github/workflows/deploy-npm-ironfish-cli.yml index 17999d8235..acf8c18696 100644 --- a/.github/workflows/deploy-npm-ironfish-cli.yml +++ b/.github/workflows/deploy-npm-ironfish-cli.yml @@ -16,7 +16,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: '18.12.1' + node-version: 18 registry-url: 'https://registry.npmjs.org' cache: yarn diff --git a/.github/workflows/deploy-npm-ironfish-rust-nodejs.yml b/.github/workflows/deploy-npm-ironfish-rust-nodejs.yml index a79ad7836e..f8138ce2fd 100644 --- a/.github/workflows/deploy-npm-ironfish-rust-nodejs.yml +++ b/.github/workflows/deploy-npm-ironfish-rust-nodejs.yml @@ -26,7 +26,7 @@ jobs: - name: Setup node uses: actions/setup-node@v3 with: - node-version: '18.12.1' + node-version: 18 registry-url: 'https://registry.npmjs.org' cache: yarn diff --git a/.github/workflows/deploy-npm-ironfish.yml b/.github/workflows/deploy-npm-ironfish.yml index d247ea42ae..204a0746f0 100644 --- a/.github/workflows/deploy-npm-ironfish.yml +++ b/.github/workflows/deploy-npm-ironfish.yml @@ -13,7 +13,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: '18.12.1' + node-version: 18 registry-url: 'https://registry.npmjs.org' cache: yarn diff --git a/.github/workflows/perf_test.yml b/.github/workflows/perf_test.yml index 06eee348e0..c3fcbf6325 100644 --- a/.github/workflows/perf_test.yml +++ b/.github/workflows/perf_test.yml @@ -24,7 +24,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: '18.12.1' + node-version: 18 cache: 'yarn' - name: Install packages diff --git a/.github/workflows/publish-binaries.yml b/.github/workflows/publish-binaries.yml index 2752b29053..e0afe6dca5 100644 --- a/.github/workflows/publish-binaries.yml +++ b/.github/workflows/publish-binaries.yml @@ -23,7 +23,7 @@ jobs: - host: ubuntu-20.04 arch: x86_64 system: linux - + - host: [self-hosted, macOS, ARM64] arch: arm64 system: apple @@ -32,7 +32,6 @@ jobs: # - host: ubuntu-20.04 # arch: aarch64 # system: linux - # - host: ubuntu-20.04 # target: aarch64-apple-darwin @@ -50,11 +49,11 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: '18.12.1' + node-version: 18 - name: npm init run: npm init -y - + - name: install dependencies run: npm install ironfish caxa@3.0.1 @@ -63,7 +62,7 @@ jobs: run: | npx caxa --uncompression-message "Running the CLI for the first time may take a while, please wait..." --input . --output "${{ matrix.settings.system != 'windows' && 'ironfish' || 'ironfish.exe' }}" -- "{{caxa}}/node_modules/.bin/node" "--enable-source-maps" "{{caxa}}/node_modules/ironfish/bin/run" echo "RELEASE_NAME=ironfish-${{ matrix.settings.system }}-${{ matrix.settings.arch }}-${{ github.event.release.tag_name }}.zip" - + - name: set paths id: set_paths shell: bash diff --git a/Cargo.lock b/Cargo.lock index b509f70247..d224b98ffb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -858,12 +858,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "1.9.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "ff" @@ -1139,12 +1136,6 @@ dependencies = [ "libc", ] -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" - [[package]] name = "hex" version = "0.4.3" @@ -1305,26 +1296,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "ipnet" version = "2.7.2" @@ -1479,9 +1450,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.139" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libloading" @@ -1501,9 +1472,9 @@ checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "linux-raw-sys" -version = "0.3.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" [[package]] name = "lock_api" @@ -1715,11 +1686,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.54" +version = "0.10.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69b3f656a17a6cbc115b5c7a40c616947d213ba182135b014d6051b73ab6f019" +checksum = "7a257ad03cd8fb16ad4172fedf8094451e1af1c4b70097636ef2eac9a5f0cc33" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.3.3", "cfg-if", "foreign-types", "libc", @@ -1747,9 +1718,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.88" +version = "0.9.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ce0f250f34a308dcfdbb351f511359857d4ed2134ba715a4eadd46e1ffd617" +checksum = "40a4130519a360279579c2053038317e40eff64d13fd3f004f9e1b72b8a6aaf9" dependencies = [ "cc", "libc", @@ -1787,9 +1758,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "6.5.0" +version = "6.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" [[package]] name = "pairing" @@ -2208,16 +2179,15 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustix" -version = "0.37.3" +version = "0.38.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b24138615de35e32031d041a09032ef3487a616d901ca4db224e7d557efae2" +checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.3.3", "errno", - "io-lifetimes", "libc", "linux-raw-sys", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -2443,15 +2413,15 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.5.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" dependencies = [ "cfg-if", "fastrand", "redox_syscall 0.3.5", "rustix", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -2876,37 +2846,13 @@ dependencies = [ "windows_x86_64_msvc 0.42.2", ] -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - [[package]] name = "windows-sys" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows-targets", ] [[package]] diff --git a/README.md b/README.md index 357a3496a6..322427dfa0 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ See https://ironfish.network The following steps should only be used to install if you are planning on contributing to the Iron Fish codebase. Otherwise, we **strongly** recommend using the installation methods here: https://ironfish.network/use/get-started/installation -1. Install [Node.js 18.x](https://nodejs.org/en/download/) +1. Install [Node.js LTS](https://nodejs.org/en/download/) 1. Install [Rust](https://www.rust-lang.org/learn/get-started). 1. Install [Yarn](https://classic.yarnpkg.com/en/docs/install). 1. Windows: diff --git a/ironfish-cli/bin/run b/ironfish-cli/bin/run index 42f7ba1084..485f409e80 100755 --- a/ironfish-cli/bin/run +++ b/ironfish-cli/bin/run @@ -1,5 +1,7 @@ #!/usr/bin/env node +const MIN_NODE_VERSION = 18 + // the signal handler does not support windows yet if (process.platform !== 'win32') { require('@ironfish/rust-nodejs').initSignalHandler() @@ -12,12 +14,12 @@ if (process.platform === 'win32' && process.arch === 'ia32') { process.exit(1) } -if (process.versions.node.split('.')[0] !== '18') { +if (Number(process.versions.node.split('.')[0]) < MIN_NODE_VERSION) { console.log( - `NodeJS version ${process.versions.node} is not compatible. Must have Node v18 installed: https://nodejs.org/en/download/`, + `NodeJS version ${process.versions.node} is not compatible. Must have at least Node v${MIN_NODE_VERSION} installed: https://nodejs.org/en/download/`, ) console.log( - 'After v18 is installed, MAKE SURE TO run `npm install -g ironfish` again to install ironfish with the correct Node version', + 'After an updated version is installed, MAKE SURE TO run `npm install -g ironfish` again to install ironfish with the correct Node version', ) process.exit(1) } diff --git a/ironfish-cli/package.json b/ironfish-cli/package.json index eea245c4c5..43b976955a 100644 --- a/ironfish-cli/package.json +++ b/ironfish-cli/package.json @@ -1,6 +1,6 @@ { "name": "ironfish", - "version": "1.11.0", + "version": "1.12.0", "description": "CLI for running and interacting with an Iron Fish node", "author": "Iron Fish (https://ironfish.network)", "main": "build/src/index.js", @@ -20,7 +20,7 @@ "/oclif.manifest.json" ], "engines": { - "node": "18.x" + "node": ">=18" }, "devDependencies": { "@oclif/test": "2.1.0", @@ -61,8 +61,8 @@ "@aws-sdk/client-s3": "3", "@aws-sdk/client-secrets-manager": "3", "@aws-sdk/s3-request-presigner": "3", - "@ironfish/rust-nodejs": "1.9.0", - "@ironfish/sdk": "1.11.0", + "@ironfish/rust-nodejs": "1.10.0", + "@ironfish/sdk": "1.12.0", "@oclif/core": "1.23.1", "@oclif/plugin-help": "5.1.12", "@oclif/plugin-not-found": "2.3.1", diff --git a/ironfish-cli/src/commands/peers/index.ts b/ironfish-cli/src/commands/peers/index.ts index 6cef9b1921..527f294792 100644 --- a/ironfish-cli/src/commands/peers/index.ts +++ b/ironfish-cli/src/commands/peers/index.ts @@ -46,7 +46,6 @@ export class ListCommand extends IronfishCommand { char: 'n', default: false, description: 'Display node names', - hidden: true, }), features: Flags.boolean({ default: false, @@ -184,6 +183,14 @@ function renderTable( return address }, }, + connectionDirection: { + header: 'DIRECTION', + minWidth: 5, + extended: true, + get: (row: GetPeerResponsePeer) => { + return row.connectionDirection || '-' + }, + }, connectionWebSocket: { header: 'SOCKET', minWidth: 4, diff --git a/ironfish-cli/src/commands/reset.ts b/ironfish-cli/src/commands/reset.ts index 0bdf4bab70..a55d6cdaab 100644 --- a/ironfish-cli/src/commands/reset.ts +++ b/ironfish-cli/src/commands/reset.ts @@ -1,7 +1,7 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { HOST_FILE_NAME, IronfishNode } from '@ironfish/sdk' +import { IronfishNode, PEER_STORE_FILE_NAME } from '@ironfish/sdk' import { CliUx, Flags } from '@oclif/core' import fsAsync from 'fs/promises' import { IronfishCommand } from '../command' @@ -40,7 +40,7 @@ export default class Reset extends IronfishCommand { const chainDatabasePath = this.sdk.config.chainDatabasePath const hostFilePath: string = this.sdk.config.files.join( this.sdk.config.dataDir, - HOST_FILE_NAME, + PEER_STORE_FILE_NAME, ) const existingId = this.sdk.internal.get('networkId') diff --git a/ironfish-cli/src/commands/start.ts b/ironfish-cli/src/commands/start.ts index f5432c7ea6..10cb4aba04 100644 --- a/ironfish-cli/src/commands/start.ts +++ b/ironfish-cli/src/commands/start.ts @@ -12,6 +12,8 @@ import { ConfigFlagKey, DataDirFlag, DataDirFlagKey, + RpcAuthFlag, + RpcAuthFlagKey, RpcHttpHostFlag, RpcHttpHostFlagKey, RpcHttpPortFlag, @@ -47,6 +49,7 @@ export default class Start extends IronfishCommand { [RpcUseTcpFlagKey]: { ...RpcUseTcpFlag, allowNo: true }, [RpcUseHttpFlagKey]: { ...RpcUseHttpFlag, allowNo: true }, [RpcTcpTlsFlagKey]: RpcTcpTlsFlag, + [RpcAuthFlagKey]: RpcAuthFlag, [RpcTcpHostFlagKey]: RpcTcpHostFlag, [RpcTcpPortFlagKey]: RpcTcpPortFlag, [RpcHttpHostFlagKey]: RpcHttpHostFlag, diff --git a/ironfish-rust-nodejs/npm/darwin-arm64/package.json b/ironfish-rust-nodejs/npm/darwin-arm64/package.json index 0123479a2a..4e86d4b890 100644 --- a/ironfish-rust-nodejs/npm/darwin-arm64/package.json +++ b/ironfish-rust-nodejs/npm/darwin-arm64/package.json @@ -1,6 +1,6 @@ { "name": "@ironfish/rust-nodejs-darwin-arm64", - "version": "1.9.0", + "version": "1.10.0", "os": [ "darwin" ], diff --git a/ironfish-rust-nodejs/npm/darwin-x64/package.json b/ironfish-rust-nodejs/npm/darwin-x64/package.json index 7d9658b3a4..39483ca196 100644 --- a/ironfish-rust-nodejs/npm/darwin-x64/package.json +++ b/ironfish-rust-nodejs/npm/darwin-x64/package.json @@ -1,6 +1,6 @@ { "name": "@ironfish/rust-nodejs-darwin-x64", - "version": "1.9.0", + "version": "1.10.0", "os": [ "darwin" ], diff --git a/ironfish-rust-nodejs/npm/linux-arm64-gnu/package.json b/ironfish-rust-nodejs/npm/linux-arm64-gnu/package.json index a0092a8099..186e162205 100644 --- a/ironfish-rust-nodejs/npm/linux-arm64-gnu/package.json +++ b/ironfish-rust-nodejs/npm/linux-arm64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@ironfish/rust-nodejs-linux-arm64-gnu", - "version": "1.9.0", + "version": "1.10.0", "os": [ "linux" ], diff --git a/ironfish-rust-nodejs/npm/linux-arm64-musl/package.json b/ironfish-rust-nodejs/npm/linux-arm64-musl/package.json index 2802a1273a..b68ba56bdf 100644 --- a/ironfish-rust-nodejs/npm/linux-arm64-musl/package.json +++ b/ironfish-rust-nodejs/npm/linux-arm64-musl/package.json @@ -1,6 +1,6 @@ { "name": "@ironfish/rust-nodejs-linux-arm64-musl", - "version": "1.9.0", + "version": "1.10.0", "os": [ "linux" ], diff --git a/ironfish-rust-nodejs/npm/linux-x64-gnu/package.json b/ironfish-rust-nodejs/npm/linux-x64-gnu/package.json index e8d072ebec..78dd89e4f3 100644 --- a/ironfish-rust-nodejs/npm/linux-x64-gnu/package.json +++ b/ironfish-rust-nodejs/npm/linux-x64-gnu/package.json @@ -1,6 +1,6 @@ { "name": "@ironfish/rust-nodejs-linux-x64-gnu", - "version": "1.9.0", + "version": "1.10.0", "os": [ "linux" ], diff --git a/ironfish-rust-nodejs/npm/linux-x64-musl/package.json b/ironfish-rust-nodejs/npm/linux-x64-musl/package.json index 62c7188f81..0096e2c23e 100644 --- a/ironfish-rust-nodejs/npm/linux-x64-musl/package.json +++ b/ironfish-rust-nodejs/npm/linux-x64-musl/package.json @@ -1,6 +1,6 @@ { "name": "@ironfish/rust-nodejs-linux-x64-musl", - "version": "1.9.0", + "version": "1.10.0", "os": [ "linux" ], diff --git a/ironfish-rust-nodejs/npm/win32-x64-msvc/package.json b/ironfish-rust-nodejs/npm/win32-x64-msvc/package.json index 8d50b51de8..f37069285f 100644 --- a/ironfish-rust-nodejs/npm/win32-x64-msvc/package.json +++ b/ironfish-rust-nodejs/npm/win32-x64-msvc/package.json @@ -1,6 +1,6 @@ { "name": "@ironfish/rust-nodejs-win32-x64-msvc", - "version": "1.9.0", + "version": "1.10.0", "os": [ "win32" ], diff --git a/ironfish-rust-nodejs/package.json b/ironfish-rust-nodejs/package.json index 174e770072..d7e15bb17b 100644 --- a/ironfish-rust-nodejs/package.json +++ b/ironfish-rust-nodejs/package.json @@ -1,6 +1,6 @@ { "name": "@ironfish/rust-nodejs", - "version": "1.9.0", + "version": "1.10.0", "description": "Node.js bindings for Rust code required by the Iron Fish SDK", "main": "index.js", "types": "index.d.ts", @@ -30,7 +30,7 @@ } }, "engines": { - "node": ">=16" + "node": ">=18" }, "devDependencies": { "@napi-rs/cli": "2.16.1", diff --git a/ironfish-tank/README.md b/ironfish-tank/README.md deleted file mode 100644 index 860f0c2459..0000000000 --- a/ironfish-tank/README.md +++ /dev/null @@ -1,71 +0,0 @@ -# Iron Fish Tank - -An aquarium where you can keep your fishes, pretending they're in the ocean. - -This is a [Docker Compose](https://docs.docker.com/compose/) application to -simulate arbitrarily large clusters of Iron Fish nodes. The Iron Fish nodes -are run into an isolated network (without internet access) and form their own -chain (not connected to the mainnet or the testnet). - -You can use the Iron Fish Tank to: -- simulate large Iron Fish clusters on one machine; -- create test transactions and mine blocks without affecting the mainnet or testnet; -- simulate partial or full network degradation. - -## Quick Start - -To start a simulated Iron Fish cluster with 11 nodes: - -``` -docker-compose up -d --scale fish=10 -``` - -This will start a cluster with 1 *bootstrap* node, and 10 regular nodes. You -can then attach to any of the nodes using `docker exec` to check their -status, for example: - -``` -docker exec ironfish-tank_fish_1 ironfish status -docker exec ironfish-tank_fish_1 ironfish peers -``` - -To start mining blocks on a node: - -``` -docker exec -ti ironfish-tank_fish_1 ironfish miners:start -``` - -To stop the cluster, use `docker-compose stop`. After stopping the cluster, -any block that was synced by a node will be kept, and these blocks will be -available when the cluster is re-started with `docker-compose up`. Use -`docker-compose rm` to start fresh. - -## Simulating network degradation - -You can simulate network latency, bandwidth bottlenecks, packet loss, and more using [`tc(8)`](https://man7.org/linux/man-pages/man8/tc.8.html). Here are some examples: - -* Simulate a random network latency between 500ms and 3s (normally distributed): - - ``` - container=ironfish-tank_fish_1 - pid=$(docker inspect "$container" | jq '.[].State.Pid') - nsenter -t "$pid" -n tc qdisc add dev eth0 root netem delay 500ms 3ms distribution normal - ``` - -* Simulate a 20% packet loss: - - ``` - container=ironfish-tank_fish_1 - pid=$(docker inspect "$container" | jq '.[].State.Pid') - nsenter -t "$pid" -n tc qdisc add dev eth0 root netem loss 50% - ``` - -* Limit bandwidth to 2 Mbit/s: - - ``` - container=ironfish-tank_fish_1 - pid=$(docker inspect "$container" | jq '.[].State.Pid') - nsenter -t "$pid" -n tc qdisc add dev eth0 root tbf rate 2mbit latency 50ms burst 2048 - ``` - -... and many more scenarios that can be simulated with `tc`. diff --git a/ironfish-tank/docker-compose.yaml b/ironfish-tank/docker-compose.yaml deleted file mode 100644 index c5e4a61095..0000000000 --- a/ironfish-tank/docker-compose.yaml +++ /dev/null @@ -1,16 +0,0 @@ -services: - fish: - image: 'ironfish:latest' - command: ['start', '--rpc.ipc', '--rpc.tcp', '--networkId=2', '--bootstrap=fish_bootstrap', '--forceMining'] - networks: - - fish_tank - fish_bootstrap: - image: 'ironfish:latest' - command: ['start', '--rpc.ipc', '--rpc.tcp', '--networkId=2'] - networks: - - fish_tank - -networks: - fish_tank: - driver: bridge - internal: true diff --git a/ironfish/package.json b/ironfish/package.json index 0cc965a3d2..dbe91de743 100644 --- a/ironfish/package.json +++ b/ironfish/package.json @@ -1,6 +1,6 @@ { "name": "@ironfish/sdk", - "version": "1.11.0", + "version": "1.12.0", "description": "SDK for running and interacting with an Iron Fish node", "author": "Iron Fish (https://ironfish.network)", "main": "build/src/index.js", @@ -17,12 +17,12 @@ "build/**/*.json" ], "engines": { - "node": ">=16" + "node": ">=18" }, "dependencies": { "@ethersproject/bignumber": "5.7.0", "@fast-csv/format": "4.3.5", - "@ironfish/rust-nodejs": "1.9.0", + "@ironfish/rust-nodejs": "1.10.0", "@napi-rs/blake-hash": "1.3.3", "axios": "0.21.4", "bech32": "2.0.0", @@ -41,7 +41,7 @@ "leveldown": "5.6.0", "levelup": "4.4.0", "lodash": "4.17.21", - "node-datachannel": "0.4.0", + "node-datachannel": "0.4.3", "node-forge": "1.3.1", "parse-json": "5.2.0", "sqlite": "4.0.23", diff --git a/ironfish/src/fileStores/config.ts b/ironfish/src/fileStores/config.ts index 2f267fc8cd..71cfb86e2c 100644 --- a/ironfish/src/fileStores/config.ts +++ b/ironfish/src/fileStores/config.ts @@ -22,6 +22,9 @@ export const DEFAULT_FEE_ESTIMATOR_MAX_BLOCK_HISTORY = 10 export const DEFAULT_FEE_ESTIMATOR_PERCENTILE_SLOW = 10 export const DEFAULT_FEE_ESTIMATOR_PERCENTILE_AVERAGE = 20 export const DEFAULT_FEE_ESTIMATOR_PERCENTILE_FAST = 30 +export const DEFAULT_MAX_PEERS = 50 +export const DEFAULT_TARGET_PEERS = 45 +export const DEFAULT_KEEP_OPEN_PEER_SLOT = false const MEGABYTES = 1000 * 1000 @@ -114,6 +117,12 @@ export type ConfigOptions = { * establish new connections when below this number. */ targetPeers: number + /** + * If true, the node will disconnect from a peer if the number of connected + * peers is equal to maxPeers in order to always allow incoming connections. + */ + keepOpenPeerSlot: boolean + telemetryApi: string assetVerificationApi: string @@ -353,6 +362,7 @@ export const ConfigOptionsSchema: yup.ObjectSchema> = yup maxPeers: YupUtils.isPositiveInteger, minPeers: YupUtils.isPositiveInteger, targetPeers: yup.number().integer().min(1), + keepOpenPeerSlot: yup.boolean(), telemetryApi: yup.string(), assetVerificationApi: yup.string(), generateNewIdentity: yup.boolean(), @@ -457,10 +467,11 @@ export class Config extends KeyStore { tlsCertPath: files.resolve(files.join(dataDir, 'certs', 'node-cert.pem')), rpcHttpHost: 'localhost', rpcHttpPort: 8021, - maxPeers: 50, + maxPeers: DEFAULT_MAX_PEERS, confirmations: 2, minPeers: 1, - targetPeers: 50, + targetPeers: DEFAULT_TARGET_PEERS, + keepOpenPeerSlot: DEFAULT_KEEP_OPEN_PEER_SLOT, telemetryApi: '', assetVerificationApi: '', generateNewIdentity: false, diff --git a/ironfish/src/fileStores/fileStore.test.ts b/ironfish/src/fileStores/fileStore.test.ts index 8daf6ec0b2..40f7f5c6ce 100644 --- a/ironfish/src/fileStores/fileStore.test.ts +++ b/ironfish/src/fileStores/fileStore.test.ts @@ -3,6 +3,8 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import { NodeFileProvider } from '../fileSystems' import { getUniqueTestDataDir } from '../testUtilities' +import { flushTimeout } from '../testUtilities/helpers/tests' +import { PromiseUtils } from '../utils' import { FileStore } from './fileStore' describe('FileStore', () => { @@ -16,4 +18,40 @@ describe('FileStore', () => { const loaded = await store.load() expect(loaded).toMatchObject({ foo: 'hello' }) }) + + it('should prevent multiple writes to the file before the promise completes', async () => { + const dir = getUniqueTestDataDir() + const files = new NodeFileProvider() + const writeFileSpy = jest.spyOn(files, 'writeFile') + await files.init() + const store = new FileStore<{ foo: string }>(files, 'test', dir) + + const [promise1, resolve1] = PromiseUtils.split() + const [promise2, resolve2] = PromiseUtils.split() + writeFileSpy.mockReturnValueOnce(promise1) + writeFileSpy.mockReturnValueOnce(promise2) + + const save1 = store.save({ foo: 'hello' }) + const save2 = store.save({ foo: 'hello' }) + + // Mutex starts unlocked, save1 is free to execute + // Flush multiple times to ensure all the promises settle as expected + await flushTimeout() + await flushTimeout() + await flushTimeout() + expect(writeFileSpy).toHaveBeenCalledTimes(1) + + resolve1() + // Resolve the first promise, freeing the mutex and allowing save2 to + // execute + await flushTimeout() + await flushTimeout() + expect(writeFileSpy).toHaveBeenCalledTimes(2) + + await save1 + resolve2() + await save2 + + expect(writeFileSpy).toHaveBeenCalledTimes(2) + }) }) diff --git a/ironfish/src/fileStores/fileStore.ts b/ironfish/src/fileStores/fileStore.ts index 7dca79b4af..c25454d5d5 100644 --- a/ironfish/src/fileStores/fileStore.ts +++ b/ironfish/src/fileStores/fileStore.ts @@ -3,6 +3,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import path from 'path' import { FileSystem } from '../fileSystems' +import { Mutex } from '../mutex' import { JSONUtils, PartialRecursive } from '../utils' export class FileStore> { @@ -10,6 +11,7 @@ export class FileStore> { dataDir: string configPath: string configName: string + saveFileMutex = new Mutex() constructor(files: FileSystem, configName: string, dataDir: string) { this.files = files @@ -33,7 +35,12 @@ export class FileStore> { async save(data: PartialRecursive): Promise { const json = JSON.stringify(data, undefined, ' ') - await this.files.mkdir(path.dirname(this.configPath), { recursive: true }) - await this.files.writeFile(this.configPath, json) + const unlock = await this.saveFileMutex.lock() + try { + await this.files.mkdir(path.dirname(this.configPath), { recursive: true }) + await this.files.writeFile(this.configPath, json) + } finally { + unlock() + } } } diff --git a/ironfish/src/fileStores/index.ts b/ironfish/src/fileStores/index.ts index fd5b9bff2f..309e6bd167 100644 --- a/ironfish/src/fileStores/index.ts +++ b/ironfish/src/fileStores/index.ts @@ -3,7 +3,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ export * from './config' export * from './fileStore' -export * from './hosts' export * from './internal' -export * from './verifiedAssets' export * from './keyStore' +export * from './peerStore' +export * from './verifiedAssets' diff --git a/ironfish/src/fileStores/hosts.ts b/ironfish/src/fileStores/peerStore.ts similarity index 65% rename from ironfish/src/fileStores/hosts.ts rename to ironfish/src/fileStores/peerStore.ts index 3c0bb08def..3078790612 100644 --- a/ironfish/src/fileStores/hosts.ts +++ b/ironfish/src/fileStores/peerStore.ts @@ -7,21 +7,24 @@ import { PeerAddress } from '../network/peers/peerAddress' import { ParseJsonError } from '../utils/json' import { KeyStore } from './keyStore' -export type HostsOptions = { +export type PeerStoreOptions = { priorPeers: PeerAddress[] } -export const HostOptionsDefaults: HostsOptions = { +export const PeerStoreOptionsDefaults: PeerStoreOptions = { priorPeers: [], } -export const HOST_FILE_NAME = 'hosts.json' +// This filename ("hosts.json") is left over from when this file used to be called HostsStore +// We will likely change the name when we adding more functionality like storing +// whitelisted peers, banned peers, etc. +export const PEER_STORE_FILE_NAME = 'hosts.json' -export class HostsStore extends KeyStore { +export class PeerStore extends KeyStore { logger: Logger constructor(files: FileSystem, dataDir: string) { - super(files, HOST_FILE_NAME, HostOptionsDefaults, dataDir) + super(files, PEER_STORE_FILE_NAME, PeerStoreOptionsDefaults, dataDir) this.logger = createRootLogger() } diff --git a/ironfish/src/fileSystems/nodeFileSystem.ts b/ironfish/src/fileSystems/nodeFileSystem.ts index ea5a86922e..572ae5d3e9 100644 --- a/ironfish/src/fileSystems/nodeFileSystem.ts +++ b/ironfish/src/fileSystems/nodeFileSystem.ts @@ -30,7 +30,7 @@ export class NodeFileProvider extends FileSystem { options?: { mode?: fs.Mode; flag?: fs.OpenMode }, ): Promise { Assert.isNotNull(this.fs, `Must call FileSystem.init()`) - await this.fs.writeFile(path, data, options) + await this.writeTmpAndRename(path, data, options) } async readFile(path: string): Promise { @@ -104,4 +104,30 @@ export class NodeFileProvider extends FileSystem { return filePath } + + private async writeAndFlushFile( + path: string, + data: string, + options?: { mode?: fs.Mode; flag?: fs.OpenMode }, + ): Promise { + Assert.isNotNull(this.fs, `Must call FileSystem.init()`) + const flag = options?.flag || 'w' + const mode = options?.mode || 0o666 + + const fd = await this.fs.open(path, flag, mode) + await fd.write(data) + await fd.sync() + await fd.close() + } + + private async writeTmpAndRename( + path: string, + data: string, + options?: { mode?: fs.Mode; flag?: fs.OpenMode }, + ): Promise { + Assert.isNotNull(this.fs, `Must call FileSystem.init()`) + const tmpPath = path + '.tmp' + await this.writeAndFlushFile(tmpPath, data, options) + await this.fs.rename(tmpPath, path) + } } diff --git a/ironfish/src/memPool/index.ts b/ironfish/src/memPool/index.ts index a40b5c123f..bea889092f 100644 --- a/ironfish/src/memPool/index.ts +++ b/ironfish/src/memPool/index.ts @@ -3,4 +3,3 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ export * from './memPool' export * from './feeEstimator' -export * from './priorityQueue' diff --git a/ironfish/src/memPool/memPool.ts b/ironfish/src/memPool/memPool.ts index e2bf67bc3f..5230a26427 100644 --- a/ironfish/src/memPool/memPool.ts +++ b/ironfish/src/memPool/memPool.ts @@ -12,8 +12,8 @@ import { MetricsMonitor } from '../metrics' import { getTransactionSize } from '../network/utils/serializers' import { Block, BlockHeader } from '../primitives' import { Transaction, TransactionHash } from '../primitives/transaction' +import { PriorityQueue } from '../utils' import { FeeEstimator, getPreciseFeeRate } from './feeEstimator' -import { PriorityQueue } from './priorityQueue' import { RecentlyEvictedCache } from './recentlyEvictedCache' interface MempoolEntry { @@ -171,22 +171,15 @@ export class MemPool { return this.transactions.get(hash) } - *orderedTransactions(): Generator { - const clone = this.feeRateQueue.clone() - - while (clone.size() > 0) { - const feeAndHash = clone.poll() - - Assert.isNotUndefined(feeAndHash) - const transaction = this.transactions.get(feeAndHash.hash) + *orderedTransactions(): Generator { + for (const { hash } of this.feeRateQueue.sorted()) { + const transaction = this.transactions.get(hash) // The queue is cloned above, but this.transactions is not, so the // transaction may be removed from this.transactions while iterating. - if (transaction === undefined) { - continue + if (transaction) { + yield transaction } - - yield transaction } } diff --git a/ironfish/src/memPool/recentlyEvictedCache.ts b/ironfish/src/memPool/recentlyEvictedCache.ts index 8dba0f5d8a..c82bb4a4ff 100644 --- a/ironfish/src/memPool/recentlyEvictedCache.ts +++ b/ironfish/src/memPool/recentlyEvictedCache.ts @@ -5,7 +5,7 @@ import Decimal from 'decimal.js' import { Logger } from '../logger' import { MetricsMonitor } from '../metrics' import { TransactionHash } from '../primitives/transaction' -import { PriorityQueue } from './priorityQueue' +import { PriorityQueue } from '../utils' interface EvictionQueueEntry { hash: TransactionHash diff --git a/ironfish/src/network/blockFetcher.test.ts b/ironfish/src/network/blockFetcher.test.ts index f37ad119db..837b71254e 100644 --- a/ironfish/src/network/blockFetcher.test.ts +++ b/ironfish/src/network/blockFetcher.test.ts @@ -386,7 +386,7 @@ describe('BlockFetcher', () => { await chain.addBlock(block) } - const syncSpy = jest.spyOn(node.syncer, 'startSync') + const syncSpy = jest.spyOn(node.syncer, 'startSyncIfIdle') const peers = getConnectedPeersWithSpies(peerNetwork.peerManager, 4) @@ -468,7 +468,7 @@ describe('BlockFetcher', () => { it('correctly sends the first peer to send us a block to telemetry', async () => { const { peerNetwork, chain, node } = nodeTest - const peers = getConnectedPeersWithSpies(peerNetwork.peerManager, 50) + const peers = getConnectedPeersWithSpies(peerNetwork.peerManager, 45) const newBlock = await useMinerBlockFixture(chain) diff --git a/ironfish/src/network/messages/networkMessage.ts b/ironfish/src/network/messages/networkMessage.ts index 71cb5702c5..2eea39e820 100644 --- a/ironfish/src/network/messages/networkMessage.ts +++ b/ironfish/src/network/messages/networkMessage.ts @@ -5,10 +5,6 @@ import bufio from 'bufio' import { Serializable } from '../../common/serializable' import { NetworkMessageType } from '../types' -export function displayNetworkMessageType(type: NetworkMessageType): string { - return `${NetworkMessageType[type]} (${type})` -} - export abstract class NetworkMessage implements Serializable { readonly type: NetworkMessageType @@ -32,4 +28,8 @@ export abstract class NetworkMessage implements Serializable { this.serializePayload(bw) return bw.render() } + + displayType(): string { + return `${NetworkMessageType[this.type]} (${this.type})` + } } diff --git a/ironfish/src/network/peerNetwork.test.ts b/ironfish/src/network/peerNetwork.test.ts index f7da3cc8fb..0cd45c989f 100644 --- a/ironfish/src/network/peerNetwork.test.ts +++ b/ironfish/src/network/peerNetwork.test.ts @@ -50,7 +50,7 @@ import { expectGetCompactBlockResponseToMatch, getConnectedPeer, getConnectedPeersWithSpies, - mockHostsStore, + mockPeerStore, mockPrivateIdentity, peerMessage, } from './testUtilities' @@ -104,7 +104,7 @@ describe('PeerNetwork', () => { node: mockNode(), chain: mockChain(), minPeers: 1, - hostsStore: mockHostsStore(), + peerStore: mockPeerStore(), telemetry: mockTelemetry(), networkId: 1, }) @@ -146,7 +146,7 @@ describe('PeerNetwork', () => { port: 0, minPeers: 1, maxPeers: 0, - hostsStore: mockHostsStore(), + peerStore: mockPeerStore(), telemetry: mockTelemetry(), networkId: 1, }) diff --git a/ironfish/src/network/peerNetwork.ts b/ironfish/src/network/peerNetwork.ts index d4262d5254..36b8e9f304 100644 --- a/ironfish/src/network/peerNetwork.ts +++ b/ironfish/src/network/peerNetwork.ts @@ -9,8 +9,12 @@ import { Assert } from '../assert' import { Blockchain } from '../blockchain' import { VerificationResultReason } from '../consensus' import { Event } from '../event' -import { DEFAULT_WEBSOCKET_PORT } from '../fileStores/config' -import { HostsStore } from '../fileStores/hosts' +import { + DEFAULT_MAX_PEERS, + DEFAULT_TARGET_PEERS, + DEFAULT_WEBSOCKET_PORT, +} from '../fileStores/config' +import { PeerStore } from '../fileStores/peerStore' import { createRootLogger, Logger } from '../logger' import { MetricsMonitor } from '../metrics' import { FullNode } from '../node' @@ -33,7 +37,7 @@ import { GetBlockTransactionsResponse, } from './messages/getBlockTransactions' import { GetCompactBlockRequest, GetCompactBlockResponse } from './messages/getCompactBlock' -import { displayNetworkMessageType, NetworkMessage } from './messages/networkMessage' +import { NetworkMessage } from './messages/networkMessage' import { NewBlockHashesMessage } from './messages/newBlockHashes' import { NewCompactBlockMessage } from './messages/newCompactBlock' import { NewPooledTransactionHashes } from './messages/newPooledTransactionHashes' @@ -59,8 +63,8 @@ import { PeerConnectionManager } from './peers/peerConnectionManager' import { PeerManager } from './peers/peerManager' import { TransactionFetcher } from './transactionFetcher' import { IsomorphicWebSocketConstructor } from './types' -import { parseUrl } from './utils/parseUrl' import { getBlockSize } from './utils/serializers' +import { parseUrl, WebSocketAddress } from './utils/url' import { MAX_BLOCK_LOOKUPS, MAX_HEADER_LOOKUPS, @@ -170,8 +174,9 @@ export class PeerNetwork { telemetry: Telemetry node: FullNode chain: Blockchain - hostsStore: HostsStore + peerStore: PeerStore incomingWebSocketWhitelist?: string[] + keepOpenPeerSlot?: boolean }) { this.networkId = options.networkId this.enableSyncing = options.enableSyncing ?? true @@ -196,13 +201,13 @@ export class PeerNetwork { this.localPeer.port = options.port === undefined ? null : options.port this.localPeer.name = options.name || null - const maxPeers = options.maxPeers || 10000 - const targetPeers = options.targetPeers || 50 + const maxPeers = options.maxPeers || DEFAULT_MAX_PEERS + const targetPeers = options.targetPeers || DEFAULT_TARGET_PEERS const logPeerMessages = options.logPeerMessages ?? false this.peerManager = new PeerManager( this.localPeer, - options.hostsStore, + options.peerStore, this.logger, this.metrics, maxPeers, @@ -218,6 +223,7 @@ export class PeerNetwork { this.peerConnectionManager = new PeerConnectionManager(this.peerManager, this.logger, { maxPeers, + keepOpenPeerSlot: options.keepOpenPeerSlot, }) this.minPeers = options.minPeers || 1 @@ -309,7 +315,13 @@ export class PeerNetwork { return } - this.peerManager.createPeerFromInboundWebSocketConnection(connection, address) + let wsAddress: WebSocketAddress | null = null + if (address) { + const url = parseUrl(address) + wsAddress = url.hostname ? { host: url.hostname, port: url.port } : null + } + + this.peerManager.createPeerFromInboundWebSocketConnection(connection, wsAddress) }) this.peerManager.onConnect.on((peer: Peer) => { @@ -358,6 +370,15 @@ export class PeerNetwork { whitelist: true, }) } + + // Connect to prior websocket outbound connections that were saved to disk + // This should be replaced with populating from the peer candidates list [IFL-1786] + for (const peerAddress of this.peerManager.peerStoreManager.priorConnectedPeerAddresses) { + this.peerManager.connectToWebSocketAddress({ + host: peerAddress.address, + port: peerAddress.port, + }) + } } /** @@ -499,9 +520,7 @@ export class PeerNetwork { if (request && request.peer.state.type === 'DISCONNECTED') { request.peer.onStateChanged.off(onConnectionStateChanged) - const errorMessage = `Connection closed while waiting for request ${displayNetworkMessageType( - message.type, - )}: ${rpcId}` + const errorMessage = `Connection closed while waiting for request ${message.displayType()}: ${rpcId}` request.reject(new NetworkError(errorMessage)) } @@ -518,9 +537,7 @@ export class PeerNetwork { } const errorMessage = `Closing connections to ${ peer.displayName - } because RPC message of type ${displayNetworkMessageType( - message.type, - )} timed out after ${RPC_TIMEOUT_MILLIS} ms in request: ${rpcId}.` + } because RPC message of type ${message.displayType()} timed out after ${RPC_TIMEOUT_MILLIS} ms in request: ${rpcId}.` const error = new RequestTimeoutError(RPC_TIMEOUT_MILLIS, errorMessage) this.logger.debug(errorMessage) clearDisconnectHandler() @@ -563,9 +580,9 @@ export class PeerNetwork { if (!connection) { return request.reject( new Error( - `${String(peer.state.identity)} did not send ${displayNetworkMessageType( - message.type, - )} in state ${peer.state.type}`, + `${String(peer.state.identity)} did not send ${message.displayType()} in state ${ + peer.state.type + }`, ), ) } @@ -588,9 +605,7 @@ export class PeerNetwork { if (!(response instanceof GetBlockHeadersResponse)) { // TODO jspafford: disconnect peer, or handle it more properly - throw new Error( - `Invalid GetBlockHeadersResponse: ${displayNetworkMessageType(message.type)}`, - ) + throw new Error(`Invalid GetBlockHeadersResponse: ${message.displayType()}`) } return { headers: response.headers, time: BenchUtils.end(begin) } @@ -608,7 +623,7 @@ export class PeerNetwork { if (!(response instanceof GetBlocksResponse)) { // TODO jspafford: disconnect peer, or handle it more properly - throw new Error(`Invalid GetBlocksResponse: ${displayNetworkMessageType(message.type)}`) + throw new Error(`Invalid GetBlocksResponse: ${message.displayType()}`) } const exceededSoftLimit = response.getSize() >= SOFT_MAX_MESSAGE_SIZE @@ -636,9 +651,7 @@ export class PeerNetwork { } } else { throw new Error( - `Invalid message for handling in peer network: '${displayNetworkMessageType( - message.type, - )}'`, + `Invalid message for handling in peer network: '${message.displayType()}'`, ) } } @@ -676,9 +689,7 @@ export class PeerNetwork { const asError = error as Error if (!(asError.name && asError.name === 'CannotSatisfyRequestError')) { this.logger.error( - `Unexpected error in ${displayNetworkMessageType( - rpcMessage.type, - )} handler: ${String(error)}`, + `Unexpected error in ${rpcMessage.displayType()} handler: ${String(error)}`, ) } responseMessage = new CannotSatisfyRequest(rpcId) @@ -753,7 +764,7 @@ export class PeerNetwork { if (prevHeader === null) { this.chain.addOrphan(block.header) this.blockFetcher.removeBlock(block.header.hash) - this.node.syncer.startSync(peer) + this.node.syncer.startSyncIfIdle(peer) return } @@ -811,7 +822,7 @@ export class PeerNetwork { if (prevHeader === null) { this.chain.addOrphan(header) this.blockFetcher.removeBlock(header.hash) - this.node.syncer.startSync(peer) + this.node.syncer.startSyncIfIdle(peer) return } @@ -1180,7 +1191,7 @@ export class PeerNetwork { if (prevHeader === null) { this.chain.addOrphan(block.header) this.blockFetcher.removeBlock(block.header.hash) - this.node.syncer.startSync(peer) + this.node.syncer.startSyncIfIdle(peer) return } diff --git a/ironfish/src/network/peers/addressManager.test.ts b/ironfish/src/network/peers/addressManager.test.ts deleted file mode 100644 index 80f3288861..0000000000 --- a/ironfish/src/network/peers/addressManager.test.ts +++ /dev/null @@ -1,111 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -jest.mock('ws') - -import { - getConnectedPeer, - getConnectingPeer, - getDisconnectedPeer, - mockHostsStore, - mockLocalPeer, -} from '../testUtilities' -import { AddressManager } from './addressManager' -import { Peer } from './peer' -import { PeerAddress } from './peerAddress' -import { PeerManager } from './peerManager' - -jest.useFakeTimers() - -describe('AddressManager', () => { - it('constructor loads addresses from HostsStore', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) - const addressManager = new AddressManager(mockHostsStore(), pm) - addressManager.hostsStore = mockHostsStore() - expect(addressManager.priorConnectedPeerAddresses).toMatchObject([ - { - address: '127.0.0.1', - port: 9999, - }, - ]) - }) - - it('removePeerAddress should remove a peer address', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) - const addressManager = new AddressManager(mockHostsStore(), pm) - addressManager.hostsStore = mockHostsStore() - const { peer: peer1 } = getConnectedPeer(pm) - const allPeers: Peer[] = [peer1] - const allPeerAddresses: PeerAddress[] = [] - - for (const peer of allPeers) { - allPeerAddresses.push({ - address: peer.address, - port: peer.port, - identity: peer.state.identity, - name: peer.name, - }) - } - addressManager.hostsStore.set('priorPeers', allPeerAddresses) - addressManager.removePeerAddress(peer1) - expect(addressManager.priorConnectedPeerAddresses.length).toEqual(0) - }) - - it('getRandomDisconnectedPeer should return a randomly-sampled disconnected peer', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) - const addressManager = new AddressManager(mockHostsStore(), pm) - addressManager.hostsStore = mockHostsStore() - const { peer: connectedPeer } = getConnectedPeer(pm) - const { peer: connectingPeer } = getConnectingPeer(pm) - const disconnectedPeer = getDisconnectedPeer(pm) - const nonDisconnectedPeers: Peer[] = [connectedPeer, connectingPeer] - const allPeerAddresses: PeerAddress[] = [] - - for (const peer of [...nonDisconnectedPeers, disconnectedPeer]) { - allPeerAddresses.push({ - address: peer.address, - port: peer.port, - identity: peer.state.identity, - name: peer.name, - }) - } - - const nonDisconnectedIdentities = nonDisconnectedPeers.flatMap((peer) => { - if (peer.state.type !== 'DISCONNECTED' && peer.state.identity !== null) { - return peer.state.identity - } else { - return [] - } - }) - - addressManager.hostsStore.set('priorPeers', allPeerAddresses) - - const sample = addressManager.getRandomDisconnectedPeerAddress(nonDisconnectedIdentities) - expect(sample).not.toBeNull() - if (sample !== null) { - expect(allPeerAddresses).toContainEqual(sample) - expect(sample.address).toEqual(disconnectedPeer.address) - expect(sample.port).toEqual(disconnectedPeer.port) - } - }) - - describe('save', () => { - it('save should persist connected peers', async () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) - const addressManager = new AddressManager(mockHostsStore(), pm) - addressManager.hostsStore = mockHostsStore() - const { peer: connectedPeer } = getConnectedPeer(pm) - getConnectingPeer(pm) - getDisconnectedPeer(pm) - const address: PeerAddress = { - address: connectedPeer.address, - port: connectedPeer.port, - identity: connectedPeer.state.identity, - name: connectedPeer.name, - } - - await addressManager.save() - expect(addressManager.priorConnectedPeerAddresses).toContainEqual(address) - }) - }) -}) diff --git a/ironfish/src/network/peers/addressManager.ts b/ironfish/src/network/peers/addressManager.ts deleted file mode 100644 index 4233b01891..0000000000 --- a/ironfish/src/network/peers/addressManager.ts +++ /dev/null @@ -1,94 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { HostsStore } from '../../fileStores' -import { ArrayUtils } from '../../utils' -import { Peer } from '../peers/peer' -import { PeerAddress } from './peerAddress' -import { PeerManager } from './peerManager' - -/** - * AddressManager stores the necessary data for connecting to new peers - * and provides functionality for persistence of said data. - */ -export class AddressManager { - hostsStore: HostsStore - peerManager: PeerManager - - constructor(hostsStore: HostsStore, peerManager: PeerManager) { - this.hostsStore = hostsStore - this.peerManager = peerManager - } - - get priorConnectedPeerAddresses(): ReadonlyArray> { - return this.hostsStore.getArray('priorPeers') - } - - /** - * Returns a peer address for a disconnected peer by using current peers to - * filter out peer addresses. It attempts to find a previously-connected - * peer address that is not part of an active connection. - */ - getRandomDisconnectedPeerAddress(peerIdentities: string[]): PeerAddress | null { - if (this.priorConnectedPeerAddresses.length === 0) { - return null - } - - const currentPeerIdentities = new Set(peerIdentities) - - const disconnectedPriorAddresses = this.filterConnectedIdentities( - this.priorConnectedPeerAddresses, - currentPeerIdentities, - ) - if (disconnectedPriorAddresses.length) { - return ArrayUtils.sampleOrThrow(disconnectedPriorAddresses) - } - - return null - } - - private filterConnectedIdentities( - priorConnectedAddresses: readonly Readonly[], - connectedPeerIdentities: Set, - ): PeerAddress[] { - const disconnectedAddresses = priorConnectedAddresses.filter( - (address) => address.identity !== null && !connectedPeerIdentities.has(address.identity), - ) - - return disconnectedAddresses - } - - /** - * Removes address associated with a peer from address stores - */ - removePeerAddress(peer: Peer): void { - const filteredPriorConnected = this.priorConnectedPeerAddresses.filter( - (prior) => prior.identity !== peer.state.identity, - ) - - this.hostsStore.set('priorPeers', filteredPriorConnected) - } - - /** - * Persist all currently connected peers to disk - */ - async save(): Promise { - // TODO: Ideally, we would like persist peers with whom we've - // successfully established an outbound Websocket connection at - // least once. - const inUsePeerAddresses: PeerAddress[] = this.peerManager.peers.flatMap((peer) => { - if (peer.state.type === 'CONNECTED') { - return { - address: peer.address, - port: peer.port, - identity: peer.state.identity ?? null, - name: peer.name ?? null, - } - } else { - return [] - } - }) - this.hostsStore.set('priorPeers', inUsePeerAddresses) - await this.hostsStore.save() - } -} diff --git a/ironfish/src/network/peers/connections/connection.ts b/ironfish/src/network/peers/connections/connection.ts index ced7b06b8e..ba01974b52 100644 --- a/ironfish/src/network/peers/connections/connection.ts +++ b/ironfish/src/network/peers/connections/connection.ts @@ -8,7 +8,7 @@ import { Event } from '../../../event' import { MetricsMonitor } from '../../../metrics' import { ErrorUtils, SetTimeoutToken } from '../../../utils' import { Identity } from '../../identity' -import { displayNetworkMessageType, NetworkMessage } from '../../messages/networkMessage' +import { NetworkMessage } from '../../messages/networkMessage' import { RPC_TIMEOUT_MILLIS } from '../../messages/rpcNetworkMessage' import { NetworkMessageType } from '../../types' import { MAX_MESSAGE_SIZE } from '../../version' @@ -119,11 +119,7 @@ export abstract class Connection { } if (this.shouldLogMessageType(object.type)) { - this.logger.debug( - `${colors.yellow('SEND')} ${this.displayName}: ${displayNetworkMessageType( - object.type, - )}`, - ) + this.logger.debug(`${colors.yellow('SEND')} ${this.displayName}: ${object.displayType()}`) } let sendResult @@ -131,9 +127,9 @@ export abstract class Connection { sendResult = this._send(data) } catch (e) { this.logger.debug( - `Error occurred while sending ${displayNetworkMessageType( - object.type, - )} message in state ${this.state.type} ${ErrorUtils.renderError(e)}`, + `Error occurred while sending ${object.displayType()} message in state ${ + this.state.type + } ${ErrorUtils.renderError(e)}`, ) this.close(e) return false diff --git a/ironfish/src/network/peers/connections/webRtcConnection.ts b/ironfish/src/network/peers/connections/webRtcConnection.ts index a6bac0e95d..29456f4376 100644 --- a/ironfish/src/network/peers/connections/webRtcConnection.ts +++ b/ironfish/src/network/peers/connections/webRtcConnection.ts @@ -10,7 +10,6 @@ import { Event } from '../../../event' import { MetricsMonitor } from '../../../metrics' import { ErrorUtils } from '../../../utils' import { parseNetworkMessage } from '../../messageRegistry' -import { displayNetworkMessageType } from '../../messages/networkMessage' import { MAX_MESSAGE_SIZE } from '../../version' import { Connection, ConnectionDirection, ConnectionType } from './connection' import { NetworkError } from './errors' @@ -148,9 +147,7 @@ export class WebRtcConnection extends Connection { if (this.shouldLogMessageType(message.type)) { this.logger.debug( - `${colors.yellow('RECV')} ${this.displayName}: ${displayNetworkMessageType( - message.type, - )}`, + `${colors.yellow('RECV')} ${this.displayName}: ${message.displayType()}`, ) } diff --git a/ironfish/src/network/peers/connections/webSocketConnection.ts b/ironfish/src/network/peers/connections/webSocketConnection.ts index 837d6d39b0..c3f7f3901b 100644 --- a/ironfish/src/network/peers/connections/webSocketConnection.ts +++ b/ironfish/src/network/peers/connections/webSocketConnection.ts @@ -6,7 +6,6 @@ import type { Logger } from '../../../logger' import colors from 'colors/safe' import { MetricsMonitor } from '../../../metrics' import { parseNetworkMessage } from '../../messageRegistry' -import { displayNetworkMessageType } from '../../messages/networkMessage' import { IsomorphicWebSocket, IsomorphicWebSocketErrorEvent } from '../../types' import { Connection, ConnectionDirection, ConnectionType } from './connection' import { NetworkError } from './errors' @@ -93,9 +92,7 @@ export class WebSocketConnection extends Connection { if (this.shouldLogMessageType(message.type)) { this.logger.debug( - `${colors.yellow('RECV')} ${this.displayName}: ${displayNetworkMessageType( - message.type, - )}`, + `${colors.yellow('RECV')} ${this.displayName}: ${message.displayType()}`, ) } diff --git a/ironfish/src/network/peers/peer.ts b/ironfish/src/network/peers/peer.ts index 899d014236..a9a32000e7 100644 --- a/ironfish/src/network/peers/peer.ts +++ b/ironfish/src/network/peers/peer.ts @@ -10,8 +10,9 @@ import { createRootLogger, Logger } from '../../logger' import { MetricsMonitor } from '../../metrics' import { ErrorUtils } from '../../utils' import { Identity } from '../identity' -import { displayNetworkMessageType, NetworkMessage } from '../messages/networkMessage' +import { NetworkMessage } from '../messages/networkMessage' import { NetworkMessageType } from '../types' +import { WebSocketAddress } from '../utils' import { NetworkError, WebRtcConnection, WebSocketConnection } from './connections' import { Connection, ConnectionType } from './connections/connection' import { Features } from './peerFeatures' @@ -158,20 +159,24 @@ export class Peer { return identitySlice } + /** + * The address by which the peer can be connected to over WebSockets. + * Setting this to null makes a peer unconnectable via WebSocket outbound connections. + */ + wsAddress: WebSocketAddress | null = null + /** * address associated with this peer */ - private _address: string | null = null get address(): string | null { - return this._address + return this.wsAddress?.host || null } /** * port associated with this peer */ - private _port: number | null = null get port(): number | null { - return this._port + return this.wsAddress?.port || null } /** how many outbound connections does the peer have */ @@ -256,7 +261,7 @@ export class Peer { const webSocket = this.state.type !== 'DISCONNECTED' ? this.state.connections.webSocket : undefined - this.setState(this.computeStateFromConnections(webSocket, connection)) + this.setState(webSocket, connection) } /** @@ -273,7 +278,7 @@ export class Peer { const webSocket = this.state.type !== 'DISCONNECTED' ? this.state.connections.webSocket : undefined - this.setState(this.computeStateFromConnections(webSocket, connection)) + this.setState(webSocket, connection) if (existingConnection) { const error = `Replacing duplicate WebRTC connection on ${this.displayName}` @@ -296,7 +301,7 @@ export class Peer { const webRtc = this.state.type !== 'DISCONNECTED' ? this.state.connections.webRtc : undefined - this.setState(this.computeStateFromConnections(connection, webRtc)) + this.setState(connection, webRtc) } /** @@ -313,7 +318,7 @@ export class Peer { const webRtc = this.state.type !== 'DISCONNECTED' ? this.state.connections.webRtc : undefined - this.setState(this.computeStateFromConnections(connection, webRtc)) + this.setState(connection, webRtc) if (existingConnection) { const error = `Replacing duplicate WebSocket connection on ${this.displayName}` @@ -397,7 +402,7 @@ export class Peer { const webRtcConnection = connection === this.state.connections.webRtc ? undefined : this.state.connections.webRtc - this.setState(this.computeStateFromConnections(wsConnection, webRtcConnection)) + this.setState(wsConnection, webRtcConnection) return connection } @@ -412,51 +417,6 @@ export class Peer { return this.state.identity } - /** - * Get the peers connectable websocket address - */ - getWebSocketAddress(includeProtocol = true): string { - let address = '' - - if (includeProtocol) { - address = 'ws://' + address - } - - if (this.address) { - address += this.address - } - - if (this.port) { - address = address + ':' + String(this.port) - } - - return address - } - - /** - * Sets the address and peer by which the peer can be connected to over WebSockets. - * Setting address and port to null makes a peer unconnectable via WebSocket outbound connections. - * @param address Hostname of the address, or null to remove the address. - * @param port Port to connect over. Must be null if address is null. - */ - setWebSocketAddress(address: string | null, port: number | null): void { - if (address === null && port !== null) { - throw new Error( - `Called setWebSocketAddress on ${String( - this.state.identity, - )} with a port but no address`, - ) - } - - // Don't do anything if the address and port stay the same - if (address === this._address && port === this._port) { - return - } - - this._address = address - this._port = port - } - /** * Records number messages sent using a rolling average */ @@ -487,9 +447,9 @@ export class Peer { // Return early if peer is not in state CONNECTED if (this.state.type !== 'CONNECTED') { this.logger.debug( - `Attempted to send a ${displayNetworkMessageType(message.type)} message to ${ - this.displayName - } in state ${this.state.type}`, + `Attempted to send a ${message.displayType()} message to ${this.displayName} in state ${ + this.state.type + }`, ) return null } @@ -578,7 +538,7 @@ export class Peer { connection instanceof WebSocketConnection && connection.hostname ) { - this.setWebSocketAddress(connection.hostname, connection.port || null) + this.wsAddress = { host: connection.hostname, port: connection.port || null } } // onMessage @@ -621,14 +581,9 @@ export class Peer { if (connection.state.type === 'CONNECTED') { // If connection goes to connected, transition the peer to connected if (connection instanceof WebSocketConnection && connection.hostname) { - this.setWebSocketAddress(connection.hostname, connection.port || null) + this.wsAddress = { host: connection.hostname, port: connection.port || null } } - this.setState( - this.computeStateFromConnections( - this.state.connections.webSocket, - this.state.connections.webRtc, - ), - ) + this.setState(this.state.connections.webSocket, this.state.connections.webRtc) } } this.connectionStateChangedHandlers.set(connection, stateChangedHandler) @@ -640,7 +595,12 @@ export class Peer { * Changes the peer's state from this.state to nextState. * @param nextState The new peer state. */ - private setState(nextState: PeerState): void { + private setState( + wsConnection: WebSocketConnection | undefined, + webRtcConnection: WebRtcConnection | undefined, + ): void { + const nextState = this.computeStateFromConnections(wsConnection, webRtcConnection) + // Perform pre-transition actions const lastConState = this.getConnectionStateOrDefault(this.state) const nextConState = this.getConnectionStateOrDefault(nextState) @@ -694,7 +654,7 @@ export class Peer { if (error !== undefined) { this._error = error } - this.setState({ type: 'DISCONNECTED', identity: this.state.identity }) + this.setState(undefined, undefined) } /** diff --git a/ironfish/src/network/peers/peerAddress.ts b/ironfish/src/network/peers/peerAddress.ts index 8e8f4776fa..a46df96db8 100644 --- a/ironfish/src/network/peers/peerAddress.ts +++ b/ironfish/src/network/peers/peerAddress.ts @@ -4,8 +4,9 @@ import { Identity } from '../identity' export type PeerAddress = { - address: string | null - port: number | null - identity: Identity | null + address: string + port: number + identity: Identity name: string | null + lastAddedTimestamp: number } diff --git a/ironfish/src/network/peers/peerCandidates.ts b/ironfish/src/network/peers/peerCandidates.ts index ae2845a44b..8a319526ee 100644 --- a/ironfish/src/network/peers/peerCandidates.ts +++ b/ironfish/src/network/peers/peerCandidates.ts @@ -3,14 +3,13 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import { ArrayUtils } from '../../utils/array' import { Identity } from '../identity' -import { Peer as PeerListPeer } from '../messages/peerList' +import { formatWebSocketAddress, WebSocketAddress } from '../utils' import { ConnectionRetry } from './connectionRetry' import { Peer } from './peer' export type PeerCandidate = { - name?: string - address: string | null - port: number | null + name: string | null + wsAddress: WebSocketAddress | null neighbors: Set webRtcRetry: ConnectionRetry websocketRetry: ConnectionRetry @@ -34,45 +33,51 @@ export class PeerCandidates { } addFromPeer(peer: Peer, neighbors = new Set()): void { - const address = peer.getWebSocketAddress() - const addressPeerCandidate = this.map.get(address) + const address = formatWebSocketAddress(peer.wsAddress) + const addressPeerCandidate = address ? this.map.get(address) : undefined const newPeerCandidate = { - address: peer.address, - port: peer.port, + wsAddress: peer.wsAddress, neighbors, webRtcRetry: new ConnectionRetry(peer.isWhitelisted), websocketRetry: new ConnectionRetry(peer.isWhitelisted), localRequestedDisconnectUntil: null, peerRequestedDisconnectUntil: null, + name: null, } if (peer.state.identity !== null) { - if (addressPeerCandidate) { + if (addressPeerCandidate && address) { this.map.delete(address) } if (!this.map.has(peer.state.identity)) { this.map.set(peer.state.identity, addressPeerCandidate ?? newPeerCandidate) } - } else if (!addressPeerCandidate) { + } else if (address && !addressPeerCandidate) { this.map.set(address, newPeerCandidate) } } - addFromPeerList(sendingPeerIdentity: Identity, peer: PeerListPeer): void { - const peerIdentity = peer.identity.toString('base64') - const peerCandidateValue = this.map.get(peerIdentity) + addFromPeerList( + sendingPeerIdentity: Identity, + peer: { + identity: Identity + name?: string + wsAddress: WebSocketAddress | null + }, + ): void { + const peerCandidateValue = this.map.get(peer.identity) if (peerCandidateValue) { peerCandidateValue.neighbors.add(sendingPeerIdentity) } else { - const tempPeer = new Peer(peerIdentity) - tempPeer.setWebSocketAddress(peer.address, peer.port) + const tempPeer = new Peer(peer.identity) + tempPeer.wsAddress = peer.wsAddress this.addFromPeer(tempPeer, new Set([sendingPeerIdentity])) } } - shufflePeerCandidates(): string[] { + shufflePeerCandidates(): Identity[] { return ArrayUtils.shuffle([...this.map.keys()]) } @@ -84,10 +89,6 @@ export class PeerCandidates { return this.map.has(identity) } - private set(identity: Identity, value: PeerCandidate): void { - this.map.set(identity, value) - } - clear(): void { this.map.clear() } diff --git a/ironfish/src/network/peers/peerConnectionManager.test.ts b/ironfish/src/network/peers/peerConnectionManager.test.ts index 47fa52930e..4ad3ced07f 100644 --- a/ironfish/src/network/peers/peerConnectionManager.test.ts +++ b/ironfish/src/network/peers/peerConnectionManager.test.ts @@ -2,18 +2,18 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -jest.mock('ws') - import { Assert } from '../../assert' +import { DEFAULT_MAX_PEERS } from '../../fileStores' import { createRootLogger } from '../../logger' import { getConnectedPeer, - mockHostsStore, mockIdentity, mockLocalPeer, + mockPeerStore, webRtcCanInitiateIdentity, webRtcLocalIdentity, } from '../testUtilities' +import { formatWebSocketAddress } from '../utils' import { ConnectionDirection, ConnectionType, @@ -23,13 +23,18 @@ import { import { PeerConnectionManager } from './peerConnectionManager' import { PeerManager } from './peerManager' +/* eslint-disable @typescript-eslint/no-explicit-any */ + +jest.mock('ws') jest.useFakeTimers() describe('connectToDisconnectedPeers', () => { - it('Should not connect to disconnected peers without an address or peers', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + it('should not connect to disconnected peers without an address or peers', () => { + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const peer = pm.getOrCreatePeer(null) - const pcm = new PeerConnectionManager(pm, createRootLogger(), { maxPeers: 50 }) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { + maxPeers: DEFAULT_MAX_PEERS, + }) pm['logger'].mockTypes(() => jest.fn()) pcm.start() expect(peer.state).toEqual({ @@ -38,33 +43,35 @@ describe('connectToDisconnectedPeers', () => { }) }) - it('Should connect to disconnected unidentified peers with an address', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + it('should connect to disconnected unidentified peers with an address', () => { + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const peer = pm.getOrCreatePeer(null) - peer.setWebSocketAddress('testuri.com', 9033) + peer.wsAddress = { host: 'testuri.com', port: 9033 } pm['tryDisposePeer'](peer) pm.peerCandidates.addFromPeer(peer) - const pcm = new PeerConnectionManager(pm, createRootLogger(), { maxPeers: 50 }) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { + maxPeers: DEFAULT_MAX_PEERS, + }) pcm.start() expect(pm.peers.length).toBe(1) expect(pm.peers[0].state).toEqual({ type: 'CONNECTING', - identity: peer.getWebSocketAddress(), + identity: formatWebSocketAddress(peer.wsAddress), connections: { webSocket: expect.any(WebSocketConnection), }, }) }) - it('Should connect to disconnected identified peers with an address over WS', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + it('should connect to disconnected identified peers with an address over WS', () => { + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const identity = mockIdentity('peer') const peer = pm.getOrCreatePeer(identity) - peer.setWebSocketAddress('testuri.com', 9033) + peer.wsAddress = { host: 'testuri.com', port: 9033 } pm['tryDisposePeer'](peer) pm.peerCandidates.addFromPeer(peer) @@ -78,7 +85,9 @@ describe('connectToDisconnectedPeers', () => { Assert.isNotNull(retry) retry.neverRetryConnecting() - const pcm = new PeerConnectionManager(pm, createRootLogger(), { maxPeers: 50 }) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { + maxPeers: DEFAULT_MAX_PEERS, + }) pcm.start() expect(pm.peers.length).toBe(1) @@ -89,12 +98,12 @@ describe('connectToDisconnectedPeers', () => { }) }) - it('Should connect to webrtc and websockets', () => { - const peers = new PeerManager(mockLocalPeer(), mockHostsStore()) + it('should connect to webrtc and websockets', () => { + const peers = new PeerManager(mockLocalPeer(), mockPeerStore()) const identity = mockIdentity('peer') const createdPeer = peers.getOrCreatePeer(identity) - createdPeer.setWebSocketAddress('testuri.com', 9033) + createdPeer.wsAddress = { host: 'testuri.com', port: 9033 } peers['tryDisposePeer'](createdPeer) peers.peerCandidates.addFromPeer(createdPeer) @@ -116,29 +125,30 @@ describe('connectToDisconnectedPeers', () => { }) }) - it('Should connect to known peers of connected peers', () => { + it('should connect to known peers of connected peers', () => { const peerIdentity = webRtcCanInitiateIdentity() const pm = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), ) const { peer: brokeringPeer } = getConnectedPeer(pm, 'brokering') // Link the peers pm.peerCandidates.addFromPeerList(brokeringPeer.getIdentityOrThrow(), { - address: null, - port: null, - identity: Buffer.from(peerIdentity, 'base64'), + wsAddress: null, + identity: peerIdentity, }) pm.peerCandidates.addFromPeerList(peerIdentity, { - address: null, - port: null, - identity: Buffer.from(brokeringPeer.getIdentityOrThrow(), 'base64'), + wsAddress: null, + identity: brokeringPeer.getIdentityOrThrow(), }) - const pcm = new PeerConnectionManager(pm, createRootLogger(), { maxPeers: 50 }) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { + maxPeers: DEFAULT_MAX_PEERS, + }) pcm.start() - const peer = pm.getPeerOrThrow(peerIdentity) + const peer = pm.getPeer(peerIdentity) + Assert.isNotNull(peer) expect(peer.state).toEqual({ type: 'CONNECTING', identity: peerIdentity, @@ -148,10 +158,10 @@ describe('connectToDisconnectedPeers', () => { }) describe('maintainOneConnectionPerPeer', () => { - it('Should not close WS connection if the WebRTC connection is not in CONNECTED', () => { + it('should not close WS connection if the WebRTC connection is not in CONNECTED', () => { const pm = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), ) const peer = pm.connectToWebSocketAddress({ host: 'testuri', @@ -190,7 +200,9 @@ describe('maintainOneConnectionPerPeer', () => { }, }) - const pcm = new PeerConnectionManager(pm, createRootLogger(), { maxPeers: 50 }) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { + maxPeers: DEFAULT_MAX_PEERS, + }) pcm.start() expect(peer.state).toEqual({ @@ -203,10 +215,10 @@ describe('maintainOneConnectionPerPeer', () => { }) }) - it('Should close WebSocket connection if a peer has WS and WebRTC connections', () => { + it('should close WebSocket connection if a peer has WS and WebRTC connections', () => { const pm = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), ) const peer = pm.connectToWebSocketAddress({ host: 'testuri', @@ -245,7 +257,9 @@ describe('maintainOneConnectionPerPeer', () => { }, }) - const pcm = new PeerConnectionManager(pm, createRootLogger(), { maxPeers: 50 }) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { + maxPeers: DEFAULT_MAX_PEERS, + }) pcm.start() expect(peer.state).toEqual({ @@ -259,10 +273,10 @@ describe('maintainOneConnectionPerPeer', () => { }) describe('attemptToEstablishWebRtcConnectionsToWSPeers', () => { - it('Should attempt to establish a WebRTC connection if we have a WebSocket connection', () => { + it('should attempt to establish a WebRTC connection if we have a WebSocket connection', () => { const pm = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), ) const peer = pm.connectToWebSocketAddress({ host: 'testuri', @@ -290,7 +304,9 @@ describe('attemptToEstablishWebRtcConnectionsToWSPeers', () => { }, }) - const pcm = new PeerConnectionManager(pm, createRootLogger(), { maxPeers: 50 }) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { + maxPeers: DEFAULT_MAX_PEERS, + }) pcm.start() expect(peer.state).toEqual({ @@ -303,3 +319,135 @@ describe('attemptToEstablishWebRtcConnectionsToWSPeers', () => { }) }) }) + +describe('attemptNewConnections', () => { + it('should be called by the event loop', () => { + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { + maxPeers: DEFAULT_MAX_PEERS, + }) + const attemptNewConnectionsSpy = jest.spyOn(pcm as any, 'attemptNewConnections') + + expect(attemptNewConnectionsSpy).toHaveBeenCalledTimes(0) + + pcm['eventLoop']() + + expect(attemptNewConnectionsSpy).toHaveBeenCalledTimes(1) + }) + + it('should only run if we can create new connections', () => { + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { + maxPeers: DEFAULT_MAX_PEERS, + }) + jest + .spyOn(pm, 'canCreateNewConnections') + .mockImplementationOnce(() => false) + .mockImplementationOnce(() => true) + const shufflePeerCandidatesSpy = jest.spyOn(pm.peerCandidates, 'shufflePeerCandidates') + + expect(shufflePeerCandidatesSpy).toHaveBeenCalledTimes(0) + + pcm['attemptNewConnections']() + + expect(shufflePeerCandidatesSpy).toHaveBeenCalledTimes(0) + + pcm['attemptNewConnections']() + + expect(shufflePeerCandidatesSpy).toHaveBeenCalledTimes(1) + }) +}) + +describe('maintainMaxPeerCount', () => { + it('should be called by the event loop', () => { + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { + maxPeers: DEFAULT_MAX_PEERS, + }) + const maintainMaxPeerCountSpy = jest.spyOn(pcm as any, 'maintainMaxPeerCount') + + expect(maintainMaxPeerCountSpy).toHaveBeenCalledTimes(0) + + pcm['eventLoop']() + + expect(maintainMaxPeerCountSpy).toHaveBeenCalledTimes(1) + }) + + it('should not disconnect the newest peers', () => { + const maxPeers = 5 + + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { maxPeers }) + + for (let i = 0; i < maxPeers; i++) { + getConnectedPeer(pm) + } + + // Add and disconnect many times to ensure we don't disconnect the latest + // peer while accounting for randomness + for (let i = 0; i < 100; i++) { + const latestPeer = getConnectedPeer(pm) + pcm['maintainMaxPeerCount']() + expect(latestPeer.connection.state.type).toEqual('CONNECTED') + } + }) + + describe('when keepOpenPeerSlot is false', () => { + it('should only disconnect a peer if it is above maxPeers', () => { + const maxPeers = 5 + + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { maxPeers }) + const disconnectSpy = jest.spyOn(pm, 'disconnect') + + expect(pcm.keepOpenPeerSlot).toEqual(false) + + for (let i = 0; i < maxPeers; i++) { + getConnectedPeer(pm) + } + + expect(disconnectSpy).toHaveBeenCalledTimes(0) + + pcm['maintainMaxPeerCount']() + + expect(disconnectSpy).toHaveBeenCalledTimes(0) + + getConnectedPeer(pm) + + pcm['maintainMaxPeerCount']() + + expect(disconnectSpy).toHaveBeenCalledTimes(1) + }) + }) + + describe('when keepOpenPeerSlot is true', () => { + it('should only disconnect a peer if it is at maxPeers', () => { + const maxPeers = 5 + + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) + const pcm = new PeerConnectionManager(pm, createRootLogger(), { + maxPeers, + keepOpenPeerSlot: true, + }) + const disconnectSpy = jest.spyOn(pm, 'disconnect') + + expect(pcm.keepOpenPeerSlot).toEqual(true) + + for (let i = 0; i < maxPeers - 1; i++) { + getConnectedPeer(pm) + } + + expect(disconnectSpy).toHaveBeenCalledTimes(0) + + pcm['maintainMaxPeerCount']() + + expect(disconnectSpy).toHaveBeenCalledTimes(0) + + getConnectedPeer(pm) + + pcm['maintainMaxPeerCount']() + + expect(disconnectSpy).toHaveBeenCalledTimes(1) + }) + }) +}) diff --git a/ironfish/src/network/peers/peerConnectionManager.ts b/ironfish/src/network/peers/peerConnectionManager.ts index 0145f86676..88fa9c9ccc 100644 --- a/ironfish/src/network/peers/peerConnectionManager.ts +++ b/ironfish/src/network/peers/peerConnectionManager.ts @@ -3,8 +3,10 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import type { Peer } from './peer' +import { DEFAULT_KEEP_OPEN_PEER_SLOT } from '../../fileStores/config' import { createRootLogger, Logger } from '../../logger' -import { SetTimeoutToken } from '../../utils' +import { ArrayUtils, SetTimeoutToken } from '../../utils' +import { DisconnectingReason } from '../messages/disconnecting' import { PeerManager } from './peerManager' /** @@ -30,6 +32,7 @@ export class PeerConnectionManager { private readonly logger: Logger private readonly peerManager: PeerManager readonly maxPeers: number + readonly keepOpenPeerSlot: boolean private started = false private eventLoopTimer?: SetTimeoutToken @@ -39,11 +42,13 @@ export class PeerConnectionManager { logger: Logger = createRootLogger(), options: { maxPeers: number + keepOpenPeerSlot?: boolean }, ) { this.peerManager = peerManager this.logger = logger.withTag('peerconnectionmanager') this.maxPeers = options.maxPeers + this.keepOpenPeerSlot = options.keepOpenPeerSlot ?? DEFAULT_KEEP_OPEN_PEER_SLOT } /** @@ -82,6 +87,21 @@ export class PeerConnectionManager { } } + this.attemptNewConnections() + this.maintainMaxPeerCount() + + this.eventLoopTimer = setTimeout(() => this.eventLoop(), EVENT_LOOP_MS) + } + + /** + * Attempts to connect to a number of peer candidates if it is eligible to + * create new connections + */ + private attemptNewConnections(): void { + if (!this.peerManager.canCreateNewConnections()) { + return + } + let connectAttempts = 0 for (const peerCandidateIdentity of this.peerManager.peerCandidates.shufflePeerCandidates()) { @@ -89,49 +109,70 @@ export class PeerConnectionManager { break } - if (!this.peerManager.identifiedPeers.has(peerCandidateIdentity)) { - const val = this.peerManager.peerCandidates.get(peerCandidateIdentity) - if (val) { - const peer = this.peerManager.getOrCreatePeer(peerCandidateIdentity) - peer.name = val.name ?? null - peer.setWebSocketAddress(val.address, val.port) - if (this.connectToEligiblePeers(peer)) { - connectAttempts++ - } else { - this.peerManager.tryDisposePeer(peer) - } - } + if (this.peerManager.identifiedPeers.has(peerCandidateIdentity)) { + continue } - } - if (connectAttempts < CONNECT_ATTEMPTS_MAX && this.peerManager.canCreateNewConnections()) { - const peer = this.peerManager.createRandomDisconnectedPeer() - if (peer && this.connectToEligiblePeers(peer)) { + const peerCandidate = this.peerManager.peerCandidates.get(peerCandidateIdentity) + if (!peerCandidate) { + continue + } + + const peer = this.peerManager.getOrCreatePeer(peerCandidateIdentity) + + peer.name = peerCandidate.name + peer.wsAddress = peerCandidate.wsAddress + + if (this.connectToEligiblePeers(peer)) { connectAttempts++ - } else if (peer) { + } else { this.peerManager.tryDisposePeer(peer) } } + } - this.eventLoopTimer = setTimeout(() => this.eventLoop(), EVENT_LOOP_MS) + /** + * Maintain a maximum number of peers by disconnecting from peers if we are + * connected to more than we should be + */ + private maintainMaxPeerCount(): void { + const connectedPeers = this.peerManager.getConnectedPeers() + const maxPeerCount = this.maxPeers - Number(this.keepOpenPeerSlot) + + if (connectedPeers.length <= maxPeerCount) { + return + } + + // Choose a random peer, but exclude the newest connections as they are + // least likely to have other peers + const sampleEnd = Math.floor(connectedPeers.length * 0.8) + const peersSlice = connectedPeers.slice(0, sampleEnd) + const peer = ArrayUtils.sample(peersSlice) + if (!peer) { + return + } + + this.logger.debug( + `Disconnecting from peer ${peer.displayName} since we are above our peer limit`, + ) + + this.peerManager.disconnect( + peer, + DisconnectingReason.Congested, + this.peerManager.getCongestedDisconnectUntilTimestamp(), + ) } private connectToEligiblePeers(peer: Peer): boolean { - if (peer.state.type !== 'CONNECTED') { - if (this.peerManager.canConnectToWebRTC(peer)) { - if (this.peerManager.connectToWebRTC(peer)) { - return true - } - } + if (peer.state.type === 'CONNECTED') { + return false + } - if (this.peerManager.canConnectToWebSocket(peer)) { - if (this.peerManager.connectToWebSocket(peer)) { - return true - } - } + if (this.peerManager.connectToWebRTC(peer)) { + return true } - return false + return this.peerManager.connectToWebSocket(peer) } /** @@ -158,8 +199,7 @@ export class PeerConnectionManager { private attemptToEstablishWebRtcConnectionsToWSPeer(peer: Peer): boolean { if ( peer.state.type === 'CONNECTED' && - peer.state.connections.webSocket?.state.type === 'CONNECTED' && - this.peerManager.canConnectToWebRTC(peer) + peer.state.connections.webSocket?.state.type === 'CONNECTED' ) { return this.peerManager.connectToWebRTC(peer) } diff --git a/ironfish/src/network/peers/peerManager.test.ts b/ironfish/src/network/peers/peerManager.test.ts index cb94db267e..c49077c649 100644 --- a/ironfish/src/network/peers/peerManager.test.ts +++ b/ironfish/src/network/peers/peerManager.test.ts @@ -18,15 +18,16 @@ import { getConnectingPeer, getSignalingWebRtcPeer, getWaitingForIdentityPeer, - mockHostsStore, mockIdentity, mockLocalPeer, + mockPeerStore, mockPrivateIdentity, webRtcCanInitiateIdentity, webRtcCannotInitiateIdentity, webRtcLocalIdentity, } from '../testUtilities' import { NetworkMessageType } from '../types' +import { formatWebSocketAddress } from '../utils' import { VERSION_PROTOCOL, VERSION_PROTOCOL_MIN } from '../version' import { ConnectionDirection, @@ -48,7 +49,7 @@ describe('PeerManager', () => { it('should handle duplicate connections from the same peer', () => { const localPeer = mockLocalPeer({ identity: webRtcLocalIdentity() }) - const peers = new PeerManager(localPeer, mockHostsStore()) + const peers = new PeerManager(localPeer, mockPeerStore()) const { peer: peerOut, connection: connectionOut } = getWaitingForIdentityPeer( peers, @@ -161,7 +162,7 @@ describe('PeerManager', () => { describe('Should remove peer candidates without identity when identity is found', () => { it('When peer becomes CONNECTED', () => { - const peers = new PeerManager(mockLocalPeer(), mockHostsStore()) + const peers = new PeerManager(mockLocalPeer(), mockPeerStore()) const peerIdentity = mockIdentity('peer') const peer = peers.connectToWebSocketAddress({ @@ -171,7 +172,9 @@ describe('PeerManager', () => { Assert.isNotUndefined(peer) - expect(peers.peerCandidates.get(peer.getWebSocketAddress())).not.toBeUndefined() + const address = formatWebSocketAddress(peer.wsAddress) + const candidate = address ? peers.peerCandidates.get(address) : undefined + expect(candidate).not.toBeUndefined() if (peer.state.type === 'DISCONNECTED') { throw new Error('Peer should not be disconnected') } @@ -187,7 +190,7 @@ describe('PeerManager', () => { }) it('When receiving a peer list with a matching address', () => { - const peers = new PeerManager(mockLocalPeer(), mockHostsStore()) + const peers = new PeerManager(mockLocalPeer(), mockPeerStore()) // Create a websocket peer const peerIdentity = mockIdentity('peer') @@ -198,7 +201,9 @@ describe('PeerManager', () => { }) Assert.isNotUndefined(peer) - expect(peers.peerCandidates.get(peer.getWebSocketAddress())).not.toBeUndefined() + const address = formatWebSocketAddress(peer.wsAddress) + const candidate = address ? peers.peerCandidates.get(address) : undefined + expect(candidate).not.toBeUndefined() peer.close() // Create a connected peer @@ -225,7 +230,7 @@ describe('PeerManager', () => { it('Sends identity when a connection is successfully made', () => { const localIdentity = mockPrivateIdentity('local') - const pm = new PeerManager(mockLocalPeer({ identity: localIdentity }), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer({ identity: localIdentity }), mockPeerStore()) const { peer, connection } = getConnectingPeer(pm) @@ -253,7 +258,7 @@ describe('PeerManager', () => { it('should disconnect connection on CONNECTED', () => { const localPeer = mockLocalPeer() - const peers = new PeerManager(localPeer, mockHostsStore()) + const peers = new PeerManager(localPeer, mockPeerStore()) const { peer: peer1, connection: connection1 } = getConnectingPeer(peers) const { peer: peer2, connection: connection2 } = getWaitingForIdentityPeer(peers) @@ -287,7 +292,7 @@ describe('PeerManager', () => { describe('banning', () => { it('Should add the peer identity to PeerManager.banned when banPeer is called', () => { const localPeer = mockLocalPeer() - const peers = new PeerManager(localPeer, mockHostsStore()) + const peers = new PeerManager(localPeer, mockPeerStore()) const { peer } = getConnectedPeer(peers) @@ -298,7 +303,7 @@ describe('PeerManager', () => { it('Should add the peer identity to PeerManager.banned when punished with BAN_SCORE.MAX', () => { const localPeer = mockLocalPeer() - const peers = new PeerManager(localPeer, mockHostsStore()) + const peers = new PeerManager(localPeer, mockPeerStore()) const { peer } = getConnectedPeer(peers) @@ -310,7 +315,7 @@ describe('PeerManager', () => { describe('connect', () => { it('Creates a peer and adds it to unidentifiedConnections', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) expect(pm.peers.length).toBe(0) const peer = pm.connectToWebSocketAddress({ @@ -340,7 +345,7 @@ describe('PeerManager', () => { it('Encrypts signaling data', async () => { const brokeringIdentity = mockIdentity('brokering') - const pm = new PeerManager(localPeer, mockHostsStore()) + const pm = new PeerManager(localPeer, mockPeerStore()) const { connection, brokeringPeer } = getSignalingWebRtcPeer( pm, brokeringIdentity, @@ -371,7 +376,7 @@ describe('PeerManager', () => { it('Attempts to establish a WebSocket connection to a peer with a webSocketAddress', () => { const peer1Identity = mockIdentity('peer1') const peer2Identity = mockIdentity('peer2') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) // Create the peers getConnectedPeer(pm, peer1Identity) @@ -379,18 +384,16 @@ describe('PeerManager', () => { // Link the peers pm.peerCandidates.addFromPeerList(peer2Identity, { - address: null, - port: null, - identity: Buffer.from(peer1Identity, 'base64'), + wsAddress: null, + identity: peer1Identity, }) pm.peerCandidates.addFromPeerList(peer1Identity, { - address: null, - port: null, - identity: Buffer.from(peer2Identity, 'base64'), + wsAddress: null, + identity: peer2Identity, }) // Verify peer2 is not connected - peer2.setWebSocketAddress('testuri', 9033) + peer2.wsAddress = { host: 'testuri', port: 9033 } expect(peer2.state).toEqual({ type: 'DISCONNECTED', identity: peer2Identity, @@ -408,7 +411,7 @@ describe('PeerManager', () => { it('Attempts to establish a WebRTC connection through brokering peer', () => { const peers = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), ) // Create the peers @@ -418,14 +421,12 @@ describe('PeerManager', () => { // Link the peers peers.peerCandidates.addFromPeerList(targetPeer.getIdentityOrThrow(), { - address: null, - port: null, - identity: Buffer.from(brokeringPeer.getIdentityOrThrow(), 'base64'), + wsAddress: null, + identity: brokeringPeer.getIdentityOrThrow(), }) peers.peerCandidates.addFromPeerList(brokeringPeer.getIdentityOrThrow(), { - address: null, - port: null, - identity: Buffer.from(targetPeer.getIdentityOrThrow(), 'base64'), + wsAddress: null, + identity: targetPeer.getIdentityOrThrow(), }) peers.connectToWebRTC(targetPeer) @@ -437,7 +438,7 @@ describe('PeerManager', () => { }) it('Can establish a WebRTC connection to a peer using an existing WebSocket connection to the same peer', async () => { - const pm = new PeerManager(localPeer, mockHostsStore()) + const pm = new PeerManager(localPeer, mockPeerStore()) const { peer, connection } = getConnectedPeer(pm, webRtcCanInitiateIdentity()) @@ -489,7 +490,7 @@ describe('PeerManager', () => { it('Attempts to request WebRTC signaling through brokering peer', () => { const peers = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), ) // Create the peer to broker the connection through @@ -503,14 +504,12 @@ describe('PeerManager', () => { // Link the peers peers.peerCandidates.addFromPeerList(targetPeer.getIdentityOrThrow(), { - address: null, - port: null, - identity: Buffer.from(brokeringPeer.getIdentityOrThrow(), 'base64'), + wsAddress: null, + identity: brokeringPeer.getIdentityOrThrow(), }) peers.peerCandidates.addFromPeerList(brokeringPeer.getIdentityOrThrow(), { - address: null, - port: null, - identity: Buffer.from(targetPeer.getIdentityOrThrow(), 'base64'), + wsAddress: null, + identity: targetPeer.getIdentityOrThrow(), }) peers.connectToWebRTC(targetPeer) @@ -533,7 +532,7 @@ describe('PeerManager', () => { }) it('Does not create a connection if Peer has disconnectUntil set', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer } = getConnectedPeer(pm, 'peer') peer.close() @@ -557,7 +556,7 @@ describe('PeerManager', () => { }) it('Sets disconnectUntil to null if current time is after disconnectUntil', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer } = getConnectedPeer(pm, 'peer') peer.close() @@ -577,7 +576,7 @@ describe('PeerManager', () => { }) it('Does not create a connection to a disconnected Peer above targetPeers', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore(), undefined, undefined, 50, 1) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore(), undefined, undefined, 50, 1) // Add one connected peer getConnectedPeer(pm, 'peer1') @@ -585,7 +584,7 @@ describe('PeerManager', () => { // Add a second peer that's disconnected const peer2Identity = mockIdentity('peer2') const peer2 = pm.getOrCreatePeer(peer2Identity) - peer2.setWebSocketAddress('testuri.com', 9033) + peer2.wsAddress = { host: 'testuri.com', port: 9033 } // Mock the logger pm['logger'].mockTypes(() => jest.fn()) @@ -603,7 +602,7 @@ describe('PeerManager', () => { describe('create peers', () => { it('Returns the same peer when calling createPeer twice with the same identity', () => { const peerIdentity = mockIdentity('peer') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const peer1 = pm.getOrCreatePeer(peerIdentity) const peer1Again = pm.getOrCreatePeer(peerIdentity) @@ -616,7 +615,7 @@ describe('PeerManager', () => { it('Merges peers when an unidentified peer connects with the same identity as an identified webrtc peer', () => { const brokerIdentity = mockIdentity('brokering') const peerIdentity = webRtcCanInitiateIdentity() - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer } = getSignalingWebRtcPeer(pm, brokerIdentity, peerIdentity) @@ -682,7 +681,7 @@ describe('PeerManager', () => { const peerIdentity = webRtcCanInitiateIdentity() const pm = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), ) const { peer, connection } = getConnectedPeer(pm, peerIdentity) @@ -740,7 +739,7 @@ describe('PeerManager', () => { }) it('Emits onConnectedPeersChanged when a peer enters CONNECTED or DISCONNECTED', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const onConnectedPeersChangedMock = jest.fn() pm.onConnectedPeersChanged.on(onConnectedPeersChangedMock) @@ -761,7 +760,7 @@ describe('PeerManager', () => { describe('Message: Identity', () => { it('Adds the peer to identifiedPeers after receiving a valid identity message', () => { const other = mockIdentity('other') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) expect(pm.identifiedPeers.size).toBe(0) expect(pm.peers.length).toBe(0) @@ -797,7 +796,7 @@ describe('PeerManager', () => { it('Closes the connection when versions do not match', () => { const other = mockPrivateIdentity('other') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer, connection } = getWaitingForIdentityPeer(pm) @@ -824,7 +823,7 @@ describe('PeerManager', () => { }) it('Closes the connection when an identity message with an invalid public key is sent', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer, connection } = getWaitingForIdentityPeer(pm) @@ -851,7 +850,7 @@ describe('PeerManager', () => { it('Closes the connection if an unidentified peer returns the local identity', () => { const localIdentity = mockPrivateIdentity('local') - const pm = new PeerManager(mockLocalPeer({ identity: localIdentity }), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer({ identity: localIdentity }), mockPeerStore()) expect(pm.identifiedPeers.size).toBe(0) expect(pm.peers.length).toBe(0) @@ -883,7 +882,7 @@ describe('PeerManager', () => { it('Closes the connection if an identified peer returns the local identity', () => { const localIdentity = mockPrivateIdentity('local') const peerIdentity = mockIdentity('peer1') - const pm = new PeerManager(mockLocalPeer({ identity: localIdentity }), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer({ identity: localIdentity }), mockPeerStore()) const { peer: peer1, connection } = getWaitingForIdentityPeer( pm, @@ -926,7 +925,7 @@ describe('PeerManager', () => { it('Moves the connection to another peer if it returns a different identity', () => { const peer1Identity = mockIdentity('peer1') const peer2Identity = mockIdentity('peer2') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer: peer1, connection } = getWaitingForIdentityPeer( pm, @@ -970,7 +969,7 @@ describe('PeerManager', () => { it('Closes the connection if the peer has disconnectUntil set', () => { const localIdentity = mockPrivateIdentity('local') const peerIdentity = mockIdentity('peer') - const pm = new PeerManager(mockLocalPeer({ identity: localIdentity }), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer({ identity: localIdentity }), mockPeerStore()) const { peer } = getConnectedPeer(pm, peerIdentity) peer.close() @@ -1018,7 +1017,7 @@ describe('PeerManager', () => { it('Closes the connection when network ids do not match', () => { const other = mockPrivateIdentity('other') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer, connection } = getWaitingForIdentityPeer(pm) @@ -1046,7 +1045,7 @@ describe('PeerManager', () => { it('Closes the connection when genesis block hashes do not match', () => { const other = mockPrivateIdentity('other') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer, connection } = getWaitingForIdentityPeer(pm) @@ -1076,7 +1075,7 @@ describe('PeerManager', () => { describe('Message: SignalRequest', () => { it('Forwards SignalRequest message intended for another peer', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer: destinationPeer } = getConnectedPeer(pm, webRtcCannotInitiateIdentity()) const { connection: sourcePeerConnection, peer: sourcePeer } = getConnectedPeer( @@ -1102,7 +1101,7 @@ describe('PeerManager', () => { }) it('Drops SignalRequest message originating from an different peer than sourceIdentity', () => { - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer: peer1 } = getConnectedPeer(pm) const { peer: peer2 } = getConnectedPeer(pm) @@ -1124,7 +1123,7 @@ describe('PeerManager', () => { it('reject SignalRequest when source peer should initiate', () => { const pm = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), ) const initWebRtcConnectionMock = jest.fn() pm['initWebRtcConnection'] = initWebRtcConnectionMock @@ -1148,7 +1147,7 @@ describe('PeerManager', () => { it('Initiates webRTC connection when request intended for local peer', () => { const pm = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), ) const initWebRtcConnectionMock = jest.fn() pm['initWebRtcConnection'] = initWebRtcConnectionMock @@ -1168,13 +1167,13 @@ describe('PeerManager', () => { peer.onMessage.emit(message, connection) expect(initWebRtcConnectionMock).toHaveBeenCalledTimes(1) expect(initWebRtcConnectionMock).toHaveBeenCalledWith(peer, true) - expect(pm['getBrokeringPeer'](peer)).toEqual(peer) + expect(pm['getBrokeringPeers'](peer)[0]).toEqual(peer) }) it('Sends a disconnect message if we are at max peers', () => { const pm = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), undefined, undefined, 1, @@ -1204,7 +1203,7 @@ describe('PeerManager', () => { it('Does not send a disconnect message if we are at max peers but we have an existing connection to the peer', () => { const pm = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), undefined, undefined, 2, @@ -1230,7 +1229,7 @@ describe('PeerManager', () => { it('Forwards signaling messages intended for another peer', () => { const peer1Identity = mockIdentity('peer1') const peer2Identity = mockIdentity('peer2') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { connection: peer1Connection, peer: peer1 } = getConnectedPeer(pm, peer1Identity) const { peer: peer2 } = getConnectedPeer(pm, peer2Identity) @@ -1251,7 +1250,7 @@ describe('PeerManager', () => { const peer1Identity = mockIdentity('peer1') const peer2Identity = mockIdentity('peer2') const peer3Identity = mockIdentity('peer3') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer: peer1 } = getConnectedPeer(pm, peer1Identity) const { peer: peer2 } = getConnectedPeer(pm, peer2Identity) @@ -1274,7 +1273,7 @@ describe('PeerManager', () => { it('Sends a disconnect message if we are at max peers', () => { const pm = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), undefined, undefined, 1, @@ -1306,7 +1305,7 @@ describe('PeerManager', () => { it('Does not send a disconnect message if we are at max peers but we have an existing connection to the peer', () => { const pm = new PeerManager( mockLocalPeer({ identity: webRtcLocalIdentity() }), - mockHostsStore(), + mockPeerStore(), undefined, undefined, 2, @@ -1343,7 +1342,7 @@ describe('PeerManager', () => { }), }) - const pm = new PeerManager(localPeer, mockHostsStore()) + const pm = new PeerManager(localPeer, mockPeerStore()) const { connection, brokeringConnection, brokeringPeer } = getSignalingWebRtcPeer( pm, @@ -1378,7 +1377,7 @@ describe('PeerManager', () => { jest.spyOn(localPeer, 'unboxMessage').mockReturnValueOnce({ message: null }) - const pm = new PeerManager(localPeer, mockHostsStore()) + const pm = new PeerManager(localPeer, mockPeerStore()) const { connection, brokeringConnection, brokeringPeer } = getSignalingWebRtcPeer( pm, brokeringPeerIdentity, @@ -1407,7 +1406,7 @@ describe('PeerManager', () => { // Return something that's not JSON from the unboxMessage function jest.spyOn(localPeer, 'unboxMessage').mockReturnValueOnce({ message: 'test' }) - const pm = new PeerManager(localPeer, mockHostsStore()) + const pm = new PeerManager(localPeer, mockPeerStore()) const { connection, brokeringConnection, brokeringPeer } = getSignalingWebRtcPeer( pm, brokeringPeerIdentity, @@ -1435,7 +1434,7 @@ describe('PeerManager', () => { it('Sends a peer list message in response', () => { const peerIdentity = mockIdentity('peer') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { connection, peer } = getConnectedPeer(pm, peerIdentity) expect(pm.peers.length).toBe(1) @@ -1462,7 +1461,7 @@ describe('PeerManager', () => { const localIdentity = mockPrivateIdentity('local') const peerIdentity = mockIdentity('peer') - const pm = new PeerManager(mockLocalPeer({ identity: localIdentity }), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer({ identity: localIdentity }), mockPeerStore()) const { connection, peer } = getConnectedPeer(pm, peerIdentity) @@ -1481,7 +1480,7 @@ describe('PeerManager', () => { const peerIdentity = mockIdentity('peer') const newPeerIdentity = mockIdentity('new') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { connection, peer } = getConnectedPeer(pm, peerIdentity) @@ -1512,7 +1511,7 @@ describe('PeerManager', () => { const peer1Identity = mockIdentity('peer1') const peer2Identity = mockIdentity('peer2') const peer3Identity = mockIdentity('peer3') - const pm = new PeerManager(mockLocalPeer(), mockHostsStore()) + const pm = new PeerManager(mockLocalPeer(), mockPeerStore()) const { peer: peer1 } = getConnectedPeer(pm, peer1Identity) const { peer: peer2 } = getConnectedPeer(pm, peer2Identity) @@ -1534,7 +1533,7 @@ describe('PeerManager', () => { it('Should set peerRequestedDisconnectUntil on CONNECTED Peer when sender is not sourceIdentity', () => { const localPeer = mockLocalPeer({ identity: webRtcLocalIdentity() }) - const pm = new PeerManager(localPeer, mockHostsStore()) + const pm = new PeerManager(localPeer, mockPeerStore()) const { peer, brokeringConnection, brokeringPeer } = getSignalingWebRtcPeer( pm, @@ -1563,7 +1562,7 @@ describe('PeerManager', () => { it('Should set peerRequestedDisconnectUntil on CONNECTED Peer when sender is sourceIdentity', () => { const localPeer = mockLocalPeer() - const pm = new PeerManager(localPeer, mockHostsStore()) + const pm = new PeerManager(localPeer, mockPeerStore()) const peerIdentity = mockIdentity('peer') const { peer, connection } = getConnectedPeer(pm, peerIdentity) diff --git a/ironfish/src/network/peers/peerManager.ts b/ironfish/src/network/peers/peerManager.ts index 59a34ed8d4..db329e4f11 100644 --- a/ironfish/src/network/peers/peerManager.ts +++ b/ironfish/src/network/peers/peerManager.ts @@ -4,7 +4,8 @@ import type { SignalData } from './connections/webRtcConnection' import { Event } from '../../event' -import { HostsStore } from '../../fileStores/hosts' +import { DEFAULT_MAX_PEERS, DEFAULT_TARGET_PEERS } from '../../fileStores' +import { PeerStore } from '../../fileStores/peerStore' import { createRootLogger, Logger } from '../../logger' import { MetricsMonitor } from '../../metrics' import { ArrayUtils, SetIntervalToken } from '../../utils' @@ -16,15 +17,14 @@ import { } from '../identity' import { DisconnectingMessage, DisconnectingReason } from '../messages/disconnecting' import { IdentifyMessage } from '../messages/identify' -import { displayNetworkMessageType, NetworkMessage } from '../messages/networkMessage' +import { NetworkMessage } from '../messages/networkMessage' import { PeerListMessage } from '../messages/peerList' import { PeerListRequestMessage } from '../messages/peerListRequest' import { SignalMessage } from '../messages/signal' import { SignalRequestMessage } from '../messages/signalRequest' import { IsomorphicWebSocket } from '../types' -import { parseUrl } from '../utils' +import { formatWebSocketAddress, WebSocketAddress } from '../utils' import { VERSION_PROTOCOL_MIN } from '../version' -import { AddressManager } from './addressManager' import { ConnectionRetry } from './connectionRetry' import { Connection, @@ -37,6 +37,7 @@ import { import { LocalPeer } from './localPeer' import { Peer } from './peer' import { PeerCandidates } from './peerCandidates' +import { PeerStoreManager } from './peerStoreManager' /** * The maximum number of attempts the client will make to find a brokering peer @@ -73,7 +74,7 @@ export class PeerManager { peerCandidates: PeerCandidates = new PeerCandidates() - addressManager: AddressManager + peerStoreManager: PeerStoreManager /** * setInterval handle for requestPeerList, which sends out peer lists and @@ -142,11 +143,11 @@ export class PeerManager { constructor( localPeer: LocalPeer, - hostsStore: HostsStore, + peerStore: PeerStore, logger: Logger = createRootLogger(), metrics?: MetricsMonitor, - maxPeers = 10000, - targetPeers = 50, + maxPeers = DEFAULT_MAX_PEERS, + targetPeers = DEFAULT_TARGET_PEERS, logPeerMessages = false, stunServers: string[] = [], ) { @@ -157,7 +158,26 @@ export class PeerManager { this.maxPeers = maxPeers this.targetPeers = Math.min(targetPeers, maxPeers) this.logPeerMessages = logPeerMessages - this.addressManager = new AddressManager(hostsStore, this) + this.peerStoreManager = new PeerStoreManager(peerStore) + } + + start(): void { + this.requestPeerListHandle = setInterval(() => this.requestPeerList(), 60000) + this.disposePeersHandle = setInterval(() => this.disposePeers(), 2000) + } + + /** + * Call when shutting down the PeerManager to clean up + * outstanding connections. + */ + async stop(): Promise { + this.requestPeerListHandle && clearInterval(this.requestPeerListHandle) + this.disposePeersHandle && clearInterval(this.disposePeersHandle) + this.savePeerAddressesHandle && clearInterval(this.savePeerAddressesHandle) + await this.peerStoreManager.save() + for (const peer of this.peers) { + this.disconnect(peer, DisconnectingReason.ShuttingDown, 0) + } } /** @@ -171,7 +191,7 @@ export class PeerManager { forceConnect?: boolean }): Peer | undefined { const peer = this.getOrCreatePeer(null) - peer.setWebSocketAddress(options.host, options.port) + peer.wsAddress = { host: options.host, port: options.port } peer.isWhitelisted = !!options.whitelist this.peerCandidates.addFromPeer(peer) @@ -189,9 +209,10 @@ export class PeerManager { return false } - const alternateIdentity = peer.state.identity ?? peer.getWebSocketAddress() + const address = formatWebSocketAddress(peer.wsAddress) + const alternateIdentity = peer.state.identity ?? address - const candidate = this.peerCandidates.get(alternateIdentity) + const candidate = alternateIdentity ? this.peerCandidates.get(alternateIdentity) : undefined if (candidate) { // If we're trying to connect to the peer, we don't care about limiting the peer's connections to us candidate.localRequestedDisconnectUntil = null @@ -200,16 +221,8 @@ export class PeerManager { candidate.peerRequestedDisconnectUntil = null } - const address = peer.getWebSocketAddress() if (!address) { - if (peer.state.identity !== null) { - this.getConnectionRetry( - peer.state.identity, - ConnectionType.WebSocket, - ConnectionDirection.Outbound, - )?.failedConnection() - } - + candidate?.websocketRetry.failedConnection() return false } @@ -217,8 +230,7 @@ export class PeerManager { peer, new this.localPeer.webSocket(address), ConnectionDirection.Outbound, - peer.address, - peer.port, + peer.wsAddress, ) return true @@ -246,9 +258,9 @@ export class PeerManager { } // Make sure we can find at least one brokering peer before we create the connection - const brokeringPeer = this.getBrokeringPeer(peer) + const hasBrokeringPeers = this.hasBrokeringPeers(peer) - if (brokeringPeer === null) { + if (!hasBrokeringPeers) { this.logger.debug( `Attempted to establish a WebRTC connection to ${peer.displayName}, but couldn't find a peer to broker the connection.`, ) @@ -274,29 +286,26 @@ export class PeerManager { const connection = this.initWebRtcConnection(peer, false) connection.setState({ type: 'REQUEST_SIGNALING' }) + + const brokeringPeers = this.getBrokeringPeers(peer) + + if (brokeringPeers.length === 0) { + return false + } + + const brokeringPeer = brokeringPeers[0] brokeringPeer.send(signal) + return true } createPeerFromInboundWebSocketConnection( webSocket: IsomorphicWebSocket, - address: string | null, + wsAddress: WebSocketAddress | null, ): Peer { const peer = this.getOrCreatePeer(null) - let hostname: string | null = null - let port: number | null = null - - if (address) { - const url = parseUrl(address) - - if (url.hostname) { - hostname = url.hostname - port = url.port - } - } - - this.initWebSocketConnection(peer, webSocket, ConnectionDirection.Inbound, hostname, port) + this.initWebSocketConnection(peer, webSocket, ConnectionDirection.Inbound, wsAddress) return peer } @@ -308,12 +317,11 @@ export class PeerManager { peer: Peer, ws: IsomorphicWebSocket, direction: ConnectionDirection, - hostname: string | null, - port: number | null, + wsAddress: WebSocketAddress | null, ): WebSocketConnection { const connection = new WebSocketConnection(ws, direction, this.logger, this.metrics, { - hostname: hostname || undefined, - port: port || undefined, + hostname: wsAddress?.host, + port: wsAddress?.port || undefined, }) this.initConnectionHandlers(peer, connection) @@ -340,7 +348,10 @@ export class PeerManager { // Ensure one or more brokering peers exists before encrypting the signaling message, // but discard the brokering peer in case its state changes during encryption - if (this.getBrokeringPeer(peer) === null) { + + const hasBrokeringPeers = this.hasBrokeringPeers(peer) + + if (!hasBrokeringPeers) { errorMessage = 'Cannot establish a WebRTC connection without a brokering peer' } @@ -356,8 +367,10 @@ export class PeerManager { peer.getIdentityOrThrow(), ) - for (let attempts = 0; attempts < MAX_WEBRTC_BROKERING_ATTEMPTS; attempts++) { - const brokeringPeer = this.getBrokeringPeer(peer) + const brokeringPeers = this.getBrokeringPeers(peer) + const limitedBrokeringPeers = brokeringPeers.slice(0, MAX_WEBRTC_BROKERING_ATTEMPTS) + + for (const brokeringPeer of limitedBrokeringPeers) { if (brokeringPeer === null) { const message = 'Cannot establish a WebRTC connection without a brokering peer' this.logger.debug(message) @@ -374,6 +387,7 @@ export class PeerManager { // If sending the message failed, try again (the brokeringPeer's state may have changed) const sendResult = brokeringPeer.send(signal) + if (sendResult !== null) { brokeringPeer.pushLoggedMessage( { @@ -456,13 +470,13 @@ export class PeerManager { canConnectToWebSocket(peer: Peer, forceConnect = false): boolean { const isBanned = this.isBanned(peer) - const alternateIdentity = peer.state.identity ?? peer.getWebSocketAddress() + const alternateIdentity = peer.state.identity ?? formatWebSocketAddress(peer.wsAddress) + const candidate = alternateIdentity ? this.peerCandidates.get(alternateIdentity) : undefined const canEstablishNewConnection = peer.state.type !== 'DISCONNECTED' || this.canCreateNewConnections() - const peerRequestedDisconnectUntil = - this.peerCandidates.get(alternateIdentity)?.peerRequestedDisconnectUntil ?? null + const peerRequestedDisconnectUntil = candidate?.peerRequestedDisconnectUntil ?? null const disconnectOk = peerRequestedDisconnectUntil === null || Date.now() >= peerRequestedDisconnectUntil @@ -470,12 +484,7 @@ export class PeerManager { const hasNoConnection = peer.state.type === 'DISCONNECTED' || peer.state.connections.webSocket === null - const retryOk = - this.getConnectionRetry( - alternateIdentity, - ConnectionType.WebSocket, - ConnectionDirection.Outbound, - )?.canConnect ?? true + const retryOk = candidate?.websocketRetry.canConnect ?? true if (forceConnect) { return disconnectOk && !isBanned @@ -487,7 +496,7 @@ export class PeerManager { disconnectOk && hasNoConnection && retryOk && - peer.address !== null + peer.wsAddress !== null ) } @@ -573,10 +582,6 @@ export class PeerManager { peer.close() } - getPeersWithConnection(): ReadonlyArray { - return this.peers.filter((p) => p.state.type !== 'DISCONNECTED') - } - getConnectedPeers(): ReadonlyArray { return [...this.identifiedPeers.values()].filter((p) => { return p.state.type === 'CONNECTED' @@ -588,54 +593,76 @@ export class PeerManager { * than the target amount of peers */ canCreateNewConnections(): boolean { - return this.getPeersWithConnection().length < this.targetPeers + return this.getConnectedPeers().length < this.targetPeers } /** * True if we should reject connections from disconnected Peers. */ shouldRejectDisconnectedPeers(): boolean { - return this.getPeersWithConnection().length >= this.maxPeers + return this.getConnectedPeers().length >= this.maxPeers + } + + private hasBrokeringPeers(peer: Peer): boolean { + if (peer.state.type === 'CONNECTED') { + return true + } + + if (peer.state.identity === null || !this.peerCandidates.has(peer.state.identity)) { + return false + } + + const peerCandidate = this.peerCandidates.get(peer.state.identity) + + if (!peerCandidate) { + return false + } + + for (const neighbor of peerCandidate.neighbors) { + const neighborPeer = this.identifiedPeers.get(neighbor) + + if (neighborPeer && neighborPeer.state.type === 'CONNECTED') { + return true + } + } + + return false } /** For a given peer, try to find a peer that's connected to that peer * including itself to broker a WebRTC connection to it * */ - private getBrokeringPeer(peer: Peer): Peer | null { + private getBrokeringPeers(peer: Peer): Peer[] { if (peer.state.type === 'CONNECTED') { // Use the existing connection to the peer to broker the connection - return peer + return [peer] } if (peer.state.identity === null) { // Cannot find a brokering peer of an unidentified peer - return null + return [] } - // Find another peer to broker the connection - const candidates = [] - // The peer candidate map tracks any brokering peer candidates - const val = this.peerCandidates.get(peer.state.identity) - if (!val) { - return null + const peerCandidate = this.peerCandidates.get(peer.state.identity) + if (!peerCandidate) { + return [] } - for (const neighbor of val.neighbors) { - const neighborPeer = this.identifiedPeers.get(neighbor) - if (!neighborPeer || neighborPeer.state.type !== 'CONNECTED') { - val.neighbors.delete(neighbor) - continue - } + // Find another peer to broker the connection + const candidates = [] - candidates.push(neighborPeer) - } + for (const neighbor of peerCandidate.neighbors) { + const neighborPeer = this.identifiedPeers.get(neighbor) - if (candidates.length === 0) { - return null + if (neighborPeer && neighborPeer.state.type === 'CONNECTED') { + candidates.push(neighborPeer) + } else { + peerCandidate.neighbors.delete(neighbor) + } } - return ArrayUtils.sampleOrThrow(candidates) + return ArrayUtils.shuffle(candidates) } /** @@ -686,18 +713,6 @@ export class PeerManager { return this.identifiedPeers.get(identity) || null } - /** - * Given an identity, fetch a Peer with that identity or throw an error - * @param identity A peer identity. - */ - getPeerOrThrow(identity: Identity): Peer { - const peer = this.identifiedPeers.get(identity) - if (peer) { - return peer - } - throw new Error(`No peer found with identity ${identity}`) - } - /** * If a null identity is passed, creates a new Peer. If an identity is passed, returns the Peer * if we already have one with that identity, else creates a new Peer with that identity. @@ -743,9 +758,11 @@ export class PeerManager { peer.onStateChanged.on(({ prevState }) => { if (prevState.type !== 'CONNECTED' && peer.state.type === 'CONNECTED') { + void this.peerStoreManager.addPeer(peer) this.peerCandidates.addFromPeer(peer) this.onConnect.emit(peer) this.onConnectedPeersChanged.emit() + peer.send(new PeerListRequestMessage()) } if (prevState.type === 'CONNECTED' && peer.state.type !== 'CONNECTED') { this.onDisconnect.emit(peer) @@ -756,14 +773,11 @@ export class PeerManager { } }) - peer.onStateChanged.on(({ prevState }) => { - if (prevState.type !== 'CONNECTED' && peer.state.type === 'CONNECTED') { - peer.send(new PeerListRequestMessage()) - } + peer.onBanned.on((reason) => { + void this.peerStoreManager.removePeer(peer) + this.banPeer(peer, reason) }) - peer.onBanned.on((reason) => this.banPeer(peer, reason)) - return peer } @@ -781,26 +795,6 @@ export class PeerManager { return !!peer.state.identity && this.banned.has(peer.state.identity) } - start(): void { - this.requestPeerListHandle = setInterval(() => this.requestPeerList(), 60000) - this.disposePeersHandle = setInterval(() => this.disposePeers(), 2000) - this.savePeerAddressesHandle = setInterval(() => void this.addressManager.save(), 60000) - } - - /** - * Call when shutting down the PeerManager to clean up - * outstanding connections. - */ - async stop(): Promise { - this.requestPeerListHandle && clearInterval(this.requestPeerListHandle) - this.disposePeersHandle && clearInterval(this.disposePeersHandle) - this.savePeerAddressesHandle && clearInterval(this.savePeerAddressesHandle) - await this.addressManager.save() - for (const peer of this.peers) { - this.disconnect(peer, DisconnectingReason.ShuttingDown, 0) - } - } - private requestPeerList() { const peerListRequest = new PeerListRequestMessage() @@ -809,30 +803,6 @@ export class PeerManager { } } - /** - * Gets a random disconnected peer address and returns a peer created from - * said address - */ - createRandomDisconnectedPeer(): Peer | null { - const connectedPeers = Array.from(this.identifiedPeers.values()).flatMap((peer) => { - if (peer.state.type !== 'DISCONNECTED' && peer.state.identity !== null) { - return peer.state.identity - } else { - return [] - } - }) - - const peerAddress = this.addressManager.getRandomDisconnectedPeerAddress(connectedPeers) - if (!peerAddress) { - return null - } - - const peer = this.getOrCreatePeer(peerAddress.identity) - peer.setWebSocketAddress(peerAddress.address, peerAddress.port) - peer.name = peerAddress.name || null - return peer - } - private disposePeers(): void { for (const p of this.peers) { this.tryDisposePeer(p) @@ -845,18 +815,18 @@ export class PeerManager { * @param peer The peer to evaluate */ tryDisposePeer(peer: Peer): boolean { - if (peer.state.type === 'DISCONNECTED') { - this.addressManager.removePeerAddress(peer) + if (peer.state.type !== 'DISCONNECTED') { + return false + } - peer.dispose() - if (peer.state.identity && this.identifiedPeers.get(peer.state.identity) === peer) { - this.identifiedPeers.delete(peer.state.identity) - } - this.peers = this.peers.filter((p) => p !== peer) + peer.dispose() - return true + if (peer.state.identity && this.identifiedPeers.get(peer.state.identity) === peer) { + this.identifiedPeers.delete(peer.state.identity) } - return false + this.peers = this.peers.filter((p) => p !== peer) + + return true } getConnectionRetry( @@ -870,13 +840,11 @@ export class PeerManager { const candidate = this.peerCandidates.get(identity) - if (type === ConnectionType.WebRtc) { - return candidate?.webRtcRetry ?? null - } else if (type === ConnectionType.WebSocket) { - return candidate?.websocketRetry ?? null + if (!candidate) { + return null } - return null + return type === ConnectionType.WebRtc ? candidate.webRtcRetry : candidate.websocketRetry } /** @@ -900,9 +868,7 @@ export class PeerManager { } else { if (peer.state.identity === null) { this.logger.debug( - `Closing connection to unidentified peer that sent an unexpected message: ${displayNetworkMessageType( - message.type, - )}`, + `Closing connection to unidentified peer that sent an unexpected message: ${message.displayType()}`, ) peer.close() return @@ -1013,67 +979,29 @@ export class PeerManager { this.logger.debug( `Disconnecting from ${ peer.displayName - } - Sent unexpected message ${displayNetworkMessageType( - message.type, - )} while waiting for identity`, + } - Sent unexpected message ${message.displayType()} while waiting for identity`, ) peer.close() return } - const identity = message.identity - const version = message.version - const agent = message.agent - const port = message.port - const name = message.name - const networkId = message.networkId - const genesisBlockHash = message.genesisBlockHash - - if (!isIdentity(identity)) { - this.logger.debug( - `Disconnecting from ${identity} - Identity does not match expected format`, - ) - this.getConnectionRetry( - identity, - connection.type, - connection.direction, - )?.failedConnection() - peer.close(new Error(`Identity ${identity} does not match expected format`)) - return - } - - if (version < VERSION_PROTOCOL_MIN) { - const error = `Peer version ${version} is not compatible with our minimum: ${VERSION_PROTOCOL_MIN}` - this.logger.debug(`Disconnecting from ${identity} - ${error}`) - - this.getConnectionRetry( - identity, - connection.type, - connection.direction, - )?.failedConnection() - peer.close(new Error(error)) - return - } - - if (networkId !== this.localPeer.networkId) { - const error = `Peer is on network ${networkId} while we are on network ${this.localPeer.networkId}` - this.logger.debug(`Disconnecting from ${identity} - ${error}`) - - this.getConnectionRetry( - identity, - connection.type, - connection.direction, - )?.failedConnection() - peer.close(new Error(error)) - return + let error: string | null = null + if (!isIdentity(message.identity)) { + error = `Identity ${message.identity} does not match expected format` + } else if (message.version < VERSION_PROTOCOL_MIN) { + error = `Peer version ${message.version} is not compatible with our minimum: ${VERSION_PROTOCOL_MIN}` + } else if (message.networkId !== this.localPeer.networkId) { + error = `Peer is on network ${message.networkId} while we are on network ${this.localPeer.networkId}` + } else if (!message.genesisBlockHash.equals(this.localPeer.chain.genesis.hash)) { + error = 'Peer is using a different genesis block' + } else if (message.name && message.name.length > 32) { + error = `Peer name length exceeds 32: ${message.name.length}` } - if (!genesisBlockHash.equals(this.localPeer.chain.genesis.hash)) { - const error = 'Peer is using a different genesis block' - this.logger.debug(`Disconnecting from ${identity} - ${error}`) - + if (error) { + this.logger.debug(`Disconnecting from ${message.identity} - ${error}`) this.getConnectionRetry( - identity, + message.identity, connection.type, connection.direction, )?.failedConnection() @@ -1081,9 +1009,9 @@ export class PeerManager { return } - if (this.banned.has(identity)) { + if (this.banned.has(message.identity)) { this.getConnectionRetry( - identity, + message.identity, connection.type, connection.direction, )?.neverRetryConnecting() @@ -1091,25 +1019,12 @@ export class PeerManager { return } - if (name && name.length > 32) { - this.logger.debug( - `Disconnecting from ${identity} - Peer name length exceeds 32: ${name.length}}`, - ) - this.getConnectionRetry( - identity, - connection.type, - connection.direction, - )?.failedConnection() - peer.close(new Error(`Peer name length exceeds 32: ${name.length}}`)) - return - } - // If we've connected to ourselves, get rid of the connection and take the address and port off the Peer. // This can happen if a node stops and starts with a different identity - if (identity === this.localPeer.publicIdentity) { + if (message.identity === this.localPeer.publicIdentity) { peer.removeConnection(connection) this.getConnectionRetry( - identity, + message.identity, connection.type, connection.direction, )?.neverRetryConnecting() @@ -1118,7 +1033,7 @@ export class PeerManager { connection.type === ConnectionType.WebSocket && connection.direction === ConnectionDirection.Outbound ) { - peer.setWebSocketAddress(null, null) + peer.wsAddress = null } const error = `Closing ${connection.type} connection from our own identity` @@ -1130,20 +1045,20 @@ export class PeerManager { // If we already know the peer's identity and the new identity doesn't match, move the connection // to a Peer with the new identity. - if (peer.state.identity !== null && peer.state.identity !== identity) { + if (peer.state.identity !== null && peer.state.identity !== message.identity) { this.logger.debug( - `${peer.displayName} sent identity ${identity}, but already has identity ${peer.state.identity}`, + `${peer.displayName} sent identity ${message.identity}, but already has identity ${peer.state.identity}`, ) peer.removeConnection(connection) this.getConnectionRetry( - identity, + message.identity, connection.type, connection.direction, )?.neverRetryConnecting() const originalPeer = peer - peer = this.getOrCreatePeer(identity) + peer = this.getOrCreatePeer(message.identity) if (connection instanceof WebRtcConnection) { peer.setWebRtcConnection(connection) @@ -1151,23 +1066,22 @@ export class PeerManager { if ( connection.type === ConnectionType.WebSocket && connection.direction === ConnectionDirection.Outbound && - originalPeer.address !== null + originalPeer.wsAddress !== null ) { - peer.setWebSocketAddress(originalPeer.address, originalPeer.port) - const candidate = this.peerCandidates.get(identity) + peer.wsAddress = originalPeer.wsAddress + const candidate = this.peerCandidates.get(message.identity) if (candidate) { - candidate.address = originalPeer.address - candidate.port = originalPeer.port + candidate.wsAddress = originalPeer.wsAddress // Reset ConnectionRetry since some component of the address changed candidate.websocketRetry.successfulConnection() } - originalPeer.setWebSocketAddress(null, null) + originalPeer.wsAddress = null } peer.setWebSocketConnection(connection) } } - const existingPeer = this.getPeer(identity) + const existingPeer = this.getPeer(message.identity) // Check if already have a duplicate websocket connection from this peer // @@ -1185,7 +1099,7 @@ export class PeerManager { let connectionToClose = connection // We keep the other persons outbound connection - if (canKeepDuplicateConnection(identity, this.localPeer.publicIdentity)) { + if (canKeepDuplicateConnection(message.identity, this.localPeer.publicIdentity)) { if (connection.direction === ConnectionDirection.Outbound) { connectionToClose = connection } else if (existingConnection.direction === ConnectionDirection.Outbound) { @@ -1194,7 +1108,7 @@ export class PeerManager { } // We keep our outbound connection - if (canKeepDuplicateConnection(this.localPeer.publicIdentity, identity)) { + if (canKeepDuplicateConnection(this.localPeer.publicIdentity, message.identity)) { if (connection.direction === ConnectionDirection.Inbound) { connectionToClose = connection } else if (existingConnection.direction === ConnectionDirection.Inbound) { @@ -1219,12 +1133,12 @@ export class PeerManager { connection instanceof WebSocketConnection && connection.direction === ConnectionDirection.Inbound ) { - connection.port = port || undefined + connection.port = message.port || undefined } - peer.name = name - peer.version = version - peer.agent = agent + peer.name = message.name + peer.version = message.version + peer.agent = message.agent peer.head = message.head peer.sequence = message.sequence peer.work = message.work @@ -1235,11 +1149,11 @@ export class PeerManager { // If we've told the peer to stay disconnected, repeat // the disconnection time before closing the connection const localRequestedDisconnectUntil = - this.peerCandidates.get(identity)?.localRequestedDisconnectUntil ?? null + this.peerCandidates.get(message.identity)?.localRequestedDisconnectUntil ?? null if (localRequestedDisconnectUntil !== null && Date.now() < localRequestedDisconnectUntil) { const disconnectMessage = new DisconnectingMessage({ - destinationIdentity: identity, + destinationIdentity: message.identity, disconnectUntil: localRequestedDisconnectUntil, reason: DisconnectingReason.Congested, sourceIdentity: this.localPeer.publicIdentity, @@ -1247,7 +1161,7 @@ export class PeerManager { connection.send(disconnectMessage) const error = `Closing connection from ${ - existingPeer?.displayName ?? identity + existingPeer?.displayName ?? message.identity } because they connected at ${Date.now()}, but we told them to disconnect until ${localRequestedDisconnectUntil}` this.logger.debug(error) connection.close(new NetworkError(error)) @@ -1255,7 +1169,7 @@ export class PeerManager { } // Identity has been successfully validated, update the peer's state - connection.setState({ type: 'CONNECTED', identity: identity }) + connection.setState({ type: 'CONNECTED', identity: message.identity }) } /** @@ -1536,7 +1450,15 @@ export class PeerManager { continue } - this.peerCandidates.addFromPeerList(peer.state.identity, connectedPeer) + const wsAddress = connectedPeer.address + ? { host: connectedPeer.address, port: connectedPeer.port } + : null + + this.peerCandidates.addFromPeerList(peer.state.identity, { + identity, + name: connectedPeer.name, + wsAddress, + }) } } } diff --git a/ironfish/src/network/peers/peerStoreManager.test.ts b/ironfish/src/network/peers/peerStoreManager.test.ts new file mode 100644 index 0000000000..e82ee2cebc --- /dev/null +++ b/ironfish/src/network/peers/peerStoreManager.test.ts @@ -0,0 +1,265 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +jest.mock('ws') + +import { + getConnectedPeer, + getConnectingPeer, + getDisconnectedPeer, + mockLocalPeer, + mockPeerStore, +} from '../testUtilities' +import { Peer } from './peer' +import { PeerAddress } from './peerAddress' +import { PeerManager } from './peerManager' +import { MAX_PEER_ADDRESSES, PeerStoreManager } from './peerStoreManager' + +jest.useFakeTimers() + +describe('PeerStoreManager', () => { + beforeEach(() => { + jest.clearAllMocks() + jest.useFakeTimers({ legacyFakeTimers: false }) + }) + + afterEach(() => { + jest.useRealTimers() + }) + + it('removePeer should remove a peer address', async () => { + const now = Date.now() + jest.setSystemTime(now) + + const peerStore = mockPeerStore() + const localPeer = mockLocalPeer() + const pm = new PeerManager(localPeer, peerStore) + const peerStoreManager = new PeerStoreManager(peerStore) + + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(0) + + const { peer: peer1 } = getConnectedPeer(pm) + await peerStoreManager.addPeer(peer1) + + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(1) + + const { peer: peer2 } = getConnectedPeer(pm) + await peerStoreManager.addPeer(peer2) + + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(2) + + await peerStoreManager.removePeer(peer1) + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(1) + + const peer2Address = { + address: peer2.address, + port: peer2.port, + identity: peer2.state.identity, + name: peer2.name, + lastAddedTimestamp: now, + } + + expect(peerStoreManager.priorConnectedPeerAddresses).toContainEqual(peer2Address) + + await peerStoreManager.removePeer(peer2) + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(0) + }) + + it('Confirming the functionality even when voiding the remove and add peer functions', () => { + const now = Date.now() + jest.setSystemTime(now) + + const peerStore = mockPeerStore() + const localPeer = mockLocalPeer() + const pm = new PeerManager(localPeer, peerStore) + const peerStoreManager = new PeerStoreManager(peerStore) + + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(0) + + const { peer: peer1 } = getConnectedPeer(pm) + void peerStoreManager.addPeer(peer1) + + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(1) + + const { peer: peer2 } = getConnectedPeer(pm) + void peerStoreManager.addPeer(peer2) + + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(2) + + void peerStoreManager.removePeer(peer1) + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(1) + + const peer2Address = { + address: peer2.address, + port: peer2.port, + identity: peer2.state.identity, + name: peer2.name, + lastAddedTimestamp: now, + } + + expect(peerStoreManager.priorConnectedPeerAddresses).toContainEqual(peer2Address) + + void peerStoreManager.removePeer(peer2) + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(0) + }) + + it('only connected peers get added to the address manager', async () => { + const now = Date.now() + jest.setSystemTime(now) + + const peerStore = mockPeerStore() + const pm = new PeerManager(mockLocalPeer(), peerStore) + const peerStoreManager = new PeerStoreManager(peerStore) + peerStoreManager.peerStore = peerStore + const { peer: connectedPeer } = getConnectedPeer(pm) + const { peer: connectingPeer } = getConnectingPeer(pm) + const disconnectedPeer = getDisconnectedPeer(pm) + const allPeers: Peer[] = [connectedPeer, connectingPeer, disconnectedPeer] + + for (const peer of allPeers) { + await peerStoreManager.addPeer(peer) + } + + const connectedPeerAddress = { + address: connectedPeer.address, + port: connectedPeer.port, + identity: connectedPeer.state.identity, + name: connectedPeer.name, + lastAddedTimestamp: now, + } + + expect(peerStoreManager.priorConnectedPeerAddresses).toContainEqual(connectedPeerAddress) + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(1) + }) + + it('if more than MAX_PEER_ADDRESSES, then only load MAX_PEER_ADDRESSES peers', () => { + const peerStore = mockPeerStore() + const pm = new PeerManager(mockLocalPeer(), peerStore) + const { peer: connectedPeer } = getConnectedPeer(pm) + const peerAddress = { + address: connectedPeer.address || '', + port: connectedPeer.port || 0, + identity: connectedPeer.state.identity, + name: connectedPeer.name, + lastAddedTimestamp: Date.now(), + } + peerStore.set( + 'priorPeers', + Array.from({ length: MAX_PEER_ADDRESSES + 10 }, () => { + const randomIdentity = Math.random().toString(36).substring(7) + return { + ...peerAddress, + identity: randomIdentity, + } + }), + ) + + const peerStoreManager = new PeerStoreManager(peerStore) + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(MAX_PEER_ADDRESSES) + }) + + it('addPeer should remove the oldest peer if the address manager is full', async () => { + const oldestNow = Date.now() + jest.setSystemTime(oldestNow) + + const peerStore = mockPeerStore() + const pm = new PeerManager(mockLocalPeer(), peerStore) + const peerStoreManager = new PeerStoreManager(peerStore) + + const { peer: oldestPeer } = getConnectedPeer(pm) + await peerStoreManager.addPeer(oldestPeer) + const oldestPeerAddress = { + address: oldestPeer.address, + port: oldestPeer.port, + identity: oldestPeer.state.identity, + name: oldestPeer.name, + lastAddedTimestamp: oldestNow, + } + + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(1) + expect(peerStoreManager.priorConnectedPeerAddresses).toContainEqual(oldestPeerAddress) + + const newNow = oldestNow + 1000 + jest.setSystemTime(newNow) + + const { peer: newPeer } = getConnectedPeer(pm) + await peerStoreManager.addPeer(newPeer) + const newPeerAddress = { + address: newPeer.address, + port: newPeer.port, + identity: newPeer.state.identity, + name: newPeer.name, + lastAddedTimestamp: newNow, + } + + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(2) + expect(peerStoreManager.priorConnectedPeerAddresses).toContainEqual(newPeerAddress) + + for (let i = 0; i < MAX_PEER_ADDRESSES - 1; i++) { + const randomIdentity = Math.random().toString(36).substring(7) + await peerStoreManager.addPeer({ + ...newPeer, + state: { + ...newPeer.state, + identity: randomIdentity, + }, + } as Peer) + } + + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(MAX_PEER_ADDRESSES) + expect(peerStoreManager.priorConnectedPeerAddresses).toContainEqual(newPeerAddress) + // The oldest peer should have been removed + expect(peerStoreManager.priorConnectedPeerAddresses).not.toContainEqual(oldestPeerAddress) + }) + + it('addPeer should update peer timestamp if it is already in the address manager', async () => { + const now = Date.now() + const newNow = now + 1000 + jest.setSystemTime(now) + + const peerStore = mockPeerStore() + const pm = new PeerManager(mockLocalPeer(), peerStore) + const peerStoreManager = new PeerStoreManager(peerStore) + const { peer } = getConnectedPeer(pm) + await peerStoreManager.addPeer(peer) + const peerAddress = { + address: peer.address, + port: peer.port, + identity: peer.state.identity, + name: peer.name, + lastAddedTimestamp: now, + } + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(1) + expect(peerStoreManager.priorConnectedPeerAddresses).toContainEqual(peerAddress) + + jest.setSystemTime(newNow) + await peerStoreManager.addPeer(peer) + expect(peerStoreManager.priorConnectedPeerAddresses.length).toEqual(1) + expect(peerStoreManager.priorConnectedPeerAddresses).toContainEqual({ + ...peerAddress, + lastAddedTimestamp: newNow, + }) + }) + + it('save should persist connected peers', async () => { + const now = Date.now() + jest.setSystemTime(now) + const peerStore = mockPeerStore() + + const pm = new PeerManager(mockLocalPeer(), peerStore) + const peerStoreManager = new PeerStoreManager(peerStore) + peerStoreManager.peerStore = peerStore + const { peer: connectedPeer } = getConnectedPeer(pm) + const address: PeerAddress = { + address: connectedPeer.address || '', + port: connectedPeer.port || 0, + identity: connectedPeer.state.identity || '', + name: connectedPeer.name, + lastAddedTimestamp: now, + } + + await peerStoreManager.addPeer(connectedPeer) + await peerStoreManager.save() + expect(peerStoreManager.priorConnectedPeerAddresses).toContainEqual(address) + }) +}) diff --git a/ironfish/src/network/peers/peerStoreManager.ts b/ironfish/src/network/peers/peerStoreManager.ts new file mode 100644 index 0000000000..b6b301ca8e --- /dev/null +++ b/ironfish/src/network/peers/peerStoreManager.ts @@ -0,0 +1,116 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +import { PeerStore } from '../../fileStores' +import { Identity } from '../identity' +import { ConnectionDirection } from './connections' +import { Peer } from './peer' +import { PeerAddress } from './peerAddress' + +export const MAX_PEER_ADDRESSES = 50 + +/** + * PeerStoreManager stores the necessary data for connecting to peers on startup + * to speed up connecting to the network. + */ +export class PeerStoreManager { + peerStore: PeerStore + private peerIdentityMap: Map + + constructor(peerStore: PeerStore) { + this.peerStore = peerStore + // Load prior peers from disk + this.peerIdentityMap = new Map() + + let priorPeers = this.peerStore.getArray('priorPeers').filter((peer) => { + if (peer.identity === null || peer.address === null || peer.port === null) { + return false + } + + peer.lastAddedTimestamp = peer.lastAddedTimestamp ?? 0 + + return true + }) + + if (priorPeers.length > MAX_PEER_ADDRESSES) { + priorPeers = priorPeers.slice(0, MAX_PEER_ADDRESSES) + } + + for (const peer of priorPeers) { + this.peerIdentityMap.set(peer.identity, peer) + } + } + + get priorConnectedPeerAddresses(): ReadonlyArray> { + return [...this.peerIdentityMap.values()] + } + + /** + * Removes address associated with a peer from address stores + */ + async removePeer(peer: Peer): Promise { + if (peer.state.identity === null) { + return + } + + this.peerIdentityMap.delete(peer.state.identity) + await this.save() + } + + /** + * Adds a peer with the following conditions: + * 1. Peer is connected + * 2. Identity is valid + * 3. Peer has an outbound websocket connection + */ + async addPeer(peer: Peer): Promise { + if (peer.state.identity === null || peer.address === null || peer.port === null) { + return + } + + if ( + peer.state.type !== 'CONNECTED' || + !peer.state.connections.webSocket || + peer.state.connections.webSocket.direction !== ConnectionDirection.Outbound + ) { + return + } + + const peerAddress = this.peerIdentityMap.get(peer.state.identity) + + // If the peer is already in the address manager, update the timestamp, + // address and port + if (peerAddress) { + peerAddress.address = peer.address + peerAddress.port = peer.port + peerAddress.lastAddedTimestamp = Date.now() + this.peerIdentityMap.set(peer.state.identity, peerAddress) + await this.save() + return + } + + // If the address manager is full, remove the oldest peer + if (this.peerIdentityMap.size >= MAX_PEER_ADDRESSES) { + const oldestPeerIdentity = [...this.peerIdentityMap.entries()].sort( + (a, b) => a[1].lastAddedTimestamp - b[1].lastAddedTimestamp, + )[0][0] + + this.peerIdentityMap.delete(oldestPeerIdentity) + } + + this.peerIdentityMap.set(peer.state.identity, { + address: peer.address, + port: peer.port, + identity: peer.state.identity, + name: peer.name ?? null, + lastAddedTimestamp: Date.now(), + }) + + await this.save() + } + + async save(): Promise { + this.peerStore.set('priorPeers', [...this.peerIdentityMap.values()]) + await this.peerStore.save() + } +} diff --git a/ironfish/src/network/testUtilities/helpers.ts b/ironfish/src/network/testUtilities/helpers.ts index f39f6230b1..515af1dd93 100644 --- a/ironfish/src/network/testUtilities/helpers.ts +++ b/ironfish/src/network/testUtilities/helpers.ts @@ -158,13 +158,12 @@ export function getSignalingWebRtcPeer( // Link the peers pm.peerCandidates.addFromPeerList(brokeringPeerIdentity, { - address: peer.address, - port: peer.port, - identity: Buffer.from(peerIdentity, 'base64'), + wsAddress: peer.wsAddress, + identity: peerIdentity, }) // Verify peer2 is not connected - expect(peer.address).toBeNull() + expect(peer.wsAddress).toBeNull() expect(peer.state).toEqual({ type: 'DISCONNECTED', identity: peerIdentity, diff --git a/ironfish/src/network/testUtilities/index.ts b/ironfish/src/network/testUtilities/index.ts index f79e2f4805..9889535449 100644 --- a/ironfish/src/network/testUtilities/index.ts +++ b/ironfish/src/network/testUtilities/index.ts @@ -4,8 +4,8 @@ import '../../testUtilities/matchers' -export * from './mockHostsStore' +export * from './helpers' export * from './mockIdentity' export * from './mockLocalPeer' +export * from './mockPeerStore' export * from './mockPrivateIdentity' -export * from './helpers' diff --git a/ironfish/src/network/testUtilities/mockHostsStore.ts b/ironfish/src/network/testUtilities/mockPeerStore.ts similarity index 78% rename from ironfish/src/network/testUtilities/mockHostsStore.ts rename to ironfish/src/network/testUtilities/mockPeerStore.ts index ffcd03f82f..7fa713013a 100644 --- a/ironfish/src/network/testUtilities/mockHostsStore.ts +++ b/ironfish/src/network/testUtilities/mockPeerStore.ts @@ -1,13 +1,13 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { DEFAULT_DATA_DIR, HostsOptions, HostsStore } from '../../fileStores' +import { DEFAULT_DATA_DIR, PeerStore, PeerStoreOptions } from '../../fileStores' import { FileSystem } from '../../fileSystems' import { PeerAddress } from '../peers/peerAddress' /** - * Utility to create a fake HostsStore for use in - * AddressManager and PeerManager + * Utility to create a fake PeerStore for use in + * PeerStoreManager and PeerManager */ class MockFileSystem extends FileSystem { @@ -66,17 +66,10 @@ class MockFileSystem extends FileSystem { } } -class MockHostsStore extends HostsStore { +class MockPeerStore extends PeerStore { constructor() { super(new MockFileSystem(), DEFAULT_DATA_DIR) - super.set('priorPeers', [ - { - address: '127.0.0.1', - port: 9999, - identity: null, - name: null, - }, - ]) + super.set('priorPeers', []) } // eslint-disable-next-line @typescript-eslint/no-empty-function @@ -85,17 +78,17 @@ class MockHostsStore extends HostsStore { // eslint-disable-next-line @typescript-eslint/no-empty-function async save(): Promise {} - getArray(key: keyof HostsOptions): PeerAddress[] { + getArray(key: keyof PeerStoreOptions): PeerAddress[] { return super.getArray(key) } - set(key: keyof HostsOptions, val: PeerAddress[]): void { + set(key: keyof PeerStoreOptions, val: PeerAddress[]): void { super.set(key, val) } } -export function mockHostsStore(): MockHostsStore { - return new MockHostsStore() +export function mockPeerStore(): MockPeerStore { + return new MockPeerStore() } export function mockFileSystem(): MockFileSystem { diff --git a/ironfish/src/network/utils/index.ts b/ironfish/src/network/utils/index.ts index f043225d46..b7411489c0 100644 --- a/ironfish/src/network/utils/index.ts +++ b/ironfish/src/network/utils/index.ts @@ -1,4 +1,4 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -export * from './parseUrl' +export * from './url' diff --git a/ironfish/src/network/utils/parseUrl.test.ts b/ironfish/src/network/utils/url.test.ts similarity index 97% rename from ironfish/src/network/utils/parseUrl.test.ts rename to ironfish/src/network/utils/url.test.ts index e800e5e206..7689ad0106 100644 --- a/ironfish/src/network/utils/parseUrl.test.ts +++ b/ironfish/src/network/utils/url.test.ts @@ -2,7 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { parseUrl } from './parseUrl' +import { parseUrl } from './url' describe('parseUrl', () => { it('should parse urls', () => { diff --git a/ironfish/src/network/utils/parseUrl.ts b/ironfish/src/network/utils/url.ts similarity index 74% rename from ironfish/src/network/utils/parseUrl.ts rename to ironfish/src/network/utils/url.ts index 9336f05db9..457fbe07ea 100644 --- a/ironfish/src/network/utils/parseUrl.ts +++ b/ironfish/src/network/utils/url.ts @@ -2,6 +2,11 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +export type WebSocketAddress = { + host: string + port: number | null +} + const PROTOCOL_SEPARATOR = '://' const PORT_SEPARATOR = ':' @@ -41,3 +46,16 @@ export function parseUrl(url: string): { return { protocol, hostname, port } } + +/** + * Format web socket address into a string + */ +export function formatWebSocketAddress(address: WebSocketAddress | null): string | null { + if (!address) { + return null + } + + const { host, port } = address + const portString = port ? `${PORT_SEPARATOR}${port}` : `` + return `ws://${host}${portString}` +} diff --git a/ironfish/src/node.ts b/ironfish/src/node.ts index de0d99f5a2..9e42048cd5 100644 --- a/ironfish/src/node.ts +++ b/ironfish/src/node.ts @@ -10,8 +10,8 @@ import { Config, ConfigOptions, DEFAULT_DATA_DIR, - HostsStore, InternalStore, + PeerStore, VerifiedAssetsCacheStore, } from './fileStores' import { FileSystem } from './fileSystems' @@ -72,7 +72,7 @@ export class FullNode { logger, webSocket, privateIdentity, - hostsStore, + peerStore, networkId, assetsVerifier, }: { @@ -89,7 +89,7 @@ export class FullNode { logger: Logger webSocket: IsomorphicWebSocketConstructor privateIdentity?: PrivateIdentity - hostsStore: HostsStore + peerStore: PeerStore networkId: number assetsVerifier: AssetsVerifier }) { @@ -153,10 +153,11 @@ export class FullNode { node: this, chain: chain, metrics: this.metrics, - hostsStore: hostsStore, + peerStore: peerStore, logger: logger, telemetry: this.telemetry, incomingWebSocketWhitelist: config.getArray('incomingWebSocketWhitelist'), + keepOpenPeerSlot: config.get('keepOpenPeerSlot'), }) this.miningManager.onNewBlock.on((block) => { @@ -219,8 +220,8 @@ export class FullNode { await internal.load() } - const hostsStore = new HostsStore(files, dataDir) - await hostsStore.load() + const peerStore = new PeerStore(files, dataDir) + await peerStore.load() const verifiedAssetsCache = new VerifiedAssetsCacheStore(files, dataDir) await verifiedAssetsCache.load() @@ -311,7 +312,7 @@ export class FullNode { logger, webSocket, privateIdentity, - hostsStore, + peerStore, networkId: networkDefinition.id, assetsVerifier, }) diff --git a/ironfish/src/primitives/note.ts b/ironfish/src/primitives/note.ts index e7c9841095..1af5949605 100644 --- a/ironfish/src/primitives/note.ts +++ b/ironfish/src/primitives/note.ts @@ -10,7 +10,6 @@ import { RANDOMNESS_LENGTH, } from '@ironfish/rust-nodejs' import bufio from 'bufio' -import { BufferUtils } from '../utils/buffer' import { NoteEncryptedHash } from './noteEncrypted' export class Note { @@ -89,8 +88,8 @@ export class Note { return this._sender } - memo(): string { - return BufferUtils.toHuman(this._memo) + memo(): Buffer { + return this._memo } assetId(): Buffer { diff --git a/ironfish/src/rpc/adapters/ipcAdapter.test.ts b/ironfish/src/rpc/adapters/ipcAdapter.test.ts index 3a580193b3..ea65ef3386 100644 --- a/ironfish/src/rpc/adapters/ipcAdapter.test.ts +++ b/ironfish/src/rpc/adapters/ipcAdapter.test.ts @@ -1,10 +1,10 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import os from 'os' import * as yup from 'yup' import { Assert } from '../../assert' import { IronfishSdk } from '../../sdk' +import { getUniqueTestDataDir } from '../../testUtilities' import { PromiseUtils } from '../../utils/promise' import { RpcRequestError } from '../clients' import { RpcIpcClient } from '../clients/ipcClient' @@ -18,16 +18,11 @@ describe('IpcAdapter', () => { let client: RpcIpcClient beforeEach(async () => { - const dataDir = os.tmpdir() - sdk = await IronfishSdk.init({ - dataDir, + dataDir: getUniqueTestDataDir(), configOverrides: { enableRpc: false, enableRpcIpc: false, - // TODO: It should be possible to test on the default network (mainnet) - // once the genesis block has been added. - networkId: 2, }, }) diff --git a/ironfish/src/rpc/adapters/tcpAdapter.test.ts b/ironfish/src/rpc/adapters/tcpAdapter.test.ts index a160f9a05b..6b6c5e1a81 100644 --- a/ironfish/src/rpc/adapters/tcpAdapter.test.ts +++ b/ironfish/src/rpc/adapters/tcpAdapter.test.ts @@ -4,12 +4,12 @@ /* eslint-disable jest/no-conditional-expect */ import Mitm from 'mitm' import net from 'net' -import os from 'os' import * as yup from 'yup' import { Assert } from '../../assert' import { createRootLogger, Logger } from '../../logger' import { FullNode } from '../../node' import { IronfishSdk } from '../../sdk' +import { getUniqueTestDataDir } from '../../testUtilities' import { RpcRequestError } from '../clients' import { RpcTcpClient } from '../clients/tcpClient' import { ALL_API_NAMESPACES } from '../routes' @@ -25,19 +25,15 @@ describe('TcpAdapter', () => { let mitm: ReturnType beforeEach(async () => { - const dataDir = os.tmpdir() logger = createRootLogger().withTag('tcpadapter') sdk = await IronfishSdk.init({ - dataDir, + dataDir: getUniqueTestDataDir(), configOverrides: { enableRpc: false, enableRpcIpc: false, enableRpcTcp: false, enableRpcTls: false, - // TODO: It should be possible to test on the default network (mainnet) - // once the genesis block has been added. - networkId: 2, rpcTcpPort: 0, }, internalOverrides: { diff --git a/ironfish/src/rpc/routes/chain/getTransactionStream.ts b/ironfish/src/rpc/routes/chain/getTransactionStream.ts index d2e00ba6e5..6bc42ee711 100644 --- a/ironfish/src/rpc/routes/chain/getTransactionStream.ts +++ b/ironfish/src/rpc/routes/chain/getTransactionStream.ts @@ -7,9 +7,9 @@ import { ChainProcessor } from '../../../chainProcessor' import { FullNode } from '../../../node' import { Block } from '../../../primitives/block' import { BlockHeader } from '../../../primitives/blockheader' -import { CurrencyUtils } from '../../../utils' +import { BufferUtils, CurrencyUtils } from '../../../utils' import { PromiseUtils } from '../../../utils/promise' -import { isValidIncomingViewKey } from '../../../wallet/validator' +import { isValidIncomingViewKey, isValidOutgoingViewKey } from '../../../wallet/validator' import { ValidationError } from '../../adapters/errors' import { RpcBlockHeader, @@ -32,6 +32,7 @@ interface Note { hash: string value: string memo: string + sender: string } interface Transaction { @@ -50,6 +51,7 @@ const NoteSchema = yup hash: yup.string().required(), value: yup.string().required(), memo: yup.string().required(), + sender: yup.string().required(), }) .required() @@ -64,7 +66,12 @@ const TransactionSchema = yup }) .required() -export type GetTransactionStreamRequest = { incomingViewKey: string; head?: string | null } +export type GetTransactionStreamRequest = { + incomingViewKey: string + outgoingViewKey?: string + head?: string | null + memoAsHex?: boolean +} export type GetTransactionStreamResponse = { type: 'connected' | 'disconnected' | 'fork' @@ -79,7 +86,9 @@ export const GetTransactionStreamRequestSchema: yup.ObjectSchema = @@ -106,6 +115,10 @@ routes.register() for (const note of tx.notes) { - const decryptedNote = note.decryptNoteForOwner(request.data.incomingViewKey) + let decryptedNote = note.decryptNoteForOwner(request.data.incomingViewKey) + + if (!decryptedNote && request.data.outgoingViewKey) { + decryptedNote = note.decryptNoteForSpender(request.data.outgoingViewKey) + } if (decryptedNote) { + const memo = request.data.memoAsHex + ? decryptedNote?.memo().toString('hex') + : BufferUtils.toHuman(decryptedNote.memo()) + const assetValue = await node.chain.getAssetById(decryptedNote.assetId()) notes.push({ value: CurrencyUtils.encode(decryptedNote.value()), - memo: decryptedNote.memo(), + memo, assetId: decryptedNote.assetId().toString('hex'), assetName: assetValue?.name.toString('hex') || '', hash: decryptedNote.hash().toString('hex'), + sender: decryptedNote.sender(), }) } } diff --git a/ironfish/src/rpc/routes/node/getStatus.ts b/ironfish/src/rpc/routes/node/getStatus.ts index a2fd35dae5..bcbbf88521 100644 --- a/ironfish/src/rpc/routes/node/getStatus.ts +++ b/ironfish/src/rpc/routes/node/getStatus.ts @@ -4,6 +4,7 @@ import * as yup from 'yup' import { Assert } from '../../../assert' import { FullNode } from '../../../node' +import { SyncerState } from '../../../syncer' import { MathUtils, PromiseUtils } from '../../../utils' import { ApiNamespace } from '../namespaces' import { routes } from '../router' @@ -65,7 +66,7 @@ export type GetNodeStatusResponse = { dbSizeBytes: number } blockSyncer: { - status: 'stopped' | 'idle' | 'stopping' | 'syncing' + status: SyncerState syncing?: { blockSpeed: number speed: number diff --git a/ironfish/src/rpc/routes/peer/addPeer.test.ts b/ironfish/src/rpc/routes/peer/addPeer.test.ts index ba565f0403..695ce045f8 100644 --- a/ironfish/src/rpc/routes/peer/addPeer.test.ts +++ b/ironfish/src/rpc/routes/peer/addPeer.test.ts @@ -1,6 +1,7 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ +import { formatWebSocketAddress } from '../../../network' import { createRouteTest } from '../../../testUtilities/routeTest' describe('Route peer/addPeer', () => { @@ -16,7 +17,7 @@ describe('Route peer/addPeer', () => { ).toBe(true) const matchingPeers = routeTest.node.peerNetwork.peerManager.peers.filter( - (p) => p.getWebSocketAddress() === 'ws://testhost:9037', + (p) => formatWebSocketAddress(p.wsAddress) === 'ws://testhost:9037', ) expect(matchingPeers.length).toBe(1) diff --git a/ironfish/src/rpc/routes/peer/getPeer.ts b/ironfish/src/rpc/routes/peer/getPeer.ts index b0801ae6b5..dee0a450e1 100644 --- a/ironfish/src/rpc/routes/peer/getPeer.ts +++ b/ironfish/src/rpc/routes/peer/getPeer.ts @@ -72,16 +72,19 @@ function getPeer(network: PeerNetwork, identity: string): RpcPeerResponse | null let connectionWebSocket: ConnectionState = '' let connectionWebRTCError = '' let connectionWebSocketError = '' + let connectionDirection = '' if (peer.state.type !== 'DISCONNECTED') { if (peer.state.connections.webSocket) { connectionWebSocket = peer.state.connections.webSocket.state.type connectionWebSocketError = String(peer.state.connections.webSocket.error || '') + connectionDirection = peer.state.connections.webSocket.direction } if (peer.state.connections.webRtc) { connectionWebRTC = peer.state.connections.webRtc.state.type connectionWebRTCError = String(peer.state.connections.webRtc.error || '') + connectionDirection = peer.state.connections.webRtc.direction } } @@ -105,13 +108,14 @@ function getPeer(network: PeerNetwork, identity: string): RpcPeerResponse | null sequence: peer.sequence !== null ? Number(peer.sequence) : null, connections: connections, error: peer.error !== null ? String(peer.error) : null, - connectionWebSocket: connectionWebSocket, - connectionWebSocketError: connectionWebSocketError, - connectionWebRTC: connectionWebRTC, - connectionWebRTCError: connectionWebRTCError, networkId: peer.networkId, genesisBlockHash: peer.genesisBlockHash?.toString('hex') || null, features: peer.features, + connectionWebSocket, + connectionWebSocketError, + connectionWebRTC, + connectionWebRTCError, + connectionDirection, } } } diff --git a/ironfish/src/rpc/routes/peer/getPeers.ts b/ironfish/src/rpc/routes/peer/getPeers.ts index 6c45dcd580..844e0ed7d4 100644 --- a/ironfish/src/rpc/routes/peer/getPeers.ts +++ b/ironfish/src/rpc/routes/peer/getPeers.ts @@ -74,16 +74,19 @@ function getPeers(network: PeerNetwork): RpcPeerResponse[] { let connectionWebSocket: ConnectionState = '' let connectionWebRTCError = '' let connectionWebSocketError = '' + let connectionDirection = '' if (peer.state.type !== 'DISCONNECTED') { if (peer.state.connections.webSocket) { connectionWebSocket = peer.state.connections.webSocket.state.type connectionWebSocketError = String(peer.state.connections.webSocket.error || '') + connectionDirection = peer.state.connections.webSocket.direction } if (peer.state.connections.webRtc) { connectionWebRTC = peer.state.connections.webRtc.state.type connectionWebRTCError = String(peer.state.connections.webRtc.error || '') + connectionDirection = peer.state.connections.webRtc.direction } } @@ -107,13 +110,14 @@ function getPeers(network: PeerNetwork): RpcPeerResponse[] { sequence: peer.sequence !== null ? Number(peer.sequence) : null, connections: connections, error: peer.error !== null ? String(peer.error) : null, - connectionWebSocket: connectionWebSocket, - connectionWebSocketError: connectionWebSocketError, - connectionWebRTC: connectionWebRTC, - connectionWebRTCError: connectionWebRTCError, networkId: peer.networkId, genesisBlockHash: peer.genesisBlockHash?.toString('hex') || null, features: peer.features, + connectionWebSocket, + connectionWebSocketError, + connectionWebRTC, + connectionWebRTCError, + connectionDirection, }) } diff --git a/ironfish/src/rpc/routes/wallet/getAccountNotesStream.test.ts b/ironfish/src/rpc/routes/wallet/getAccountNotesStream.test.ts index 343b40887d..6f2d13d715 100644 --- a/ironfish/src/rpc/routes/wallet/getAccountNotesStream.test.ts +++ b/ironfish/src/rpc/routes/wallet/getAccountNotesStream.test.ts @@ -5,7 +5,7 @@ import { BufferMap } from 'buffer-map' import { Assert } from '../../../assert' import { useAccountFixture, useBlockWithTx } from '../../../testUtilities' import { createRouteTest } from '../../../testUtilities/routeTest' -import { AsyncUtils, CurrencyUtils } from '../../../utils' +import { AsyncUtils, BufferUtils, CurrencyUtils } from '../../../utils' import { DecryptedNoteValue } from '../../../wallet/walletdb/decryptedNoteValue' describe('Route wallet/getAccountNotesStream', () => { @@ -46,7 +46,7 @@ describe('Route wallet/getAccountNotesStream', () => { expect(note.value).toEqual(CurrencyUtils.encode(expectedNote.note.value())) expect(note.assetId).toEqual(expectedNote.note.assetId().toString('hex')) - expect(note.memo).toEqual(expectedNote.note.memo()) + expect(note.memo).toEqual(BufferUtils.toHuman(expectedNote.note.memo())) expect(note.sender).toEqual(expectedNote.note.sender()) expect(note.owner).toEqual(expectedNote.note.owner()) expect(note.noteHash).toEqual(expectedNote.note.hash().toString('hex')) diff --git a/ironfish/src/rpc/routes/wallet/getAccountNotesStream.ts b/ironfish/src/rpc/routes/wallet/getAccountNotesStream.ts index 8e9f7e9b4e..3da2751c99 100644 --- a/ironfish/src/rpc/routes/wallet/getAccountNotesStream.ts +++ b/ironfish/src/rpc/routes/wallet/getAccountNotesStream.ts @@ -2,7 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import * as yup from 'yup' -import { CurrencyUtils } from '../../../utils' +import { BufferUtils, CurrencyUtils } from '../../../utils' import { ApiNamespace } from '../namespaces' import { routes } from '../router' import { RpcWalletNote, RpcWalletNoteSchema } from './types' @@ -46,7 +46,7 @@ routes.register = yup connectionWebSocketError: yup.string().defined(), connectionWebRTC: yup.string().defined(), connectionWebRTCError: yup.string().defined(), + connectionDirection: yup.string().defined(), networkId: yup.number().nullable().defined(), genesisBlockHash: yup.string().nullable().defined(), features: yup diff --git a/ironfish/src/sdk.test.ts b/ironfish/src/sdk.test.ts index e92c31c443..5661e7a419 100644 --- a/ironfish/src/sdk.test.ts +++ b/ironfish/src/sdk.test.ts @@ -1,7 +1,6 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import os from 'os' import { Assert } from './assert' import { Config, DEFAULT_DATA_DIR } from './fileStores' import { NodeFileProvider } from './fileSystems' @@ -17,13 +16,13 @@ import { import { RpcIpcClient } from './rpc/clients/ipcClient' import { RpcTcpClient } from './rpc/clients/tcpClient' import { IronfishSdk } from './sdk' +import { getUniqueTestDataDir } from './testUtilities' import { Wallet } from './wallet' describe('IronfishSdk', () => { describe('init', () => { it('should initialize an SDK', async () => { - const dataDir = os.tmpdir() - + const dataDir = getUniqueTestDataDir() const fileSystem = new NodeFileProvider() await fileSystem.init() @@ -42,15 +41,13 @@ describe('IronfishSdk', () => { }) it('should initialize an SDK/node with correct agent tag', async () => { - const dataDir = os.tmpdir() - const fileSystem = new NodeFileProvider() await fileSystem.init() const sdk = await IronfishSdk.init({ pkg: { name: 'node-app', license: 'MIT', version: '1.0.0', git: 'foo' }, configName: 'foo.config.json', - dataDir: dataDir, + dataDir: getUniqueTestDataDir(), fileSystem: fileSystem, }) @@ -65,7 +62,8 @@ describe('IronfishSdk', () => { }) it('should detect platform defaults', async () => { - const sdk = await IronfishSdk.init({ dataDir: os.tmpdir() }) + const dataDir = getUniqueTestDataDir() + const sdk = await IronfishSdk.init({ dataDir }) const runtime = Platform.getRuntime() expect(sdk.fileSystem).toBeInstanceOf(NodeFileProvider) @@ -78,13 +76,8 @@ describe('IronfishSdk', () => { const sdk = await IronfishSdk.init({ configName: 'foo.config.json', - dataDir: os.tmpdir(), + dataDir: getUniqueTestDataDir(), fileSystem: fileSystem, - configOverrides: { - // TODO: It should be possible to test on the default network (mainnet) - // once the genesis block has been added. - networkId: 2, - }, }) const node = await sdk.node() @@ -117,12 +110,7 @@ describe('IronfishSdk', () => { describe('when local is true', () => { it('returns and connects `clientMemory` to a node', async () => { const sdk = await IronfishSdk.init({ - dataDir: os.tmpdir(), - configOverrides: { - // TODO: It should be possible to test on the default network (mainnet) - // once the genesis block has been added. - networkId: 2, - }, + dataDir: getUniqueTestDataDir(), }) const node = await sdk.node() const openDb = jest.spyOn(node, 'openDB').mockImplementationOnce(async () => {}) @@ -173,12 +161,9 @@ describe('IronfishSdk', () => { describe('RPC adapters', () => { it('should use all RPC namespaces for IPC', async () => { const sdk = await IronfishSdk.init({ - dataDir: os.tmpdir(), + dataDir: getUniqueTestDataDir(), configOverrides: { enableRpcIpc: true, - // TODO: It should be possible to test on the default network (mainnet) - // once the genesis block has been added. - networkId: 2, }, }) @@ -192,13 +177,10 @@ describe('IronfishSdk', () => { it('should use all RPC namespaces for TCP', async () => { const sdk = await IronfishSdk.init({ - dataDir: os.tmpdir(), + dataDir: getUniqueTestDataDir(), configOverrides: { enableRpcTcp: true, enableRpcTls: false, - // TODO: It should be possible to test on the default network (mainnet) - // once the genesis block has been added. - networkId: 2, }, }) diff --git a/ironfish/src/syncer.test.ts b/ironfish/src/syncer.test.ts index d1efa5676e..4b0f2a82d4 100644 --- a/ironfish/src/syncer.test.ts +++ b/ironfish/src/syncer.test.ts @@ -7,7 +7,7 @@ import { BAN_SCORE } from './network/peers/peer' import { getConnectedPeer } from './network/testUtilities' import { useMinerBlockFixture } from './testUtilities/fixtures' import { createNodeTest } from './testUtilities/nodeTest' -import { PromiseUtils } from './utils' +import { ArrayUtils, BenchUtils, PromiseUtils } from './utils' describe('Syncer', () => { const nodeTest = createNodeTest() @@ -22,28 +22,32 @@ describe('Syncer', () => { expect(syncer.state).toBe('stopped') }) - it('should load from peer with more work', () => { + it('should load from peer with more work', async () => { const { chain, peerNetwork, syncer } = nodeTest Assert.isNotNull(chain.head) - const startSyncSpy = jest.spyOn(syncer, 'startSync').mockImplementation() + jest + .spyOn(peerNetwork, 'getBlockHeaders') + .mockReturnValueOnce(Promise.resolve({ headers: [chain.genesis], time: 0 })) + const syncFromSpy = jest.spyOn(syncer, 'syncFrom') // No peers connected to find - syncer.findPeer() - expect(startSyncSpy).not.toHaveBeenCalled() + await syncer.findPeer(null) + expect(syncFromSpy).not.toHaveBeenCalled() const { peer } = getConnectedPeer(peerNetwork.peerManager) peer.work = 0n // Peer does not have more work - syncer.findPeer() - expect(startSyncSpy).not.toHaveBeenCalled() + await syncer.findPeer(null) + expect(syncFromSpy).not.toHaveBeenCalled() peer.work = chain.head.work + 1n + peer.sequence = chain.head.sequence // Peer should have more work than us now - syncer.findPeer() - expect(startSyncSpy).toHaveBeenCalledWith(peer) + await syncer.findPeer(null) + expect(syncFromSpy).toHaveBeenCalledWith(peer) }) it('should sync and then finish from peer', async () => { @@ -54,11 +58,11 @@ describe('Syncer', () => { peer.sequence = 1 peer.head = Buffer.from('') - const startSyncSpy = jest.spyOn(syncer, 'syncFrom') + const syncFromSpy = jest.spyOn(syncer, 'syncFrom') const [promise, resolve] = PromiseUtils.split() - startSyncSpy.mockReturnValue(promise) - syncer.startSync(peer) + syncFromSpy.mockReturnValue(promise) + syncer['startSync'](peer) expect(syncer.stopping).not.toBe(null) expect(syncer.state).toEqual('syncing') @@ -72,6 +76,32 @@ describe('Syncer', () => { expect(syncer.loader).toBe(null) }) + it('should select the fastest peer to sync from', async () => { + const { chain, peerNetwork, syncer } = nodeTest + + const { peer: peer1 } = getConnectedPeer(peerNetwork.peerManager) + peer1.work = chain.head.work + 1n + peer1.sequence = 2 + peer1.head = Buffer.from('') + + const { peer: peer2 } = getConnectedPeer(peerNetwork.peerManager) + peer2.work = chain.head.work + 1n + peer2.sequence = 2 + peer2.head = Buffer.from('') + + jest + .spyOn(peerNetwork, 'getBlockHeaders') + .mockReturnValue(Promise.resolve({ headers: [chain.genesis], time: 0 })) + jest.spyOn(ArrayUtils, 'shuffle').mockImplementationOnce(() => [peer1, peer2]) + jest.spyOn(BenchUtils, 'end').mockImplementationOnce(() => 500) + jest.spyOn(BenchUtils, 'end').mockImplementationOnce(() => 200) + + syncer.state = 'measuring' + await syncer.findPeer(null) + + expect(syncer.loader).toEqual(peer2) + }) + it('should stop syncing on error', async () => { const { peerNetwork, syncer } = nodeTest @@ -80,11 +110,11 @@ describe('Syncer', () => { peer.sequence = 1 peer.head = Buffer.from('') - const startSyncSpy = jest.spyOn(syncer, 'syncFrom') + const syncFromSpy = jest.spyOn(syncer, 'syncFrom') const [promise, , reject] = PromiseUtils.split() - startSyncSpy.mockResolvedValue(promise) - syncer.startSync(peer) + syncFromSpy.mockResolvedValue(promise) + syncer['startSync'](peer) expect(syncer.stopping).not.toBe(null) expect(syncer.state).toEqual('syncing') @@ -110,11 +140,11 @@ describe('Syncer', () => { peer.sequence = 1 peer.head = Buffer.from('') - const startSyncSpy = jest.spyOn(syncer, 'syncFrom') + const syncFromSpy = jest.spyOn(syncer, 'syncFrom') const [promise, resolve] = PromiseUtils.split() - startSyncSpy.mockResolvedValue(promise) - syncer.startSync(peer) + syncFromSpy.mockResolvedValue(promise) + syncer['startSync'](peer) expect(syncer.stopping).not.toBe(null) expect(syncer.state).toEqual('syncing') @@ -142,6 +172,7 @@ describe('Syncer', () => { Assert.isNotNull(genesis) syncer.blocksPerMessage = 1 + syncer.state = 'syncing' const { node: nodeA } = await nodeTest.createSetup() const blockA1 = await useMinerBlockFixture(nodeA.chain) @@ -213,6 +244,7 @@ describe('Syncer', () => { const peerPunished = jest.spyOn(peer, 'punish') syncer.loader = peer + syncer.state = 'syncing' await syncer.syncBlocks(peer, chain.genesis.hash, chain.genesis.sequence) @@ -220,4 +252,81 @@ describe('Syncer', () => { expect(peerPunished).toHaveBeenCalledTimes(1) expect(peerPunished).toHaveBeenCalledWith(BAN_SCORE.MAX, expect.anything()) }) + + it('should switch states from syncing to measuring', async () => { + const { peerNetwork, syncer } = nodeTest + + const { peer } = getConnectedPeer(peerNetwork.peerManager) + peer.work = 1n + peer.sequence = 1 + peer.head = Buffer.from('') + + const syncFromSpy = jest.spyOn(syncer, 'syncFrom') + + const [promise, resolve] = PromiseUtils.split() + syncFromSpy.mockResolvedValue(promise) + syncer['startSync'](peer) + + // Set the nextMeasureTime to be less than now, which is the trigger to + // transition to measuring state + syncer.nextMeasureTime = 0 + expect(syncer.nextMeasureTime).toBeLessThan(performance.now()) + + expect(syncer.state).toEqual('syncing') + expect(syncer.loader).toBe(peer) + + resolve() + await syncer.eventLoop() + + expect(syncer.state).toEqual('measuring') + expect(syncer.lastLoaderIdentity).toEqual(peer.state.identity) + }) + + it('should find a peer when in measuring state', async () => { + const { syncer } = nodeTest + + const findPeerSpy = jest.spyOn(syncer, 'findPeer') + + syncer.lastLoaderIdentity = 'foobar' + syncer.state = 'measuring' + await syncer.eventLoop() + + expect(findPeerSpy).toHaveBeenCalledTimes(1) + expect(findPeerSpy).toHaveBeenCalledWith('foobar') + }) + + it('getNextMeasurementDelta', () => { + const { syncer } = nodeTest + + const twoMinutes = 2 * 60 * 1000 + const fourMinutes = twoMinutes * 2 + const eightMinutes = fourMinutes * 2 + const sixteenMinutes = eightMinutes * 2 + const thirtyTwoMinutes = sixteenMinutes * 2 + const sixtyMinutes = 60 * 60 * 1000 + + syncer.numberOfMeasurements = 0 + expect(syncer['getNextMeasurementDelta']()).toEqual(twoMinutes) + + syncer.numberOfMeasurements = 1 + expect(syncer['getNextMeasurementDelta']()).toEqual(fourMinutes) + + syncer.numberOfMeasurements = 2 + expect(syncer['getNextMeasurementDelta']()).toEqual(eightMinutes) + + syncer.numberOfMeasurements = 3 + expect(syncer['getNextMeasurementDelta']()).toEqual(sixteenMinutes) + + syncer.numberOfMeasurements = 4 + expect(syncer['getNextMeasurementDelta']()).toEqual(thirtyTwoMinutes) + + syncer.numberOfMeasurements = 5 + expect(syncer['getNextMeasurementDelta']()).toEqual(sixtyMinutes) + + syncer.numberOfMeasurements = 6 + expect(syncer['getNextMeasurementDelta']()).toEqual(sixtyMinutes) + + syncer.numberOfMeasurements = 100 + expect(syncer['getNextMeasurementDelta']()).toEqual(sixtyMinutes) + }) }) diff --git a/ironfish/src/syncer.ts b/ironfish/src/syncer.ts index ae86d28cc3..cd69647793 100644 --- a/ironfish/src/syncer.ts +++ b/ironfish/src/syncer.ts @@ -8,22 +8,33 @@ import { VerificationResultReason } from './consensus' import { createRootLogger, Logger } from './logger' import { Meter, MetricsMonitor } from './metrics' import { RollingAverage } from './metrics/rollingAverage' -import { Peer, PeerNetwork } from './network' +import { Identity, Peer, PeerNetwork } from './network' import { BAN_SCORE, PeerState } from './network/peers/peer' import { Block, GENESIS_BLOCK_SEQUENCE } from './primitives/block' import { BlockHeader } from './primitives/blockheader' import { Telemetry } from './telemetry' -import { ErrorUtils, HashUtils, MathUtils, SetTimeoutToken } from './utils' +import { + BenchUtils, + ErrorUtils, + HashUtils, + MathUtils, + SetTimeoutToken, + TimeUtils, +} from './utils' import { ArrayUtils } from './utils/array' const SYNCER_TICK_MS = 10 * 1000 const LINEAR_ANCESTOR_SEARCH = 3 const REQUEST_BLOCKS_PER_MESSAGE = 20 +const MAX_MEASUREMENT_DELTA = 60 * 60 * 1000 +const CANDIDATES_PER_MEASUREMENT = 8 class AbortSyncingError extends Error { name = this.constructor.name } +export type SyncerState = 'stopped' | 'idle' | 'stopping' | 'syncing' | 'measuring' + export class Syncer { readonly peerNetwork: PeerNetwork readonly chain: Blockchain @@ -33,11 +44,14 @@ export class Syncer { readonly speed: Meter readonly downloadSpeed: RollingAverage - state: 'stopped' | 'idle' | 'stopping' | 'syncing' + state: SyncerState stopping: Promise | null eventLoopTimeout: SetTimeoutToken | null loader: Peer | null = null blocksPerMessage: number + nextMeasureTime = 0 + numberOfMeasurements = 0 + lastLoaderIdentity: Identity | null = null constructor(options: { peerNetwork: PeerNetwork @@ -71,8 +85,7 @@ export class Syncer { } this.state = 'idle' - this.eventLoop() - await Promise.resolve() + await this.eventLoop() } async stop(): Promise { @@ -99,46 +112,172 @@ export class Syncer { this.state = 'stopped' } - eventLoop(): void { + async eventLoop(): Promise { if (this.state === 'stopped' || this.state === 'stopping') { return } - if (this.state === 'idle') { - this.findPeer() + switch (this.state) { + case 'idle': { + await this.findPeer(null) + break + } + + case 'measuring': { + await this.findPeer(this.lastLoaderIdentity) + if (this.loader) { + this.numberOfMeasurements += 1 + } + break + } + + case 'syncing': { + if (this.nextMeasureTime >= performance.now()) { + break + } + + this.logger.info('Checking for a potentially better peer to sync from') + + // If it is time to enter the measuring state, we stop syncing and set + // the state to measuring. This gives the syncer time to finish any + // in-flight requests + this.state = 'measuring' + if (this.loader) { + this.lastLoaderIdentity = this.loader.state.identity + await this.wait() + } + break + } } - this.eventLoopTimeout = setTimeout(() => this.eventLoop(), SYNCER_TICK_MS) + this.eventLoopTimeout = setTimeout(() => void this.eventLoop(), SYNCER_TICK_MS) } - findPeer(): void { + /** + * Chooses a peer to sync from based on measuring the connection of a random + * sampling of connected peers and begins syncing + */ + async findPeer(currentPeerIdentity: Identity | null): Promise { const head = this.chain.head - if (!head) { return } + const measurementStart = BenchUtils.start() + // Find all allowed peers that have more work than we have const peers = this.peerNetwork.peerManager .getConnectedPeers() .filter((peer) => peer.features?.syncing && peer.work && peer.work > head.work) - // Get a random peer with higher work. We do this to encourage - // peer diversity so the highest work peer isn't overwhelmed - // as well as helping to make sure we don't get stuck with unstable peers - if (peers.length > 0) { - const peer = ArrayUtils.sampleOrThrow(peers) + if (peers.length === 0) { + return + } + + this.logger.debug('Syncer is beginning peer candidate measurements') + + // If there is only one valid peer to sync from, there is no point in + // measuring the connection so begin syncing immediately + if (peers.length === 1) { + this.startSync(peers[0]) + return + } + + let syncCandidates = ArrayUtils.shuffle(peers) + + // If we have been syncing from a peer, we want to include this peer in the + // measurement. This will allow us to maintain a connection to a strong peer + // if we have found one. + if (currentPeerIdentity) { + const currentPeer = this.peerNetwork.peerManager.getPeer(currentPeerIdentity) + if (currentPeer) { + syncCandidates = syncCandidates.filter((p) => p.state.identity !== currentPeerIdentity) + syncCandidates.unshift(currentPeer) + } + } + + const peerRtt = new Map() + + // Measure how long it takes to fetch the genesis block header from each + // peer as an estimate of connection quality + for (const peer of syncCandidates) { + if (this.state === 'stopped' || this.state === 'stopping') { + return + } + + // We only want to successfully measure so many candidates per measurement + // phase + if (peerRtt.size >= CANDIDATES_PER_MEASUREMENT) { + break + } + + if (peer.state.type !== 'CONNECTED') { + continue + } + + const peerIdentity = peer.getIdentityOrThrow() + + const start = BenchUtils.start() + try { + const response = await this.peerNetwork.getBlockHeaders(peer, 1, 1) + if (response.headers.length !== 1) { + this.logger.warn(`Peer ${peer.displayName} sent the wrong number of block headers`) + peer.punish(BAN_SCORE.MAX, 'invalid response') + continue + } + if (!response.headers[0].hash.equals(this.chain.genesis.hash)) { + this.logger.warn(`Peer ${peer.displayName} sent the wrong block header`) + peer.punish(BAN_SCORE.MAX, 'invalid response') + continue + } + } catch (e) { + this.logger.debug( + `Error while trying to measure peer '${ + peer.displayName + }', skipping this peer: ${ErrorUtils.renderError(e)}`, + ) + continue + } + const rtt = BenchUtils.end(start) + peerRtt.set(peerIdentity, rtt) + } + + const measurementTime = BenchUtils.end(measurementStart) + this.logger.debug( + `Syncer took ${TimeUtils.renderSpan(measurementTime)} to measure peer candidates. Found ${ + peerRtt.size + } suitable candidates`, + ) + + if (peerRtt.size === 0) { + return + } + + // Sort the peers by the round-trip-time of the block header request and get + // the fastest one to sync from + const fastestCandidateIdentity = [...peerRtt.entries()].sort((a, b) => a[1] - b[1])[0][0] + const peer = this.peerNetwork.peerManager.getPeer(fastestCandidateIdentity) + + if (peer) { + this.startSync(peer) + } + } + + startSyncIfIdle(peer: Peer): void { + if (this.state === 'idle') { this.startSync(peer) } } - startSync(peer: Peer): void { + protected startSync(peer: Peer): void { if (this.loader) { return } Assert.isNotNull(peer.sequence) + this.nextMeasureTime = performance.now() + this.getNextMeasurementDelta() + const work = peer.work ? ` work: +${(peer.work - this.chain.head.work).toString()},` : '' this.logger.info( `Starting sync from ${ @@ -287,7 +426,7 @@ export class Syncer { } } - // Then we try a binary search to fine the forking point between us and peer + // Then we try a binary search to find the forking point between us and peer let ancestorHash: Buffer | null = null let ancestorSequence: number | null = null let lower = Number(GENESIS_BLOCK_SEQUENCE) @@ -515,12 +654,24 @@ export class Syncer { return { added: true, block, reason: reason || null } } + /** + * Returns the amount of time to wait until the next sync candidate + * measurement in milliseconds + */ + protected getNextMeasurementDelta(): number { + const delta = Math.min( + MAX_MEASUREMENT_DELTA, + 60 * 1000 * 2 ** (this.numberOfMeasurements + 1), + ) + return delta + } + /** * Throws AbortSyncingError which safely stops the syncing * with a peer if we should no longer sync from this peer */ protected abort(peer: Peer): void { - if (this.loader !== peer) { + if (this.loader !== peer || this.state !== 'syncing') { throw new AbortSyncingError('abort syncing') } } diff --git a/ironfish/src/utils/array.ts b/ironfish/src/utils/array.ts index 50c10560c6..7e0bc1e217 100644 --- a/ironfish/src/utils/array.ts +++ b/ironfish/src/utils/array.ts @@ -2,8 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { Assert } from '../assert' - /** * Randomizes the order of elements in a given array and returns a new array. */ @@ -19,8 +17,11 @@ function shuffle(array: ReadonlyArray): Array { return sliceArr } -function sampleOrThrow(array: Array): T { - Assert.isTrue(array.length > 0) +function sample(array: ReadonlyArray): T | null { + if (array.length === 0) { + return null + } + return array[Math.floor(Math.random() * array.length)] } @@ -34,4 +35,4 @@ function remove(array: Array, item: T): boolean { return false } -export const ArrayUtils = { shuffle, sampleOrThrow, remove } +export const ArrayUtils = { shuffle, sample, remove } diff --git a/ironfish/src/utils/index.ts b/ironfish/src/utils/index.ts index 3513e8f4e6..6bafec2a2d 100644 --- a/ironfish/src/utils/index.ts +++ b/ironfish/src/utils/index.ts @@ -29,3 +29,4 @@ export * from './tls' export * from './transaction' export * from './types' export * from './yup' +export { PriorityQueue } from './priorityQueue' diff --git a/ironfish/src/memPool/priorityQueue.ts b/ironfish/src/utils/priorityQueue/index.ts similarity index 96% rename from ironfish/src/memPool/priorityQueue.ts rename to ironfish/src/utils/priorityQueue/index.ts index 1bd3500832..2c2c4f8fd3 100644 --- a/ironfish/src/memPool/priorityQueue.ts +++ b/ironfish/src/utils/priorityQueue/index.ts @@ -206,6 +206,19 @@ export class PriorityQueue { return 2 * index + 2 } + /** + * Make a copy of the queue and generate the items in priority order + */ + *sorted(): Generator { + const clone = this.clone() + + let item = clone.poll() + while (item !== undefined) { + yield item + item = clone.poll() + } + } + print(index: number, toString: (item: T) => string): string { if (index >= this.size()) { return '' diff --git a/ironfish/src/memPool/priorityQueue.test.ts b/ironfish/src/utils/priorityQueue/priorityQueue.test.ts similarity index 95% rename from ironfish/src/memPool/priorityQueue.test.ts rename to ironfish/src/utils/priorityQueue/priorityQueue.test.ts index b985470fb3..ea7ac021cd 100644 --- a/ironfish/src/memPool/priorityQueue.test.ts +++ b/ironfish/src/utils/priorityQueue/priorityQueue.test.ts @@ -2,7 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import { randomBytes, randomInt } from 'crypto' -import { PriorityQueue } from './priorityQueue' +import { PriorityQueue } from './' import { Action, heapSort, Return, SimpleQueue } from './priorityQueueTestHelpers' const compareStringNumber = (a: [string, number], b: [string, number]) => { @@ -30,6 +30,8 @@ describe('Priority Queue', () => { queue.add(item) } + const resultsFromSorted = [...queue.sorted()] + const results: [string, number][] = [] while (queue.size() > 0) { const next = queue.poll() @@ -48,6 +50,8 @@ describe('Priority Queue', () => { ['6', 88], ['1', 99], ]) + + expect(results).toEqual(resultsFromSorted) }) it('adds removes and polls items in order correctly', () => { @@ -74,6 +78,8 @@ describe('Priority Queue', () => { queue.remove(queue.hash(item)) } + const resultsFromSorted = [...queue.sorted()] + const results: [string, number][] = [] while (queue.size() > 0) { const next = queue.poll() @@ -87,6 +93,8 @@ describe('Priority Queue', () => { ['6', 32], ['5', 37], ]) + + expect(results).toEqual(resultsFromSorted) }) it('sorts random elements via `add` and `poll` correctly', () => { diff --git a/ironfish/src/memPool/priorityQueueTestHelpers.ts b/ironfish/src/utils/priorityQueue/priorityQueueTestHelpers.ts similarity index 100% rename from ironfish/src/memPool/priorityQueueTestHelpers.ts rename to ironfish/src/utils/priorityQueue/priorityQueueTestHelpers.ts diff --git a/ironfish/src/wallet/__fixtures__/wallet.test.slow.ts.fixture b/ironfish/src/wallet/__fixtures__/wallet.test.slow.ts.fixture index d7ac3d14bd..b709dcb1f9 100644 --- a/ironfish/src/wallet/__fixtures__/wallet.test.slow.ts.fixture +++ b/ironfish/src/wallet/__fixtures__/wallet.test.slow.ts.fixture @@ -1,14 +1,14 @@ { - "Accounts Returns the correct balance when an account receives a miners fee": [ + "Wallet Returns the correct balance when an account receives a miners fee": [ { "version": 2, - "id": "79ca31ee-1189-4985-a67b-a31b5a003972", + "id": "fbc05bdd-d3fd-4ce8-88f0-5ea9a02f9eb2", "name": "test", - "spendingKey": "d3407ce267bbdd7686a55e5943f6811d45b28ef4174ad8fcac1d6651c885339d", - "viewKey": "c8d8f0b2a4035266649858fede70cb825bd0574df051b9cea6fbc9e6ea01df67f80ed4be477f3b761ab0235fff0e2943665fff6adc069315d9229569c256dac4", - "incomingViewKey": "743da9d5b0e915d301b4f1891f401285a1adeaa4e0814fb734173fe458d82305", - "outgoingViewKey": "1b6b46cf84ef8d9af8906cec6ff968416d57d1df196de847087af4a00ba2635c", - "publicAddress": "541e9a427a97b9610f0561491a0a36742040a53a69e56c9fdcaabb02b7a247c6", + "spendingKey": "59f6ada9271038c0321246555786ec72888af42a00ef159977d0dce21b9cd1eb", + "viewKey": "815e1957ffc87efba4af25bb7da84ed116969d7558e4f62ca5f8d8bb9f4b20b3bb708e31d7c4835927783f2f2df35d09061038c3e7467df7b7f5905d835c0a44", + "incomingViewKey": "024078ad19a3af9642f8d14b6ee988259b2ace50426b98af0cd65ed5f6155201", + "outgoingViewKey": "f6c643646a9a85a2faf1559eb19583a534b874460482a2b86e1ab2222a15d8bd", + "publicAddress": "56dce4636502d4d7cd944480cea38278d95caaaffde4a249a75139bde17a6023", "createdAt": { "hash": { "type": "Buffer", @@ -18,16 +18,16 @@ } } ], - "Accounts Lowers the balance after using send to spend a note": [ + "Wallet Lowers the balance after using send to spend a note": [ { "version": 2, - "id": "405298c9-0c53-46a3-99c7-d5a1bc2919dc", + "id": "971e4e59-9abd-41bc-bd9f-87c5fd3edc95", "name": "test", - "spendingKey": "58d297b388068ddc74cd36bb8947c0848f7743b4e08b17b14dae4ee4a6a20a13", - "viewKey": "7053978d5207ffba0d96677eda3ddff6bb917b41fe07c8aefc33a251ec0e2794c042753389ba73154825bc86a387f18d97b0567976a364e427d7007e034312ca", - "incomingViewKey": "4a9ed2eea692d49a0cd38f89bf2afcbe3dd8b7ba670a76d0e2f62bd984f12703", - "outgoingViewKey": "3f94c7a0f818e07052463a85e53cc1667e3531faee79c200823f314f3a5ecb00", - "publicAddress": "749a3124065ea32abe3390a241456e42b27478dabc82047fb98574f0f95b3ee8", + "spendingKey": "d1d1b3cc66f417107b52780ed4c587bcd3bdcfcd25bf038e771deb2247b7f55a", + "viewKey": "d989fcc47c40adae05620196daaa1cf93908655a07fb9106e78a082dad53949e3a29005a079de49f6350a2a80f5ab43ffff1724747317fa989057e2c1189faa7", + "incomingViewKey": "5486fc812b7b60c7e38b20cbe0e04a8dd5fe559e4590eae7d3d1f630257f7707", + "outgoingViewKey": "400fc4e7ae7c331d7ab3d738577e252e9d3e1c7a15b74c81ecc2213844af8038", + "publicAddress": "087db7d7a3a69ccae7438eff0898af1b7bb30cd49bc451ad074b81aee8002e87", "createdAt": { "hash": { "type": "Buffer", @@ -37,16 +37,16 @@ } } ], - "Accounts Creates valid transactions when the worker pool is enabled": [ + "Wallet Creates valid transactions when the worker pool is enabled": [ { "version": 2, - "id": "e63d7ace-39a1-4175-a207-f94c51468c41", + "id": "2c36b905-ea1e-4f45-a086-c2a643557f95", "name": "test", - "spendingKey": "5a5ba86e0e34698c88b449b72fc093519895a9e58e969b18327c3a6c2f1b4497", - "viewKey": "e2579a47fae8e805605d18aa9bed15eff79823966c447b17f5618aba850e7244321a2652930b63cd84086dffce33134243442074ab95f6af7038cc5685d58d08", - "incomingViewKey": "0398623a5c76932e14793d365270865f54d5ab937a295c3777a20fbf02c0a504", - "outgoingViewKey": "f4c37d60ce09d50c4af9a760066a2f6c5abf81cf8846547eb362ba4c5d62a8a8", - "publicAddress": "f4df3991253b87a2e83e84f611ee4217926db8ace0eb7942731b458ed8030e35", + "spendingKey": "c5245022e186a46b61dcfa22783eb40ee01ac748fb655b1ee927943aafc399fb", + "viewKey": "57c0f6b3ec9799c0b763b3a7bd2728b55cc2e3e3cd72f3c23235ef456230cc10828b23741b64f35161f223dedda351224369932d7e81fbed93cab1ade6bb6dad", + "incomingViewKey": "81e742bcbe553d5d1598b39c24f9613ba7c283c1bd4034abdc8eb6da7d0c0205", + "outgoingViewKey": "3b89724d14eadaa4e5fed7b006a2738523891fba5c5b01b2071019d3bb4cb73a", + "publicAddress": "fecf4e348c82785b54824e05ce9615a40255c6f24ddb7804f893c49aba68009e", "createdAt": { "hash": { "type": "Buffer", @@ -56,16 +56,16 @@ } } ], - "Accounts creates valid transactions with multiple outputs": [ + "Wallet creates valid transactions with multiple outputs": [ { "version": 2, - "id": "87ecbaa4-cf7c-4841-a429-19a0a6690375", + "id": "21af3f3f-dfc6-4105-aad7-f71ba702fd2d", "name": "test", - "spendingKey": "fe0105109a600a9d639bf69cc06a319674593029e60292eebf5f8b8e87ca1eb1", - "viewKey": "cde6fe6314138b7539023741302c2d07e660981ecf32aa7b29161cb77f7f7b45da83c6473d855eec424ba0cc25c56363dcb102b9cfc8849b09f6082617ffc802", - "incomingViewKey": "6d4d18644200483653597228babdd2a1857d67e6ab5666b415ef9f26eef83003", - "outgoingViewKey": "2060568832e66dfc7fdf8631e5836db93b3464e95d1b6fb23a777a8b087f3f09", - "publicAddress": "5afb62269c078d9e00992bacee8f9a572d0147d6f1c9eef490b13da9b60bfebb", + "spendingKey": "c30221ffbbd9f854bb06c59ca8befd06078f0ab9c48d168d93564fb5e7d5b31c", + "viewKey": "7f44d39375bb717b51df897e3e54c83a57a21353695ae0ea96c2e14f061a190f04ad6834ee10c9a8cae6402f7e0f14fb0b6d1d920b7cc8dd47bd028a4393a83f", + "incomingViewKey": "d3b530abee84a1ae63fbe46b648801fc473a6ff00da27de9d9b5169857e55c03", + "outgoingViewKey": "b68d6a4aef55c3f2a9e71b77f3bb60a19452aa00ec6fed6df3b786c12753342e", + "publicAddress": "6030fab9e822a50c4d4c18527abb41a507a15f78019bb27963ae74e330df9150", "createdAt": { "hash": { "type": "Buffer", @@ -75,16 +75,16 @@ } } ], - "Accounts throws a ValidationError with an invalid expiration sequence": [ + "Wallet throws a ValidationError with an invalid expiration sequence": [ { "version": 2, - "id": "487d43b4-a150-48f4-b3a4-34db21ade04e", + "id": "7d87c76e-7fb2-48c4-8115-efd7dcb9df9a", "name": "test", - "spendingKey": "6162dcf4dc583a5f699d0e50d67ba10ce5590a3e5dddedaa59c1274e137224dd", - "viewKey": "003e3975bb2f4e8fb5446fc14e63b3a6b05d77b5de485adeeb3a427d279dc7d1f5f56ed3db2f33634954c6fc2cc99aa241df76d8188daae2afcfe77d24ecd684", - "incomingViewKey": "2d2bdd45f59c12663933a4b07c5d4241ac8ddb7dc3153857245ab6b4677de207", - "outgoingViewKey": "1358a342cfd1d32f56ab90b64029434ee458aab11aa36ca698a7faceffe929bc", - "publicAddress": "3db0995ffaa9d2e7850e271dc18a7eeb82e53c7f80b71bd6e19e2f3fcfba2cd7", + "spendingKey": "29d621ec2d1cfe03292a059c44d0ed163baca14a0a7d03cca827d03910cf0c99", + "viewKey": "8de07834cd61c8422a60e4419d79bd1420b53de9f94c542489d2db38e32306eacf3f03acb60d00174accd8da13af78b8133d56a7f07e5cc17c37b2cf62353455", + "incomingViewKey": "f1690a065741b6688366d408daeec27d651d94ecf8c67eacb68de55eeb7d3704", + "outgoingViewKey": "532704f97b8c420921a8b09ad633c105d5739ef5f64ccac33d4b3cfc2f57332d", + "publicAddress": "b2f253fe3fa933eaba3bbda5754305ff54f08f98ada2b6538bdee54810e1c3c1", "createdAt": { "hash": { "type": "Buffer", @@ -94,16 +94,16 @@ } } ], - "Accounts Expires transactions when calling expireTransactions": [ + "Wallet Expires transactions when calling expireTransactions": [ { "version": 2, - "id": "551bb7bc-d45b-486a-ad8e-0e1e8ed495c1", + "id": "fb13c70e-1b26-4abb-9f34-a7914a8b94c2", "name": "test", - "spendingKey": "cbcb27990b4f31f89deb620e4d2d98a40b6e5bff9fa1345ab72e695d227eaf57", - "viewKey": "6fd47afd55a0bc439a1402ffc8632a0ec6bca5f840f12b2f9214bb16d1d09a52f79ec0a2950e60da8728651bb527eb2fadf83685d4bd56bb2c5b19887c6fd488", - "incomingViewKey": "2ed8a80ac73bf9be076905b7d2e4b5da6abfa9ae96822722ace528e814259e01", - "outgoingViewKey": "2421e915bb5e4f3a38f0c190dbbfa0815e10af2e4da6948bf0802aeb58665c9f", - "publicAddress": "8263949766022bee3dd7e1922ece620f36bb67354c1e93c8bd92c14202c5925f", + "spendingKey": "7158f630f28a65077881ba4030854324c3fe8545b83c388e4f35b5f5e41ee983", + "viewKey": "36fc570f34ac57906e1f285cf2b294b726a8f84cb0df4aeafdb915759ee379868f9691eb32d16da4ee32e17db84169d233dab834bbd8eaba2f54f240f22cda25", + "incomingViewKey": "e37cc325661a2d33616f582bda4faa137cb6562ddfec776aff0a9a9d842c8703", + "outgoingViewKey": "2f1af7c1b804e91250a59e082c997964c8a926b34d5390913e16d15bea66497d", + "publicAddress": "586479413805dde474f5d7fcf9daa5b06af71f1166baba6c1a0942a2bfeb4a45", "createdAt": { "hash": { "type": "Buffer", @@ -113,16 +113,16 @@ } } ], - "Accounts Expires transactions when calling expireTransactions with restarts": [ + "Wallet Expires transactions when calling expireTransactions with restarts": [ { "version": 2, - "id": "0f34f750-2310-4a98-a2d6-d95f68a7e0d1", + "id": "72c34a4c-eeb5-4d34-a2af-c4da1a23f1d3", "name": "test", - "spendingKey": "855078cbc72725b1b6afbcd561f56ac2c27295762ee2a745c1a871c509e4a256", - "viewKey": "4dad633997cb425e4e2154486d313b08f8bc3ccb307d06d80095b888d406a885f293a25e2fdc97a2c2e28b04cd8bf8aca679fea54cfca25bda0941210a9c70e1", - "incomingViewKey": "1b23d6b6615199f2777d8e554fe734a7856145f3731c0879777a3327aba0f207", - "outgoingViewKey": "d5e0a6c177c86d353339e427957b4bf8b6584d49b36f226d855067150b73544c", - "publicAddress": "fc90f31e71a4dee563d36b254f4a53a3ebb03dd51cf8d08159a5ed3270eb0b73", + "spendingKey": "398e166e4cde0422f2c0d2fec5759958610205361ff9eb31ce974e020168e31a", + "viewKey": "eca5e4d4f28ce32451ae3e3f01e4864f3b961a2e73d42f9743027b4833ad60f1b2df402106b1210aaab43a08e80a679fd322a73bfa19f8b8ce943b4745163011", + "incomingViewKey": "f6e6fe27825ce209adbc867760668dcd11e7631d9b3efa7b8c927869fac63503", + "outgoingViewKey": "0692ef61e028b9e90f41bce68c5053b1890ebf50bd0db677c20c7a98d315e650", + "publicAddress": "a3770df2f3bac1f0e9e2a69811418deb3b92ba2d94351f831c702958964b52c0", "createdAt": { "hash": { "type": "Buffer", @@ -132,16 +132,16 @@ } } ], - "Accounts Counts notes correctly when a block has transactions not used by any account": [ + "Wallet Counts notes correctly when a block has transactions not used by any account": [ { "version": 2, - "id": "5f946739-8c98-4657-a802-ac609909fc94", + "id": "4d5d361b-5118-4b2b-9601-7d4af0198b13", "name": "testA", - "spendingKey": "581fd8205900dbd3dcaa624082830962855b9e2e43c90115ea4882177c1b969b", - "viewKey": "7be258d631e7ef04808faf7556aeca3400d2729ca8e758eb5631aa3410bebb2ac960f6e4461aab05c2c2f0c3ac689d55efba9eafd9bbed1e009a603895a8c4ab", - "incomingViewKey": "c0e6f5685200893d67d79c54ea12835b896b700d081a031206a0497bbb39a502", - "outgoingViewKey": "d2a3a99145ed192c1556fadb459d93223db09c87e97d003a4979af48f3605e00", - "publicAddress": "a639d94b4e109dcc4ea9ae3654ef9282666c523bf7cbf47f34a18f6ed2446435", + "spendingKey": "d09c7631ef3d573a2bb98ef384f10bc8549a30c65fdd7d50fa74d746fca360f5", + "viewKey": "360e80fd02809ed16a14236cb50954eb1685e0ac8cdf566f0cf3ec2f3a08b32cdb81fb63cf2d9a30291347bd645cb8cc6e4830fee75e9cfcf4f5e78e6678afa6", + "incomingViewKey": "1df9ba51ebf4ce0cd3bf6e488fd6e14c7b4eebf82380fa6f3dec93c513663e04", + "outgoingViewKey": "13875f0910a3bf7825e9ef36910fa1379ef589c6aadc460035d6820ba2ad9881", + "publicAddress": "6fa14f6d8996ca956553403f0611b1311a8b1a2c929cc2a3ffc4ed9356d575e1", "createdAt": { "hash": { "type": "Buffer", @@ -152,13 +152,13 @@ }, { "version": 2, - "id": "e9973b29-273b-41a3-ba32-c2adeb9438bc", + "id": "53331b92-529d-4480-9473-a53be5902f6c", "name": "testB", - "spendingKey": "2741c80430da6e450e04f246ac08b7bfc9416bea7314abc846fd4d4052f6fb1a", - "viewKey": "7c92518b732529620b5ff72cf2b9c08c7e4e270e50768505fd7c6c96480a65000e50218c7d26ca0011dd09ff7ea53e244af7ca3a6756f43b89e3fe72645208b5", - "incomingViewKey": "283f6320fb8a5518f070a0a5bda27e2f8fdaacd30a4ddbfa427e64a9ea277704", - "outgoingViewKey": "1d0f8eb1a828baff2c9dd5000ebbc7120492fafb662e67fab669a63b2c1d1348", - "publicAddress": "a84f4616968e0cf54b63b6c91cb66a480faf5ad847d5f7d6ae5e45f57486405f", + "spendingKey": "2a5924b893eb7f1cdb032a3f2b638a376cec2840dc55fc87f8952564d401dd81", + "viewKey": "4cb6c14fed9dae67052f141ed09bdf07f02c400c0faed334f9838fc3909ae74b736fea3cd0593a3f0f3cafec308f2548b849dae33438751790c57322e6863331", + "incomingViewKey": "8275b74fbcf416f52f31d7e883b36df6f8b6bc168f208173cc3cf9636e2c3102", + "outgoingViewKey": "a50002cad0f1c61a8fead752e6ce103b62265767ba29985b4143c5d30665b7b4", + "publicAddress": "59f1012d55cea14dc9d258dbf60a63ccddf2d85d74c95ac085fed7410a6a0145", "createdAt": { "hash": { "type": "Buffer", @@ -169,13 +169,13 @@ }, { "version": 2, - "id": "45afc129-6df6-4ff2-8c72-05ee7547e689", + "id": "0810dcf9-f5df-4045-9663-858a26a2f932", "name": "testC", - "spendingKey": "acc962ca7715415b78b2e9386df31327a4aeb06a4ec0d7d1833969ed9f1980ff", - "viewKey": "f6375120234cae693e1c354aa94be40c4cc8f5c9d7c64bf52e7a84ab05261b61f175481db0c32b60166f969fff370cd485d4a65b5528d658e5cbdf9e3b4ad261", - "incomingViewKey": "393eb1d5aa3e315804c485c04f23c02018029e64fb13106531819b0a40185800", - "outgoingViewKey": "820bfa23b3688d99c926749a247bbc1a7b1dece903a42fbc6a32feacf0722c8b", - "publicAddress": "58202e7313da12e64043f1c55af463932db9e0e61ebc1d65866fecc59ca2221f", + "spendingKey": "870cdf28a6f9ee588b0fb9c7776f7f6b37d361dfe65bc599127532b5fb3f02f3", + "viewKey": "9416724c23ad11aad13f54ba9daaa7f3efb735353eb34e4f5939cc1326c1bb9bdcf2ade39d4902b7003d600b61cb592cc23fd627a0edb4ca74b552a83e3bb9e0", + "incomingViewKey": "1354d0cee768772777ec9228f82945fdab1af2a38e5bd940f36d2edca56f9301", + "outgoingViewKey": "0c7be748fca8a0891571a28737c8cef8af1bb64f4d81aec1324b14310b1076f4", + "publicAddress": "99bbb93e45833a5bdede28bf53ecc4a368113fe12780a0f2f64a7db524226aba", "createdAt": { "hash": { "type": "Buffer", @@ -190,15 +190,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:RgMQs96EsbmIbmIXbXbx4dXO598CXimoBzzszFn+T0A=" + "data": "base64:CUAkL856I8miEhI+jlb2YDdoi3VSLixooH9GBZ8v6l4=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:1SfmH6VNW4sJWvO8qyn4sj3xhnAPSwoiMC/XWsVwFBM=" + "data": "base64:RtmoGPmxzXSeV4j0iAHQMWCbYoN9EzjepfiREry8P6I=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140687756, + "timestamp": 1698950634978, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -206,25 +206,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAueuvvz9hnDL1KTGi/xcS/7xspWzceyBFTcUJ8A/jEjOOZ+zjROzmEMpRcoxG8yN0N7uhJJT0glFVztS0OCwcw0fN6od0lhzttoDYTNaiPrmRMyYvoKl7TlkQ9iwG5qXEQVjdc5Al4fbeaYS0+YCM9jOVOAsPsRiRUf9A4189WOkLCwhISd4CBzRsShi0kwwaUAyq4GFNZBz8kQxtCQBTzJWdVgOqZcWYZNPIU/TR/nWi3sO4Pasmp4kuDALPl8vtZodPQmOAZuIJavcyCQkJth/ZIfIRvygo2PKB9wpzvPQETI2iyFgczUOZ2sH0sm+DUFqV6SWAiEsa50w/qEHr4tNt0vY7T0gwYPmjLw0vPkmnPUiTu9sUgxgs1N/3BMFWcF2VtIuk4Hk/YBzMB6J0MAN1SI6DF4KnIlowB+vwBwt+ufiXi2j+EXVN2VaxLlkuACxqzaDNoSSPegnFRx/6wNDNeLK+ifhzqScD6LlDc93ogc1uMELIotU6G00PnCRGaDVbkocTZJf3SdYuJCAA0xiGy+M4bYMIxLtFq9rEbdQP69Tucrs+w4ChPxYSX/FlKRxixjBuox4zUsjaUOb40KUC8h7mqFS8w5MTBggGsumQIgKS5ScgSElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwHV17zzfcscb8m6OIADDgj1fdPzkJtrXMERuI6+RPL4EkL8dlyEs7r5Bvt36zezT2NFzhNutHcoMVqLZ51oGSDQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAz5HDSzuNqq8CVnZvONP+JJOGFNzTiCE6njIlwrVqNzqIDz2Z2iEVw1wbAFw8iOPcB3C/wsxwab0TPXaBV8HrwcBfXTDNzECVvMAZsgn45vaom8SdNuNyIGFo4vReNRDuSLeamLSmTAvX8REF416dLddGHwQzFYFKD9GXzLvQqM4Z6cPhyifHuUkARR38h2S/4vOFQ/8C6JZGAbu30h5SuChWP4WIkUQVxW7bkJEIfE2pNSFBZh4ocwoeJe+gOx8rTdqr5zbgjWW+/6D9ys44y2RQlVN3kMNyRS8ILW2xVcP+f00nRynSONF1j5/phON41bxbK8gKq3Q+KT7sKOu3y8HMqH7cX+o2RbGuqKAOM8v5+IUf/pza9/kXI5Uh6Zs4xFZlEbK99WnVmPqICWYLagrwhm8d3PCo5K6D1n13zS6ZFdqSdusc8zZVH0akznYK0aVTqedTXAkpibAsgSK3O/QuXdjx2OcOWrZh2+WNdzp4H7P0zFoppxTRXCSaKhDdoUFARTm7LS13xSlTb3bTMYw4a6flKL8jfGiCcqwYHWNA6nn/No1srVzKXY3r7fCA4ZT4tjAuCLNG6vx2HOuFj9J6sOjmr3Hpnec68naTv8ljdN/GHiT6n0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwiiLOz4SVsVUNV/JKzE7CoFAas9IWFLHwwdoet2kR/T0li4Y1J918RYalF7xDLFvsj5qX65CQFZWfNhKqpg2oDA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "40BEA7A07D4A49CD33A0AB485C4EC84BEA3CBE85432A53660FE04E942AE87C52", + "previousBlockHash": "24D3F8BF771C1ED70CB4E73D4A4F422B108888D804ECE9DF53CB1EDA675D6F5D", "noteCommitment": { "type": "Buffer", - "data": "base64:XTHYv7HIpeOairtHrZ8Rd8wMdGsARdMY63iEN926pHI=" + "data": "base64:I0HQkqwfN+mANQ85J/kfNfSpGt41jK0CBWwsFisaCVQ=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:52tBm+OFTw+oV3mg7zq2CuL54EqpOfvNlNDe+TuHysg=" + "data": "base64:Qf/xj/i8BKDsdMLZdsiOBUZNJUEM7rAOG8MeWDe0/lw=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140691366, + "timestamp": 1698950636409, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -232,36 +232,36 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAkGaD84lV5pUW8uJrRir7lVJK6Y0UBGoXLDW+ZyfEcKCTHw6IhL+b3WPO5DRIaoJJQEb82ctw645XRWU6qsv3YslJRyOJ1hO1DWXUztOuLcallOVnJ3O9ODqMixJozqzLnwN1wNYTNjqXV7CP1e2rTLZB02vEut/ASVGF4WR/J0kQTAOBY0pK0YaJtxgfXS8+wRBgg1IMbpIRA5cjAdafCp+qBlwnfGJSTuELPGjQRqS2at/tuLCutkWCWw/v/ZlzZS3CrB+BX1/1o6rN67Bifexo7QNPxBlDVWubuexFwnf6j1lwp1YGP/zvSLjVLeHR/P6pwrs2+sYLmKd0UpufBXPHm9sB/THgefVyGk1yImq7p2Csa1RZcQ5wjhXdMmMpI64RazltgQuO6zvHWLtZmtdpvzqgRikozzxKO/sKC9jHXrMbkGIckYgsfnLj3Pd+tsCinA+3tpkhSwPfVPDyRjPRZqtfJCLbmh65mLEcv/S+QgCOG95bpoj6LDzGUCvqzRQQcdl3HlXSqEA6iTFBHRFEnzAAK8hdVZVaC/VHC5xmTFywxBk0E3KrRev8xy1dayiNPJ5tfuFCWxlLpk/3y5mGl5pclh7FbFboDI1wrfBgS+cE0zA2T0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwoi7ObQaOc2dp/ZNHasYO6d7V97lHE1c/9iAUOfm/10oMg/gTqqPwWqVX+S7pwTV83zu/61dDrCp5kmeEeE7iBg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAACcRHCwLAQoxpNAqM+dCf9xR8Dcgktohy9O6OOJV9JGuoRFro0cE3OqT1jeNefHgqGUuEw3oB9fHiDDnsC40xdiBf0lzuJ9YERtMjU26gp7Kt1LJXdSe+2kHphWJ2tOFXi/2k4MsBHsTErRvv6GsgbSFaet4nwM0jliziSR16/gILoszKcuu8jyC0OD5pLFGGk3RwBx7doDJZrJrR6iCYARJVmq9PkYxYEgvLymThC8SA9X4Sn5YYiAoqdWU5NgPOd6z3N4qYJ/4Nw0OuJStS871vl5Zgjp76g4sLVeWE5FufZO+++10r0Z2FftjbUyX8kKOylbi7OHdilye0ZV7gaEEMGjMn08Pk4j4d2kiiBS5VaRl8SX32lPsdZdr9IWQ2ue6pfI0WX6fNszRdnuTOG+rPlLRMK3mKDJOuVsZUXByrditWokY541HMcGjU/IlPVSsSNmLD17zhLpF+jmFnHiI1xJzwJ5ZUS3uEfsSc1KQfwtFO7HxVGqx3N3g5nqko5JAws1DyrxH3fYVzzQl3lb+fkpfUC4BEkeVdaHkKaq+Q831pusD6qb3Yy+vlLk9i47JI/pCuN/uwXF+SJfX77iKT+YrKl2YeaZE8YeZDJR0prCvDgd31L0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwnC3aOgWG8SSRi8UJyXfIVgnApPTJASDTOFvfqGUbGT4O5epM3sqy9yW3z4H6kWgNiaeRUlcArOs50MaowB/aCw==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ] } ], - "Accounts Removes notes when rolling back a fork": [ + "Wallet Removes notes when rolling back a fork": [ { "version": 2, - "id": "ed98bf9a-c04a-4290-a1e6-8e733261598a", + "id": "7b7c2d81-f683-4845-9935-0983155a9e9e", "name": "testA", - "spendingKey": "0f6c486eada76af4a378476fc9b19173e0a942d7f66b79ec0c2c0947a5e1cd31", - "viewKey": "b4845b371303674a7cc1bd216d6d9e120542f66e8206012df1591b8985192ba5c93294adf70b7868d9ab790364c9fde05716520528b060e64fdb71324daf4ec7", - "incomingViewKey": "954498a6a3a67536b01dca339b827ce1ef1fb3907daa831830d827ef0af54602", - "outgoingViewKey": "80ca93ea1d8f411e2d6da0e8adef5ce190435e5d92b27e92af6becf289421a63", - "publicAddress": "5d4c8fdefe37d5b785bc2eacd118292cc759dd8db93b2f5dbd6c84039e7b60b4", + "spendingKey": "310886d443be9fdb81aa311100e268585e57659122cf9a98c0ebe5d129255103", + "viewKey": "d0b65153a81ce94b54914579cfd3093645b188dbd32c14146ed55c067a0872b830573e41f708073fd85c5e838530e5447d198f3c942e86835f250eb8f5219b8f", + "incomingViewKey": "f12a750df0516c91a9853b262a73f34d2b5788a9d00edcc73ae41fbd2e672c05", + "outgoingViewKey": "eb169890103ad45225f1e10ebf49f8ca65776b8532c0dcc6aa19e2240928c450", + "publicAddress": "d25f5a771651bcf29aafed9d61c21e56c95860ac8d720a31a00d1861f17e8b2f", "createdAt": null }, { "version": 2, - "id": "67158eb5-e9f7-467e-b04c-25433f9f9d8c", + "id": "7b6ecb3e-a02b-4c81-a466-ff06b013f085", "name": "testB", - "spendingKey": "71c19e24aae8e8725aef3f3160a1cf5af6ad14380624d5e69e64d1484b8e68dd", - "viewKey": "02afd96ab2847964acae038eb671bc41c94d1f2a4bb203f4c6cd623991dae2edc9a062361dbc4b257b9ba318005f86f7007fb68bd063752c46e8e6920c0eb255", - "incomingViewKey": "ea10cfab88243deb1a05a8b96c5567364581ac0051d844ebbc424ab34b3fed04", - "outgoingViewKey": "1561d7f31373e0bb60ad5ddc4c6b7531b3b2b0a88034421a20c8b0c11aa27232", - "publicAddress": "4dc049bd44c5974ef513c30f05ba028ca93c8fc30096228fbb7a0db1ca8f3eb6", + "spendingKey": "5339655e1a995a13796b06fbe43415f27c232d24ea1628af356132b8facba022", + "viewKey": "e087162a214f2dd7134e07f587acd6292117378cde49a80c1d904d260a20b729221d83335200d8cf03ea9bdfcd4af24d8c1af98508cd579f8cf4082da17b9444", + "incomingViewKey": "39f4d141afa2cd72c09b25c361aea4027d54ecf10ea21ae6eba41d6f58cff705", + "outgoingViewKey": "5675f5512c1abd3b5c548b055dda9f0b871dd0c414dbf6b06db3f3359a6cb232", + "publicAddress": "13a91b977120d4ebc79a537af972580573858ec2cb5fa7e261bb234bfd919a65", "createdAt": null }, { @@ -270,15 +270,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:TEmt0HTrV3vVQuMjE4OTsukz+fBfuJhymQXMG398VFw=" + "data": "base64:2lhvfvxIZe+Q7uXC2HKcpr7EWUmOOZqfg9T8tNWh9yE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:I6pWovZiAozPiSgNhh3kW+hhIRMaXprjl/0v2hELSiA=" + "data": "base64:mt62T6XDPAG52lOyW/Xn/jtPRhLD6UO5AFu3MiC8WGg=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140692338, + "timestamp": 1698950636833, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -286,7 +286,7 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAQh1oOopJ4JT3+wfT/9xSDzfGkMU5pIa0shf+orEas92gquIN6vIYDGYJNJPGwVo1fD7TY0KewnlKwlSPQ3jQXneG4sipcmnpZoYtBWP+jcWpQVlSr8h8RBePfB+2LmRTV1xdhW37/EkzpWwZdcQ1VudZeupnXbb7g8ZEAjFwVasQVnbORHx1sbDJyBTe5S/k84GLKc5xqy0qYrz7Kp/RZYYMO0L4VghFc9zw3/ZJs3mOigXcDgn8P7tUoH0ysD7nA3INGlqpyugJrzJkxRord0EPhCFQOFquxwCanIjTCDPf89r8f8gsRJzvU95JBWPPxqFPV0oVbaR3bfk/+O4Dwkwb5dVAItE8TC2jTBw/5wpViXb7trHQPo2EMKDJXfJFQioDSBROJcNTn5GqaF8fLl7a4YJbr0tNntlR0s+amO2skp4jO+4sTvC6/1gg99AZHx2FiNIvfqsZb9kfeSpHunMyYUGJ0baH7ubeTMljw9QPnIxjUUP0eg6HgH/rQE/db94GK6IdYeW0NKlR/JLa8uY1VEHzOO/KP9XvKbkhBvewtMPN2K8TksFBxFDCn20cS7k2kdICGXseuyQjvt3oAZT8M0iOd0nv8GmeWXlpS5sOaGGrwdDw6Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwSozA9jnni4A5T1xYN3YtBvNS3hgwX/8y2qS4uayJJGt+bIvpAgYflND/a53yOEt2VsfDDtH1Cb7tqUhHuCp1AA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAWi00EAV9DxCRmr/7z6IlvwN7jQfj8mRxwNm6W/KjgamYPZ45IHbOGgVswiQ54Wb4zzjn1Tjym7mPvCukCY07L193yAZb8CfPzW5TXbuIqD+VdTlZTP62ePdB+OWcrxNWFrlPNXnD6y+7RwYM4TPN4S5D0xY7ALjx9RUYE13p56kKVMiNvWvvPwjA15VWFNCzGxO7Dc657n6/FveBatFnva+gQZt7oH0np+ZyjNLQEgyyt/aIzbyKMZHSb2OqfFYrDJZQxxJE8fnbPk2+DtXoB7+LLZTVj7dyLY9oCxdt6n/Gkk1njMb2ooP36CHxbadWq7LEaorv9yv9ozP0B//t8lNqEtLd5SWJfVH6nYuvGYc1a7tlEx/eOfmwAwl40eA8CigtLeC/o23nX7TLI8Z8fSvr+9C50DoevM1j+CSGj714K8PJe1DyLegZSWowfelhcaM/z8hvHzT73Qe7H1wqApj7PcbWHoKowgis0NAsCslV4DWpoI7ZAoQ02TdALsGKr7NnipLe9/BZArIFxJt6YOcsrW3FLn1Ni4sEK2SKQBq/Nnw0BLebbNha4AEqkkJLOACaZG0gEBfW967/SRJpl5iJ3mHr3yoezd9iTy2LKjcAbycfcREoQUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwg5bzHLXAw/pec47AZaFOMDr1QJtxdj6MDBjYrxVRU2VbPc94/4jJ3ISVduUkVZRMUMwT2J7Kl+jDJF++tvtWBA==" } ] }, @@ -296,15 +296,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:0ms9TtFNvJjfETT7aHvNDPMO2qMsfQgW20C32+k+TwU=" + "data": "base64:s6K7bpprp5DLUyBYmRelYp/MxEQM3BdRogpMmfo5oBM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Kb2pp0/aaDlpLz2q8UMjyOeIEegeKG9vpH127Me1Mok=" + "data": "base64:CW7T0vGNrBJKEbwutvtXHznW9ERjTEumpoGn2f2SGZM=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140693071, + "timestamp": 1698950637124, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -312,25 +312,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAcpZNP9gW4PseRANXG9VsCX2N5JbqZw60dpM5z7M6TOWgSKayZsNA7x7Y0i6swzG5s8qeSXkLF0CDUljYGcfCJWgTFFG1EL0lT709ojRqAC6SnfkmKHe4mq0u2YWLCYaRY49OKFPh2tCN3GalbxM2Hcdt2qkreHaE4FUx44f+Ux0EjBxZ5vMzJouSt9BLhSR8pVytPgzTfc9aGZrvb4n/Q/M9pV0qHlk3r+yhNFOucRSyeb4OU4K7hwN60wsOUUts7V3re+5nfRs4CPIqz1OKkmFKlmKiISQmjECwGrlsQcKoky/vsFsOembw0eD90eCK/fUQgLwN8N75w910RQeyz5mlKFKQm/F36/xHaLh466FWx10pJ19KTLYqlFGgXtBx0GgTesXy8mQ4XkXquDE78366B8YXP88LqR0T1RLvn69SANjoxDBuzQMzw63n6MXkc1Sh+HEYxs76Ch2RNNC8t3WUzqZHEAKDZERbjp27coWJqvAPprQN4QU+gfMe6GFiC11q/C0oR8S4mHXfZSK+LNd8PiI3rrnsTHRKNislhWB6kJcdQPg3QvWSNHHF1oUFhZNaL92yipYmz6LXsbrYNUyRsHVUakMyePL2tElZsZ3Q0hfAKLEq1Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwuo9B4SQSE3otjAazTvvw98BL8EHI0FaL2gZwRWyiTlCYp3pSEZ9lL9g6kJOa68ztkYJNQF0l2Gsd/bZ8Eq9uCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAASBA6NzVxDFM2m4UOBTHfbF3hEl4I45N3VLLRVyBqseWzzZgGPLG6GyPjukMx/hycOW/rCp2nKb91EX56MlyfI7nDrWJk7Iuqlnuve6eeqCuWQIQ8pGLbFD719/5QiIZXzY7regg95aFSUXae9oNNLTDVci2uqRXPS+7x/AgcyjUIo2BftK9VxnJXDkVh0vML7dMFHavt99BEAXg3dxvY4uaUIcrIrKfOJ8gnaB646Qa3VxkSein32CIODQo6tCEe1T5FELE3PxphVYKTTzJXi/TWYyvcQylojBwPpuPOWVc+nkvOVEOpfX0/s5ILgv+VVNo1HxOzmFAs1LqqbWPG2qJzFqBvnUrPUZC2OMPHRWDBjV0VsypULdyE+ma8YIMj80ucqkGx2C5YjQtFSHMusY8mkh029uNojusVunja/htIEjnEYNMatl6ltiz1sFcRYMpOtzgGraasXqkl/AbfHDfe+pDTeN/hQNhUToC35lA2lLFXQPu2GoLPSNzstK84ncjBOpYKmF01fZQkcYLyAjKpEhDJwNqSyu87P8ll/Roxh31oGxEQXQRhZih1yZ8x8jyeoo4CnbvPiINvB+DVxmxgJq0TEX388e0iHd008aMVTmRCGr6tQklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwatWbFenzBMIkpsbPJt292eZrvejZ1T2RPM0yA9Y+/bpEL4Jdt4pOap1lgfL0aeb1nGymxUho2JDXCkiTjl1eDA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "3305A3F8E1CCA68D10649324D0FF01C456537A07F82D795EB4184CDCD860C7B7", + "previousBlockHash": "4DFB71219474FD99D025CE4518832087FC5990C5F90561540055A3C4297605FB", "noteCommitment": { "type": "Buffer", - "data": "base64:KKETjL5nYkcAvr1whbSTZm0qxAXhgc41iwZM0WQWeGM=" + "data": "base64:O6xo2QB4Jae1Vhc51sFQ8oz/XFsGtL3DNDlUd80YnzI=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Th+HNGwzxAF+OINAHlClYUmbvleeanifpyR1kD+8O1M=" + "data": "base64:kc4tDVP6gxx6OvAPm/T4ELY9Vu7KSEp1zzqD1ybOxCc=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140693752, + "timestamp": 1698950637389, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -338,21 +338,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAPGV6aU63uYF6NdOsLCO40sJJ5H2v0NZyHyK7KSEF2YuZRx1EMPjzdc0fU8LmhP8pD1Bja0FAnSrpF4mVBuN3RCn1MiQDlVIdYaABxh8EB0WxqNGLPo/+ia/KgO7s2r/R6OAsGB50KzEPVrwAIH9co7UKr+X3D0/5AJ4qMfylG9sOt42tkxQxgUBPgQSKJQF6IjNAIb7mNCgQSafiZEzFcBqTkzuCLLoxwM0XqDn7Qa6zx+quW2t/X762pRy0k47UPuS4MQ3yESm673ZVSM366sHwlXkpo5JKGsj5NEpSbqyFabOw9j14pWNlkz1SFLvcouDlGUCa/zKFdtYsiP+xaVS8Hfx5nQdvhX2dSco7HY3SfAazvsaV3tZLg+3HRkYRFzBqZ6C53sO6X1kh7mcshvFdjQfhpPqM7JBmR+kWDQBtAQxkabfaV+OH/4TzGhpAuRbCRAVS5FcUGFGQLkz0Bfe0UdA2GRoFIiQvcJzEECHsdcqht/tFK94g7/DHMTwBT/Oba0MiJzrOt/VBot6WvgohPU09YyBMXPGjyZ2Pe3tl3vOluHSZdhzVbP+maLQ8QhAJgmY5vbeltJd0PhMyTOVO9NpYCmXilWK15EY+tBUH7r7GkfWMMElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwt0JjRpx7yLQnlL9Z34BLjZbSCKb+8a1Df9HuAGyr1CoP38NFb+UZDghi6Z9593ThwTYRGYPshHL6VlWUAzQ3AA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAR9tGm9jvu/r3585MCowbe0CvNj/1yL6rO5Y7L1P8m0Cw1mhWqCLeYoeujwwwnLeO+WfAl2btixUpyBOHpV7JjyJF2l7SW799LY4oEVMC2iqFy87OVcDzFCkQr+FJa5uB3CxYOF3TO0e5DhtrgqLGmqLJHMaIJkIqy1sMeYyX/0gWWu/cilNaE9/KAJnjyfGp1wi5tShhaW7zycY6tss5x2hjKpMcqvCSpx+Eqr70nDG2X7HCjOwjMJfvjBtFnKLZ6Bwis1KXXQ5lLxiAsHpLd/NB/v8sIZII1sWTp/eCaQP7+1oQ9l+PpRH4os53E98521sLngWUtzkwLgF+fDqVEuxshrpizUOPsIsV4+AMNUqcmxJJHTHd/C9re3J99bkYzdVCyTZMIMjVfKn2j5HAgba4PJlV6KCGysrzQiB2zpZ+35bum5A3VISC0HSudFMMnFdBIlPvygGLPlFaX54avaO5AGOqN4NHF/cMc6svyYnKHtI4cpYoQ6HA6hzhBdifPkDcqBu7DwmbnsDmAjj3Ql4T54RZxm14XMVZq6WA3wnOYY2hmGjEIgiu673lKf0r+c4sMXa2a34GNFPb2vL1aIfdvwKTNPkFZznDBR65t7UxkP4nAXYnq0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQcVDFGffnSbX5gNRjXlPa2VWgZ8AbjiDzKPK5exGCBjG+ARR49RlGSYjCJjYZetApjsYC4g6IESWeApiHYDVCw==" } ] } ], - "Accounts View only accounts can observe received and spent notes": [ + "Wallet View only accounts can observe received and spent notes": [ { "version": 2, - "id": "bb19de44-14e2-4260-a7f7-82c777dde833", + "id": "d8976f45-ebdc-42b8-a4a5-36a1f7a4f2c9", "name": "test", - "spendingKey": "25ea2ae409ec31cdc9154ed106353d843e0b8f8935ace1423aa6aae2f3fe7c84", - "viewKey": "80cfc6c24e8ee4628892527d5959ee23c68f0eac2437ad6bb4ca194fdae0d7813047c30cbe8f1f02d33e49e95f8c70fa8c1d5c13a85fa975b2a0bef3a288da2a", - "incomingViewKey": "07bf989c7e090406571463425f7b27afbbda0e84f39c30fd871f169b143a9305", - "outgoingViewKey": "9857ee1593f2e7191230993a58cb0e664f82ae9804d91131c30d7fe35dfb735a", - "publicAddress": "d2b7ae19377e39b34cbbfbecf3a97aa81a53961dcea78545f828d70ec534b68d", + "spendingKey": "687855af521879d6290c6e579c0f2eb54f08a53aa1eb7f39b21b1a9d80bffcc7", + "viewKey": "6fe4115e419824e301f96e18932dd7bf84ff06f713fc5eedcbf1802e7410992c602aeed7b82f60838444c07d4edc8b1444991dfd85f123e0104f1371626a85f3", + "incomingViewKey": "f3f0b846c15777a630143747e3d15a4df6230bdf96fec58258deb9034800e104", + "outgoingViewKey": "3f29c5fcea4ea5c20c46e22cc359d37c8e03f78ec7ddac62b8d3f142f2648ccb", + "publicAddress": "ceff9e94727cce85870db3be4169d03cdbf147f3a597d86ba96568b8c380d88a", "createdAt": { "hash": { "type": "Buffer", @@ -362,27 +362,27 @@ } } ], - "Accounts Keeps spends created by the node when rolling back a fork": [ + "Wallet Keeps spends created by the node when rolling back a fork": [ { "version": 2, - "id": "cb72b3e3-c4a1-4dde-b355-eb4d21b6686f", + "id": "96c36902-ca83-43f5-bb5f-d5f5d6482f36", "name": "testA", - "spendingKey": "ff0757123cc4924abcb62c546b1c65f7fba927c9ae04375191627087c8c4166e", - "viewKey": "12cf6ad9681482937a1178c986d92e83334bbc56f23df65bf655123f2c93ad89b6ce0e4f1a546bd6b37536a891dfb1a79ace345496b85a2c7a100219d33de001", - "incomingViewKey": "92c16fe947380803b44f4d696006a2b0ca2c8a8a3d0a904ea5987cbad4ed5705", - "outgoingViewKey": "8f3279d5f801200e2f17c9d8c84056bf26a7b7014f00c87b383a9f87f5ce954a", - "publicAddress": "f3b463d0b5fcda2f95928b507de942d3fe325119a2815aeb481abfdb155150b1", + "spendingKey": "7d41b5b72978025febb1d6026ada9f51c0433bcb8a5e407a639cc0bb23a8c04b", + "viewKey": "83b5d4cea62582c449818a1f5eaa7f77596a50601c59759043ebc5c01923174ac02c1ee9b1d6cd499d7e06b337916a3926ed2cfa40b09030c574f6295ac171bd", + "incomingViewKey": "c74c8ad53d60789487c6d8800c1fc7cff64dfc891f9cdca143b61cca81952f01", + "outgoingViewKey": "1cc380f2e04e929dfcb8d2b06bff7ed97526ca1e4072f23be0e15b66f43fecec", + "publicAddress": "4ba12544fc8ef7b1ba23a19dcd494429aebe55b077eca304d7b1bd9e254dfa06", "createdAt": null }, { "version": 2, - "id": "cc1d539d-d96a-4186-9b12-c61bdbe98e37", + "id": "d0a07a88-4f1f-46a0-9288-549686159c74", "name": "testB", - "spendingKey": "a04648bcfa9a677df8597a1b5ad0ddf96272d5014a4e927523ea7a8d8edbd15c", - "viewKey": "f741937ee29d187432bf045dd7ea06fe3de68a0e486ab2a15fa2dbdfb028d18f51276d9d711b306198457800f4d9e1f041f05ea49b7fd45824cbb9ceadc6f6b6", - "incomingViewKey": "4470d04ed4c08403aa2417c77ae28423643d802ab35bd4e20de1b576db096505", - "outgoingViewKey": "05d7b146c69fcb423e55e253fb87e18b0c054e4d8d8702c9ce3b2a8d5030bf4f", - "publicAddress": "1c979f7449b1a7161298859437d7a0a6d88e08d2180b2c77485f92d4850e9c34", + "spendingKey": "53f22e398b65aacebb2785d03cc9a9cf557be6858f624e21af35ed5325d87052", + "viewKey": "98b0132150d3c54e54690274df7ca4e6d51f3e55033b01db3097c7bb367c8aa3d9fb4ea5c01ed614b7ad1f689ddec96278caa566c9c56ab18d8fee52f55864b9", + "incomingViewKey": "254ef062fc6181071a236dca0079e538d45e52209fcbd35c4446e53a530c7a01", + "outgoingViewKey": "789e0a064bcdfede5729128c9c78396e014e8f750db26e3e2a068d5522cc2444", + "publicAddress": "ef0972201732b07a8374ebb5831362c9218501ec83fafbcb1b6e91f9e9c169b9", "createdAt": null }, { @@ -391,15 +391,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:fAkKyf96+bYJXWw4R4awp4SXJtQy/wjHuO/Vs668LR8=" + "data": "base64:8lx5cddVHcCkbeVoArLnjhArhr70Qo6/KP4QfOON0iE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:1zhr8db2ynUPBouoI58+ieBE0lGRj6CWMxqAvGiY2qw=" + "data": "base64:KzqLqwpdQYkzBf4yCUYJGatIO7G4trunrY94AfIIqzk=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140699118, + "timestamp": 1698950639683, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -407,25 +407,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAzZt4eTyYm0Wsumtw42JgIu1Yn7f9mxwlyKpIZoRQ4GOnG95EATHBk5rqr8byivyVZm7F7lhfF6+IflxudzJGxaFHHVr6Kzayv+BMqiekbXmyneE064VSk1P6Nw7avN8cWIT+VTxJLskYxthyjgHR+ryJoF4kfNdBS71WqsKJ+qANjL+OEA/eeLo82e3MMjWaU2cgSWvh/D8pXDdvsuKY1LDXNbnvGCPYp3F9MCouYwOECyYYays1lolXtPBowgNC78vTNz1WC8isHTZQKz0q7LJRYI5h9qNhtgTo9YdZ3zlIobEfNhgE2TkYG/FzroPynj74JWhWmjlGFRcBlvWwPrJh93C+zJYz15UK/P9zVgC27fggeyQdWOtQM9UDQecs3qApHhdNKvU4ycyhe3W3FGhZwZL99KfVnbWF8D05XGqgeD1hQatLok8BNtXnMs+JtyLo4d7nGPLWDcQXyPQPaz44ytyR86LPXMLKasNK6qg8dPh72DDCRy5xmE2e44Snveqwt7wYaOd8DYN9g0mArtmdUDh0KAonZw7TQq2rrZLeEMou7ww8V8dvSdT+bOdvMMd2/IcanDp5EfW4zpGWa5OwU0aDV2CcSecC6s6WylZgOvJPixGva0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwu+UQww+bqKBvDMvYHt0BLfJYjw5y+qaO3tVzsJqdScunjQA/N7FslkMHjK+XgVfYjclclCaFfdzlCxFm6V7qAg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAJU+dTQSqldDhuot3dqvphw58zq9CHXiNF0msYEd8nzCSCwtxGMX7dRzHrvwrJyJMwQWcZ5C978RCc5wTuEyJGVke0MOVD1+m1KsLObDkeJu3a13Osfgds7uMlImNSToaPLZ4XnV2aq63T6lKzQWJE+8L4Pzi049fkm/bs457l2QRML5XPUQkwPYy/hPHgAXbQKeAdMweMjLqrDVurEyeuTtnCAuhfWL/ExNnhIak8DyyrOmhnU0cFurNaS1jayGC58FeaLfAzSnuGPQSoMK5SYs4q9dP8JoxtjtY+i9BpIikvrDMG7+99qYRnO0mnml2unGOPrp9+0qKlxQJUIBKDNDqm3aTQQwuZgaVUMqaW+0cizQP9Unre7eKcHFBGqFpm3PEAUrJuYEM4DIGx1ys4g8hpqKULfreYhtPa24iadBL3G9suhaL5qGOy+8jMBx9eZ1soAr6ngS5P9vt/MdXeuXW/vNGq8kG4ybIgRXJRQDtxi31oqVTxSvXE6Opuf05sucNSpCfvsxZdMxEYIequtd9RiYgkOI6DSNfIrUanSVDh28QSRjm+aTKIDfGuPSYrvNVsCFFPeuq9HkmEvwfw7S1K6qAWYq64Kd8xIRslBKvdlvIARrF60lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwiOd4G3/0UJKbiEFmVnfulH/cYGwn+8gt6FeChEjEgYeqXCcNHunpL9Ae2Hn+p4/HE/L+EcDyC9EAQaWkC27wAA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "4782CAF4409CD61C5E840662E654B3386296BC58B1C21F960B3F8A38B59AE3CF", + "previousBlockHash": "CD03C64798C72C9C057672771FBA80F97E4578C80D1000F719B87412C64A77E5", "noteCommitment": { "type": "Buffer", - "data": "base64:IF99falRteClo53lRjpCgL6v/Nx+hc7dZiCMLZk2Gmg=" + "data": "base64:f88Y37J0+y4PBfhyjpL2WVEpaVqkSfj/g5CJ3KxUjHA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:k8EEUztJ/tr1kE+bS6kiSTh3orEm5abHwVfW1ae5Lm8=" + "data": "base64:e4gvKVFzaUPhlvJdH98yHM3zi+51CDi2STlu86MHa7U=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140702553, + "timestamp": 1698950641130, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -433,29 +433,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA24iOxgS7WTR2oYWrH60kCJd2v+Qb8pLibvWAjPBrJNazI8agdrKDK4VSL3V4dK1UQcfryFU8MtW7dsUwYTrbo29As+vh+Q3OGBbh/rhBNseA+8LOg7MzmJyHHWim5295tJFhdfjCq4ycQfrIHCdd3lVhubXjilX1h1FAlcVHBRERX8bNWYCw5D4uOqKuf6VMtPahM5uEt+zWPEI20ERiuRPFe7KGKd/O2bGAMJtwSLCLJe9uk5QHvx8HLmEW/IoPPHtOba5vlGxOrkBqbDWCoIy3nahMG0pRpYG4MbM267nBxPUqSrszV+z87G942V23OdkTodaKIjTP4bTWrX5ESj6KJc+Tb0pyiihTj77i6ufGfBstktj8Bq9GF1bwnjcF0DAGp4kjJ1/j2s8YJBIfmNv3ol2kgCQMRAZdRRw0yWHFU1mfrH/qC49PQrtBzpRI0EgseOhxPFQx3tOTOshVSUEWtBRhsWw3QsZrmMztawdCfb38FsXui51wx0Nxj6JtCuMTRqoJi81uzmA6SnkQw9mj1Kxnuobn17k+XZ3AIEeeTcOtXSMWdSE4B7CEbS8N/2kJYHkfwtjI4s2pAK/98Ewh3SNIobsJdAZtA6ph18XwlQsW1vrLPklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwzwPpfU8Q1GbOyvrwlUYl//7BeR0T1Lykb1/3FGYKPdmbLGZo4pC+1/iV2nGHJBTRCp4lqZ7QAeeTBTcqJxSLCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA2/W8bhrZLqQPF45MTkAJQUMRx8OoYhq1WUxmulS3fzOJ7CUDSrWrfHEo7p8D+tAUkGmSsEICsMHa9biGaOtqaYhT5flkVeA1Jsx5fLmVp865O0cJgYeH9xodwcDyZwh7Hn5AhpzD9R/6f/fdAXRfuv/KitYPJRPON5TnLaoz65sCMb2Ypansc+VW9CsfyC31tVZm8H7kJ7g1MIMYL65YBGXF432GQQt8eE7FmLLXx36zjvSvxTB8rLiOwEgCTN7YQF+tYdkTdyCORp2htOskX15jY8cWW+6UpwEkO4zksO7Qpt/KV3O+2QRRZ45qcyB55CZZoCAY5TD1NG2F3JTeiD3/J0AkblWWHe0HSVOv0WdFFHMM1NqNbkWopNbtEy1vFB0sK5dbjsyQpLkmyW7lFg3BNz/SOD4KdMAiqWyNx91SMa8TFcKkG3e3PDNX0srPF13xVlu6Rmg5f/MXWutUZMwQIIHnA3EJ4zJhtllocIR4QUwO5myaRUniSxpw9auvzw/Dpwkq4PQX/mYYVcgmEN1yc8Hs0I+tl/D2MSMXgM/7ztVHfffcUYZLnEnnjbwPomhbXCPCZYqKAUxQQvv/cOcIsO6m1t95C5CE1YuYpkvp9i4XA78Ipklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwG/ZKfTeXubqklV7p3xwAn5dhvrsyMwY54YQ9FFCbDL8BGJoJTCbWVPPCPhRw0CjJMn/P/d9nfs2O9xw4rqSTBw==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64:AgEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39b6RNeYfJrQ8Gf3c0nx7V5O3t4eXVKyS2kcnF4fdKCWDB9tBhKZ8sOYdnw66X3lzXAyc8WB5lDRG0b86JlIhzA72I0Fs4yOkYVppQFLR7ywx5ttHNJ5qZQoQP58DciR05Oc+njNQ0RPfawBy4RWGaOYDTVteiJ/fCZaQ8hYzO0TZrRLxbGTSpxaZTqhx9RbH6kxFknRnUuEpVZdwnHAs7gllbj3T8OkiKNgk9zzZBeLXScz4u4/Id69Psuzb3h7D793rpCreSBogodCF29HyyUAnIklhmlwAE1PzFjfExNkYw15UByQQ93oy+sSqIjKUX/dCU4sWkm1T0QJ5u0bVvJceXHXVR3ApG3laAKy544QK4a+9EKOvyj+EHzjjdIhBAAAAEN3i45XX85LsM+Kd9eXu9Sp8SLbt7L6oa1xqYtMQvS+cnDrz7Czk6znFV7LR6vjRmOOlBot6/zc0hYUVNBUnFZDdiR+jzF28qV7nvcjc15ckvshAs4i0avFZp0WA6JKAreY1jCCXlyo4hcNKKjXZbL6FiA2ns8rUaNVqKyP/WtOTP3kiR5+EA4VUNVxZwPpt6yLFeHmc4CyB2c9lOXUy5PDvzBL7PfDacjhu69QxZKzcfhy7DkXfZP4XaB2RB0TxAcropnBshHRbjEYd0qKO7kY+cDa8SYIddg5VZ3AJBt4SOb/GII7pBQHwj20HgKewIT6H2WB7o35xpPj7FO0RLQ3OfilAkBbTCO0J2dG3lbqKa3IWgqdjJIfYtot4X8pSJPtk132xofOEtwy5r7AJMJFWOaa+KiYNp3KxPJM2IDAVO8zZgsOMYsj1ncgULv2OGDhJBJJB4xAMYvQ8VsmQCUJP7TCfOA6geUMSZ9gY6GMsMSxwvMDtgfUMaXm4c74BvAnQgjkdC64nM+Mj3xGKNC9Uhn4kuRm90wL+5mKt8oUBDxxHO6vsHMdg+VNOPtJP+A1qHY9Bv1N1of3wMtyzgS2h4K8IuHGvII0IECC5MBopPrM/jRkz1UUBrkkZuipJseE3ZbZqsFIdWaF6OJs6uDoGvJ7nTsKTL8xvIfy9rtugtNThVS/ptomm5VCgk+1Ry0OELQe6q2Nm7dpR/UpS1eDqk4GlZt9vCiqEbSN2VrCBFvMcKtpHIlZJUz5e8IajW3UqlqN60eeHp9XP5vqvHZN4WJPfttAVdjykIoP8YSXfXU/HURxiDCyuzN7sNsEf53ThVLZ7uOu97uM9a8Nd65qlKWALvXG0QJyD3rROAK6bdSpiGyzcNa2ZAQg0H0ScDL1QwwaqPKjXHHSl4fffrpGX8gtuRZ2p+FdQyjIjxkDKmGm1AKmIVsGDekqTOs8BSdKLUH7oMzMpy03Zz8QQtK64b7EcZPYAhJrkeDkiJlZ03f4/vVYe+uliM9Nf8ckKFXayB3CnudUYuhkHQDA3U4pcIRHSW3E++ExPLHh0a1E/zDczWT31msXosrz/bXXq3JNaltmHIQtGvRckMt7gy4QetI3w2uOPMkXg9CzPzKfQ6EYBlzjEhP3qpnr565iCuKvY39t13wLFBohCl6WTnqU6id/SlZNzEwZMie2eJ6HXvmmUOEjBMuQ3++YwETPpQI6c8VzkRpD3a6edhbMSiN5ck4gdliqcipqJaF2eRPG9NcVHU29tWwI6vahsH+2LJVo78VmSW8SbrGdtccyIAU6OSRtdqilJGoTkwtSGdjlmpx1RCIx+cAjXx37HixSXaEdX5cNTJj7oqbcuBxu08bD3D2DvNcBDm8Q8nXr1zQ6g2yDnb0m1S3Cb4Ziabfx3ETo66AjbZ7d2mpDv6W8iM95DnJfegiNhlpseYbV4k1SYrF43fYCbv7CnDs7RuH1tHVmeiPyHDgP3ZCMu4cn+VfKDYxT6kQyNAox1SiJ1In0VQGGN3l4xq9QZht3evYLdIcWw/JHHRcKuBaDWfERsdh9RpsdiXU7/pMCgW8FjHqcS8BVNmaFyrgIxxac4TMeDQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "4782CAF4409CD61C5E840662E654B3386296BC58B1C21F960B3F8A38B59AE3CF", + "previousBlockHash": "CD03C64798C72C9C057672771FBA80F97E4578C80D1000F719B87412C64A77E5", "noteCommitment": { "type": "Buffer", - "data": "base64:YzNdPtuRx73zsMUgiC7B3/tkcq58pou7JmpuedwQRyE=" + "data": "base64:UetYgIW81mOzogryHhDVrBEkIG8oy5DSgMZIquO4W1s=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:CbI8r/vc94FTb1MAgvDTdmv+0GWQLIeOjEvZgNeC2Yo=" + "data": "base64:grJeaXeAAY7ecQb5SBJVd/QecELFHjovXgUOyykzBeg=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140703214, + "timestamp": 1698950641400, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -463,25 +463,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA39jEMd+0rjgvWmaveI32BLPGUuWvA8nazn9W9clKqoKCvkOIaxzzCWY/FAC4ymelDbxcaw4qa19gajfof1nT9Ps2gzU9OB1LnFD2bGX5P2GtMNIOjSBKvvTHBMO/jRkLNv7i2kKt52FH+pT5HtG7c9XxkPNd9sN+k3IbjaSuRfAZCAE4pVMyWTr8kbzToTa7PyohMFaCdrSBLkcgzWU1i9dGRcsO7h+J3YgYeJmKpuiGzPJSAm6w8VQvIacXd+zOqAYGbZa1vhUu5dFbvbdvOvLI2v2JjG179DfXjpZC/+FWadpjuuZS67K8z84qLFtfHHwXdl7mEzL+O0HOrLsln1FaTd4+VEYrUv2xuz5QvxPwwzG8qtHe33SLqkuFkRNj7ioLL0Xyse9cwW1LKLmnx1pYElmHx1Ahv/zH/oXelfFEc48Q/RNN+qKzgVf+kr/sM5Ylomti5qbURATeVPss/YZnsVgwEO0HhwtsRkUPJ8QW2yGyYmJoOz/ZpsyKft9GkNtCeCUFjucf9uJ2tI10xpZuCt154mTM80tKIeoRPXOj4HpCZ+vGhJcTFJ+tkZy7Ui/X3pyxC2z9uSL9rAFcN3yu9Ir+UkZuNCDidDPvkPaiRaA4Ll9G/klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw8toWduuT/j79VZ7Z4EuEHoPQuxDRlpHXpvnRqtqprxxpJHOjQj1zA4PHXilfLWfuAvxRzCfs81FlDlEVeTwnCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAANTOGbyzIPY/BhnJcZ9EIIg8iyLsOXti81kCETVLcMA+lkPM+RhOg23MM5OtaW2ch9fX6vlPHSinkyCwQakqGfdLJpBLPWOPn8nRuJWXmk/eSbpOWxBhPbmyILqBWymSCRD7jbT/u0cRUFgdHYAstCGE9d/zCOcjfukhvp88cWFkFVvAP1KtA6LI34VUxe6MEaNu8BxJU2ODgovSZPLWNm/GYWjeQwNBcoXyvMRt9mx2wRMkMUYhe98NWkkLgxK/rmP99VNttD0cnDpiKvlZrm2twhY+Ks4bL1Sta1DWNhEDqiUXwiT4dyo4rSRYYT6rGGOi+xhe3gkETzxejtTdUHlffJEjAPkoxsSJXRYiR9c9nBcK0jNdQT49R6pWrzLVkR14/RdWWzWoQ7tZDlDBISgcUvU14v3sbZAIojU8CexvBt3MELIvxzp1U8F4jWu0Y8Um5OuIjG1FLhLbFA7BxndVD6YMfVqDWnqF0gnibvGjtBvEBMLtgSQdsYQeaguW1Dz3ukWk7Ndh0+BvsEaIUt+fenlMns5OuAyuB2Fn/lqev8fN5rgZlMZ0rO7MD7wB+Bnb6Y+PL7kVLw9F+1Nfbhf4jzXnuNub56pjH6HAx093/eIV5Q1csYUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwn0TKGhd8dp+6iYb+ssJtuKXqBXRx27Wc4Id+2giOnhASDB89aMPKiqm5JmUEWDxNFw+YpgdBmvewNtkiP0RRBA==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "DAB86DE8EA8BDD22B1E9960E7E9533A546F69C36B686ABFECD327144376BA303", + "previousBlockHash": "47AF84C323BAE4F00CF74A5992B69962E6FFDEE3F8B1EF0BC1D3FE5C36036559", "noteCommitment": { "type": "Buffer", - "data": "base64:kqpQT7vuNP/7gf/cP1XxmlNT5d0zb9ZT7vCKm7iEqAg=" + "data": "base64:CTqv1fqLApuzQlCilQGK2CBbiO54OfTboJuFladHlj0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:6Uk6tI26plxtSEGY8DVEiJoKu7isGsAToCRV2hIKSAw=" + "data": "base64:Oz4CcoIal2d6Y9Yzn1fjgaINvPy19EC/0Onqc/hlIEA=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140703920, + "timestamp": 1698950641695, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -489,32 +489,32 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAQYiWplhWKAT6jH8NCeSj5AHIUUu/SMNfKCwetXbd+0CEL+yFO/LjAtWIEl1Hy7B/EzUMOOoj7bOeqgiP6u7gEMmpBLTEsAchQPjl6ZJucTOk0ggq7aaGJJrbw02BVkZz87Eqo5D+IjJj4Dall87wa0tWGtx49KWmeQe83ofKxV8RQMzpU0h5O8+405lYAZCX919vHRhpY9i6cSoPzS3gddDKF9GdqKa3zv3bipkx5jezE1LDL+vNmOzIiftC+oo5Zd6mb85cwx9luA9sB+Dnkzco73bG9cJwqSzPn5Q6Opp/HtqsoiD4aDUGRQA8sftDkRUvaoo/DWbknM0KaztKNt3QGBr28JTCMfMMyqQxIWrokSPqOv1PbTC/WgACipwZsBpdjGr6eVVB2XB7RAcMZhFnBEj48SjtRz+C582FQhQMk6Mt8MwwsWLIWLIczPcT9sCycr8mitZvEz14bUnE/HQ7jh2LY59OsIIRPI9dvlptUqP9fw4o8z9wZj/h8bYtf6GnwtQg+Xw7PFmd3J3JyY6nly0De1zOxjxdWSLfL26TcH7nvf9q0PbzpYbDKKZJ0bdb2+9nGPLhE2ow7Manoe8YW1OO91Fo9aNyJfTWcGJ/NVHSU6q3sElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw+f9x8nhiOmncT0cyMTFDlLJiwIH1OmpMJuP2Lb9LQ4IRj04qKkB90yE4NJeFl/yPLCKdhiEHS2X1bW2joXqwCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAHh93CfDYWmHPDHf8SXEPSRtuy6qzNtjJ6HQz1OGHp0+nmilRDTy/hoBlyHxDqj6LR2feLP34+59EYIQTyiY3XVONa0AR3i7w5u8bJG4rCkSXf+iRSgvTDdMqNMkRkDMCWsuPA94ahH4Vl1mQAk8ehxcelIpHrdgxAoey5GU8rnQHKRBln1eEVo4DZbKXWFQfgrL1XLR7XeN53sF5GE7zlFKkS2bIBV2urKc/G9hlY9+OeQZZiBAWQwvHdoQ2UhUA/SWTjxOvltVhUldYxCmrRJI4R8vDy2bhSldUxjECWfVx0v02+jgkfUGKWQmTssMh/+kZcXCrqsxNnsbenX+NLo40q9bu9i9qvVigqjfUZS754GAwc0d9VAK805HyODtyls3ZQ35j2Xicsa28A+som+JAiIg5nEBoWMgseP131YNNcxavPZ683EJUhLp4SyZsgj+6su9aqov20iBvlals4uDfqkW/4VdlCJv1+8ZMxmQJtBkclP94XyPg1U3Pj8VeQQ7MKS3hjqRW8+jRfs1205hdAPt5rkWfs+rx/gRdMJYsIB1jON01MHgkEN4QFUTcaWaqFk31bUvc7zQxr4A9MXOR1Os/qAozo+Rsr9HP11v1FcxnE6vnYUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJEPrzZoOnnKcars9NT7bXIeaBuO56RpeNSK+MlZqI5LFmZIzc+w9CYfpw/5K3qLx1aBwL9+zN5b0FW09quUyCA==" } ] } ], - "Accounts Keeps spends created by another node when rolling back a fork": [ + "Wallet Keeps spends created by another node when rolling back a fork": [ { "version": 2, - "id": "9a535a5b-ec5a-40a2-ad4d-77bf0e58685c", + "id": "08a6a509-4993-4ffb-b735-94e394370abf", "name": "testA", - "spendingKey": "92cf90e5d5f654b39865b46d9809e4bf4b0e48544420edd5b11934dcf3acb301", - "viewKey": "0805c4f8f50ff83ca2c0d97ad3f086340aad95fd229c369bf854c50461b6c8061aa832695dd1afd9c7120f98821b5ac1649344b87bb980fb8a6b8a0c1c57542e", - "incomingViewKey": "4d349fc57c765fc06d3fc521d888b669b71170d1aaa056e821433783ca3d4c00", - "outgoingViewKey": "46bbb77904041c732139ce9b881ce51f49e5c9722f3b9100692fedbf2f34893d", - "publicAddress": "8b97f0d6b883b7301f0f4426ba07d26f202cd3abea953ced92453a0d2313d82f", + "spendingKey": "793049e317ce57ebc564400273097fadb1aa9a84bc1b2a17aa7ffbf574242981", + "viewKey": "e1604c3f4560056e25631ca372c3ef69a5135242818c3fd06fa73888b72f8ab86639b10ac5c7b378b53580ad0bb269aabcf8274216eae7790f3391de9cd5c4c8", + "incomingViewKey": "31ad9532aabcfb5ef3ed1c619bb3cdabcbd9024eeab759bf0d4636e1ae739900", + "outgoingViewKey": "e65b7be5d194107f61b0193736d7d77592ea3cda4b85f134312d3ac83a6082c1", + "publicAddress": "d4db4455f468bf5bb7dfa098063f1792fa27239a44ff3fdccd1a9face6b74b88", "createdAt": null }, { "version": 2, - "id": "ff446b06-541e-412e-b4cb-ae9abdf14390", + "id": "7339ee50-b21c-4558-be4a-1e386d9d48aa", "name": "testB", - "spendingKey": "f51db0fb39735af469193bbf5ddc90fa401e32ed93cf10a2f506a4cf47fbdfff", - "viewKey": "085de8f1f6975d3b78ed7277f96c456a36af98fc1e1607e7e5c400107075b7df8995bc36bf444103fffb4dafc866dcc4c3996e00b33f7369aad5cd7e7459b665", - "incomingViewKey": "c74a4628ef4d099f9701789075ac60cd98dd29f9bee5fa85d2cd32970965a707", - "outgoingViewKey": "4d0bc61bbf9e95910a8c5d331e12975f55fca0b8dde09d52ed9107903c5d0182", - "publicAddress": "ed6b6c5f3d44766610631299ddd89396514aa1e30c9606e4f5d28d8737af3613", + "spendingKey": "55519b7a599c0c26754c8c0badf95fdeb868126de61045c5fa1f3dad35f37319", + "viewKey": "ec0f5f70ad94aa92f080c304ded11c2fd9501383a99701dc9a8652152a63fc274172aa63ad0fa22008d62714b83b03f363161ad3c0d88f1bb86f0575e039efa0", + "incomingViewKey": "31faa759c33b27980746a4511e27d054f53b2d4eac6ab5d511a286bc63892104", + "outgoingViewKey": "63e2fb39c21a919c1f4175f35683e2b4494680a0a2636338d88be71513a33f4d", + "publicAddress": "3d6188ebe4f08ec8c79572fef50beab5af12d04da969c6a0366e8d170c914cce", "createdAt": null }, { @@ -523,15 +523,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:CER92/g9Hsmzo6/lL+ZAC3/Hew1+rWMtKHRLRyj4DUM=" + "data": "base64:jck4Et//a10ZBZUC4YHVJF7rf2+4MwIfbRiPvDAXABM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:V4cjaY3X9SHLW6oXIWp1y5uhX5Y3kMVLSJAeSVTD+xA=" + "data": "base64:BPhPlHMJdPYuYg+3+1xPs9lFnemDdF0fcIpXJke6Cww=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140704887, + "timestamp": 1698950642258, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -539,25 +539,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAdaoGY9msXY+VMzt+TLG5aVre3ttjKz5c+8y3s3dVOEqyh+qhAoSySpHs1TeKQx6oYlbjAD8YU/0ZHwp6R4udNYn7re23AoGq5OkMRsLswcCAV12rXL3tT8s4+GEyAG//npXpsSYjoUGYzs2iZItFT9F8HQEWLRFuBTKOeNs8w50KtkyCwwv+MXxkDpc2rod6Zo9aVrsBDYWcysrERpqw4qiKwZ9OqeET2yoa46pA/KaQee7+I4YjabLxswk7/DKMM/0PqRbqzkxqljUNMxZ3V7BVGf/FepEAvKmAi8StnZFMiOaIdztbWJZ88mVoLtKH8mCbn8qwBDG9Eyji+a0THlrkCCtEZbfvGhwuuNwKbc5NsweU71jVZ9x0CVhMXApcftD9V37FrBYQDSICJzIoDHdEgOQOI5wTH6AGygda5oajvMj5CTuSN5Ou9DjgYih+a3G9sw9re7axzaxThgF4ev7E0G0xZ6HKNFQ0CopmJo7USvaZJtuV5dqXcrFnIz1SPR46kltL839QR0cbojTrdugt0F2G6aFDKE9Sl+wrJZ/VV1alTCnPC6THMxijLygmtvaoUrSvaet1xqSHLHxIFVrpKs6qhWmvlDfhIO9rMmhub62kjG57Pklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOdqtxX6NMtuAMhSJ2QHnXT9uLSTLefedaxRJ8tf1uYKZBLTmwKK6NRp8+pl6KKmH29tI0MxzcQgp/WzDne6ECQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAfM4pftlLxyWw3WsBzdm31P2xgbIYA1g44BWkzfYeW16scNbmDN3BCnjgjCt/8WCw5HJ3w8DXbZTbXCZMP/yL6V9nvRE3tbpRJiZkU5Lx6USogdAtxXlL++yMP43ffv2SQKlsLeUQbUjGRhEtE4gHThhIV/hYtM3N/UhtWJabvzISAzEqbpoG1vYjXMZ+50Cph9Ss4TT4Y+9dv2Cltjz6RgeLxoplJjKmGBKnZAU0j061uwfX+ocqvnZvGF2N84Hdt3FZf7KzDQDkU2pcv0ydrcKFnAFycAgi4C9F7M/Zl/VSjO8IaAieS6P+v6a5YtqS6KIkVKVodjnrz9ztjAyVcUhURqsnDj9LT41pRppvFM8k9V5rcAGapqJXerqUhulBs3pVCuxndL9SSJ5LsWJ7J1zaK5k9WApF9z2enV83bcPxotk5d2Bd2j3bswp1nJ3ZcSar86vIIk27X8NA7b1tLbmYbfPtl614vh/R59lpwFIUjMiniG3jXm7qDjN6tC7fc2ZZeqdjsMnX3fEppdDfEMgWVn2zRL6xWWhQIGbcN7FT2QhSHCth7VhK90lYmfcU03owABN64618kVos1dGmhsjLffMRH/zYCY+G/gQUKC3uTEjfQJ8VUElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwlQIwEoqMYBj2PD9kvCBfiSKY7ahW0EpqChrhr0BabYr1lVGcte9X2wgMA8lQEfdPXrroSDvhNmrr3gVOgOQCAQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "166E0A6D08AD77D5A895219A9461E82CDE3AB90E726F3DBE345F79DF24FA7D9A", + "previousBlockHash": "70B5A2713F26A5C1190B43904A2D0A9F3D96D1B07CEA2BCB9B8CD546264EAF01", "noteCommitment": { "type": "Buffer", - "data": "base64:4P1HmrJtX3b8P1V/DQsh/y4sgBajB1Ak3D3NYK8LbUk=" + "data": "base64:uxOm3fFm2aCkckMkrXHJJdwkaob+CMA2/E6Jqr3Emlg=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:x5k2m0RWEe/0ietyqifeo/EZms0kV+WZ55rOVoQGN+g=" + "data": "base64:H31Opq7KIyQq1j5aqeQQP3PbDU/tmCg5+MHFr01tBSk=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140708321, + "timestamp": 1698950643808, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -565,29 +565,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAdpc6m+yRYpEpK92SRDgT1NX345AwNtKu6Uvd7U0cCw2nMBI3yZwdNaLMUpNqErkwTEdtV/6jG2vGPt2/hsqQdOUF7dkUe/NVLAjBInixruq0/xaQ4+/Axy/qjKHOoKJhfMNqO9twpnh3eNeriM6LpYB86nLg8b/YpFULHHGiwL4YOc3H/XZ3plzD3a2O0XuDAVeMtDrL7F1YflEuhMnh0l4V1ASvcHLHmig0utSFCoCDR8YkFeGnTyoeveTd4HzcBeqwiuwTeiPArtHBPSwM4dXx1Cdafwz5ZlojB9uG00bdgO+N7SlbFyk7zTmehKVuP7KDBuem8+qBk72TV2RLh273JEXjQ33Eg8a6oqrQyjaxIgZ5DNLUhQCEv5jPzGlksBTN78cqr7RG8jJpGOY+2zG8WIMvRlY1qFHlqo4lEF6/evqQ5QBlD20HUUIa+4peXJ1HGXCQJch+pidaWMaFPKwezhG7H4KU+27uRmE3umC8gpKSajv2gMlNS96ZbHIpicsw//+vcMymdwglcaIPhmBlGPZmhztMGg1EUiAEJlsrRwCxDZssg3f58Kj5BRziqrvahxbMGMYsk/IKf5HYKXGacWX78El8wW+24g5e/Kj8rVfp1wFHVElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw8cM5/oWZgqPpX7fUcb3w108elbaqZdvVnS0QioljZrExhRRpl9tTSL0G5yJnsVPB0s2uLs9BxgQDuOpwNqEFBw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAn5jolMfYwaiM+5J654jBdwRMTzEqwS7n+OaSjnK27SKjaAezmT6IqfYM4aluiTv+81Q5Ptg8IHBMAUvDV+uqsgrQ04j0Vsv3kDsgQHKjpESFQExr/W5/BQm7y8gml413O/YL5XE89G7OunK+tbYMFxXQroNfiNxwheVjekDh+h0QRJo8Tkjg7M8N3M91Ce2pXLOt1QKCgC70P9qIafzNxHLVtiX0mvdqpwVqmg+gvFuC0tBpbhTTpBO87hSqoPpkUpRzVNoF8fHqv6CySMDpiwnOlN34j0Eb+kzA/Knk7o4mz6vgm4b62IpAjWuhtZweZd1VZOVk7d2lMqH/PNavrywNJdpc6RjIjMA+EBMJoDPusgSFVV2855sSF5jt+c0OLKply2TKQBezU3tfCxkMDjlu6n1GaDszKQ0k47W5FwwR7oxHFwYQnKGFdSLl5ITIrhG4Ujybdj/1wGJLkzmq0sAlExi389rvb+yn+JFw+7tTommiGffSDemi/NX0w0FFhzaMhmZ0CPJubb9/G33wLSbgeLxbRksSoG/6QHv5Nla2YWEbdLmY9yK690lsGib32ffzFLgrz6XXKdlqF++LkU2k98hgf1hxBEepPUCt27XKJbdi4sDP+0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwa3vuXCIpXXa8nhTE0bj6b+KjpovYfqdiOohk++eLlGZkokflHNuTDpMQ8pwyCODXcll1M8AGBhzWqX7REAhFAQ==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "166E0A6D08AD77D5A895219A9461E82CDE3AB90E726F3DBE345F79DF24FA7D9A", + "previousBlockHash": "70B5A2713F26A5C1190B43904A2D0A9F3D96D1B07CEA2BCB9B8CD546264EAF01", "noteCommitment": { "type": "Buffer", - "data": "base64:x8ee3YsGpHaMpTEbJoi7R05/IxKWaRHlKnrp4hHdWVM=" + "data": "base64:ZVGNBVwXtpp0lHPhyhadD/3lTkoOE5uPU6bT5Rfgbjs=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:qWxn5VprNILzZisL2Mgl9P952+7cjtHdJtq0wQh8tRg=" + "data": "base64:uWB/cUL33lmR099KhAxhK532SqMfIvoV24xoCkMKuh4=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140708986, + "timestamp": 1698950644105, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -595,25 +595,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAG1oZFNMzWjBks2V0iutwD9DbeWBtzxpoJGi45nQgvFmxRBPA8mcWl6lBuE3FuEE1xi+9ncy1bpADvyqHH20/X6LhtTmhRphPEC48z42Hv1Ouo7/qq4A+mfhqIP9rn1HJa2mjU2DAqygrCZcIJ2nmGKCjgHHLuDtHMkPp0v8y3t8HU034NV3xKVZ7/t3y2z+lqlnRJtxwcNaSTPr3cFMu+xvs0Gaf6a5oh9IVcl3i7DmhKSxDIlaa2GFDToW0RFgrJ262qpCCA9zWqS/wWbvRMk2B2slUwa+FDE42sqbWeKy+FCXOvexuc3Lt8oo+6BNwHaRUC3U72+uBOvVMke7D3lLEwfEkeK/x4hjX1Qiqm7x1oZ7/+GltujxNQ1h+ISU26XP4b0ktwgaZQw2f+dtEfYCBJ6UANgdm7tzv2YeziR4+DQs3BD9MRvtKi1g8nXkPkub7pYIdDGEceq8y3XSbFty+5O21/gGie0P4tlohRa4nApCsMv8S5vPrWtCBo2Y0HTbNlHp1DiAJZE/scuLOlBztI6lGpVXQihRxG9k/Jrc68gHA87kj5vnPqWmgHjVmGm7WoNGui0J4wr8aEwr1T27ojoGPys1e+FEMkPoDQjYc+pq4Ix4lVklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwee35YxOMcMZFcgyEOwx3Ry2gPBbikU7c2FEPmLXdyKvW6cLIvJHNeM0oWd3WDhYoafNR/Lr2uoiluIvffLQCCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAi+ipbE3w8sO1KOcIy5gu3rqgvSTm9MkBq6HhkzAFJ8WvWuDsAId/mwJ90Xj+yZDT6QICIwYUPTV/eq9FFldFRIonzAwkRxeZ+7rsTr9PhXCMEzFQjdwzmhHgyVqqgjXWqukh1jnMJSUuYazXlYeZg/HfzI5WCYKDpyTuP4l6jcsVr1DgSwPjAFhhEaEWGmaeIQ8+zS/ZQtbQ6DNsWWoupk6dw/5+HLE897yAg59K4+mZcD2w+lV0nEym6pSwISEiiUQzmRXqitQL1Tkc755eL4btNDSALfToQIgVtJkFnWvm2iMbU4Leyxg8Z0IHmJO4zNReOldLsYrpBY/5HRawbtGTaAYThAffdZ4g9gGkHw8M7XVV9HUgd43ZiiCCyawbXEClqjl4wRvycuyx2wvCiYVShC7sbmOkCJU2nahoyUVvNxHwEHPQHh81bGMNr9rjxdpKP4VfKNELbl3xyzSHbiorP18wtPUlmlj+H9BDDEQyzgXvSXVRTrXp6AA7ZrIJKKgGHgD/WnvV+IZP1kc7GiUDPD6ZamYgMse3z07cLGIv3sWEKq5IIovfL1S8WwdWxa2D+3gdE71Gk1REDjEwrUPz25GLE57tPVXBU7K+9ekfYyiuMc1Shklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAThteqXx/zoDxX6lA9HH8e7pHHJd2pRWA5gmUZvE4cDLqF33OxxngzSa8sDe2RH3XzdumQ2iEC3F283NXGAEBQ==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "D23EE7DF20F6EBCA779F53A43C701F583C01BA1BD0DF5779D1796A1B7E40DBB1", + "previousBlockHash": "0430786BB418FA5C3B1D03B25420FB0BA4527F75A0B953723437743843994D2E", "noteCommitment": { "type": "Buffer", - "data": "base64:41mIYtWryOTRAxwoOA0EhBl7vthSwI64ZfKKfZh/FWE=" + "data": "base64:EDCdgm1/gUt/yVnUKof+hXEKWTHqhQ8TU93FhVeB+w0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:xyliZCRMVnOrvNK6FSDzDo498fm2m039oBdqMQ9qeLQ=" + "data": "base64:CTcGFk2G6J8FkMjfWk5OM0sa9/S/HKWWhaYzk20+QfU=" }, "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", "randomness": "0", - "timestamp": 1695140709896, + "timestamp": 1698950644381, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -621,7 +621,433 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAbKB50Duk7P/yVwFhrStg/e8nkmFWCylUaOVrsEs8Pa6FBLq8b4SP0Drl/ZRZAfM4TYjpctzQt1R34rW94cVHiO5issYBV5iaJLo6C9TjzB6jdUvRThGSQXS16vpZ15ljSK4r6QSyD3Xgisjzgq7afEA/SjUGWcYwafLVbIg5cQgXE7Dq8ta2dxTaFEdcZRVduftB3IMP+AEYqFsko1E7Cj2axwyO0T31Hm+4ApMpoUqTJ6GYOKzMgrvCl/N4poymPgn1ICwhR7iiXZ1wsQAMIKF7qAesIj37+VYLnO6t4D1mLSpo0J5F5NvuUiGIoa4N5Yr9bJAQgI5wj+2/7/G+qdmsWBvbAH/bbSt0D5/VKHkRIpMKfvTrz8JI9efW2Blw7jF6OrV3BF701C8OZP8MdlprDgobuOPPk23LZVwak92WGegptFECqyjSVyRO8MaHj39nEvfcsOSGihlTh9n7W6+4WeoVYP5mndg/PbAl5Z70GBkuZKKozYmfX6ri/fhYA7Ha2baMEBBTUM5VXFZwjnkhXegawYvLXSwQ/TEi3AW8CQHuz1F1QsmygeQWZ4FNbvpmvXbrOPKdzMTmmiO7WTlbYvj/yZlCqc0lNWjAUoWgiuqj49AIsklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwGMPJfaMeZ+Ta8ItuqrBB53KPi3VQtFQKf+B8/8EHg2yGJurmPDj8qP5tGgN1y8ZavtMhCrSM9dzbfyJ4+n07Ag==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAk+s2XcwDlUNLNChaY50hV0hacXi8TSD7DIsFDhpedsCVCn+l96Z+pdIcZFfR3l0N8qQVzyW2IMA9ABI2P3vn83NbZ2IyVJBa7Ss4pFC9bPC1w9HiNLyFqg9Q7YzvP9noPxITRi3M7ALB4ZsZNv7y2ndqc1VFiPXH6wa2qW4XS9MEHcl8ertpqbPTJE3/biUppFnuq11JJoXGTTDaTYlFUofMJIJcoNYH+abfxGJG1GSTD86lmtsk5DzjcUPu8kFYXzu8YeogtULgxuEAWWLaeEyAIxDs/ShobnfpefjEQnAf+2EY6sJOfT+0aiGMi5FgM/Xa6eDuCQe30eQVqAxxKP7OM/tA+YpHSkVL44xcyXlfMv3RdniRiChUL/wMeT9PJrQ5Zk/nTz6hIHK18DloZR6LS3xrD+YcPYnZqYbvZ2wRiFJdLGz4HDaRfUM+daZpo0s0Cha3XMZR1x7ced9jH83AInwUMbIU+dNrtfsQMsybYKIIzftiL6RgYtXef7Xc/Gy63GiQBTtonFMwBUfX1TWWZvyZhVVxicxqfqydnhDGWBNyc9Y/XcbgWVw0FEFW8Dlr3toF51/90K4kQWb9cNLLwkzbUkfFF55DX86ZUijcrEzKG6buFklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwjm6iw/HdXDr/3nv2ZPo9UDbK+qShN5JLtNnZwRF6mmqH1cAJGAXb08pq/rwGl7KXC0YnjjraCLDwiMAk01snCA==" + } + ] + } + ], + "Wallet mint for an identifier not stored in the database throws a not found exception": [ + { + "version": 2, + "id": "898f3aaf-0b78-4768-82eb-00396f647d7e", + "name": "test", + "spendingKey": "4f4f56c2890e392abfbe9ddb1805320614c99f67d222ead345493c3b169b1d85", + "viewKey": "dc10203585234579f4f7d057c4594426c731cfd88af7d1c7b69687647d5f72a39bf40558c2d1cb90b5ad7e983d1d325e2efa93eccfa17f2d27b059b42627a745", + "incomingViewKey": "507d872c7dd0764e22b1641fa287eefbdf203e97746d1f0de6888f75d2245f03", + "outgoingViewKey": "ec9a8dc01ab8d7b9d8b65a746a72d45442dc6692213b6d16a5b557e8cd16c23c", + "publicAddress": "a42bb7c04f5fb107e11413571a2f1d301e8a4dab8135cfc95a6194c195c81fab", + "createdAt": { + "hash": { + "type": "Buffer", + "data": "base64:R5HXrp+X3xAO8VWOhHctagm0N2I4goP3XG8goyqIqoY=" + }, + "sequence": 1 + } + } + ], + "Wallet mint for a valid asset identifier adds balance for the asset from the wallet": [ + { + "version": 2, + "id": "3ee4c2f9-7cf7-4305-9dcc-7f941b77a9f1", + "name": "test", + "spendingKey": "fc354df40c1fcbf4eee6c749015f1cfb567a4a797844e8ce99f271238f9c060b", + "viewKey": "32cacba95bdb8d5c8c01f17cd2697e2791effbbbb9c634d245d8e846ece6005b33afdfa8f830c2bec77416c203a594681c89543d10963d1f315e5f46906e3d00", + "incomingViewKey": "b60ccf46217460feb5c3401f7ecc390ac1f6200224373381d70dea32c767c702", + "outgoingViewKey": "a3361ae363aa7ca910a5b249747b083b10e1e726a5ed38b7fb972693ad793544", + "publicAddress": "96f0652d7f456a8393ac26a5d1560a846d42689ae8d20bbe30c45e85f8295c5c", + "createdAt": { + "hash": { + "type": "Buffer", + "data": "base64:R5HXrp+X3xAO8VWOhHctagm0N2I4goP3XG8goyqIqoY=" + }, + "sequence": 1 + } + }, + { + "header": { + "sequence": 2, + "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", + "noteCommitment": { + "type": "Buffer", + "data": "base64:4Fs9QwYwowJ7KfN9bv9DW1IErlsEwcTcebXSNJnIBVk=" + }, + "transactionCommitment": { + "type": "Buffer", + "data": "base64:9J1MJ5rSGICVgmVOMj8H06gSNrq22rckhtJfjvT6RD8=" + }, + "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "randomness": "0", + "timestamp": 1698950644898, + "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", + "noteSize": 4, + "work": "0" + }, + "transactions": [ + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA4GAYOP8et8Qeg1JX6QHGS4+/zixOnqOx2FR0/deg2x6k0GeDXL7hAJ6EU3fWS8cGsfUyVobmX0DD/B8LHX0G6XouYt1eiR1nbnMQuO0ERYG0cqWjBEyZg3odscMPbRS6BsfFYGKwxTA+ebC4UEmn8qrE/gnhkkNSX2hg6JmYX7IO0XVhDvu6BKS4NTmHNU069g7d72nO5XImRUrpynD7TlfKuuIL5ux36ig7amyC9/GupnxM2F/IfTzAip7TTQ8LPaCiGLfkImBBj1oMS43ZXYqUdJlbT5B/TUl6lwOj81eRmv4ti/IDZezQpE+f/j4Y7lchBhYYOVEKzXEAuHN065jzGR6hI7ZuC4EtlZXyMQyLBtdvSI2r2Ywr30dxvzUWLVAEEL2r8dYfoaI26H5/AiuJC/DN9eqmg+ScdRZPDR1IyfJdBXbF768IWQwruI+J6zsHmuPEVzd5uxw3ePFygix/8qFMnzjLq8j+jMe3MpTj41dqZgGiEqDqH9GFO/GDOdwPPTW4S2iH+ZgjBqMMHChI1uepgnObe3lQgiGWnhDzbL29cWfeqanXVXaRHqV2nnU79xW26eujgc6cebM61Y0sisyKPiUNQ8GKv3511ueTtkiY09yVL0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwyMpjDXFpx1x+hVjipjbqiRwlB2IOLyde9md57XPgWyXTE2Gxie5WJrkSHuTg8EE66lj47jkrv/LA2Aj0mqIKBQ==" + } + ] + }, + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpinWVFGlAFEUwji5sQQ38uMe98jvZojUahO8JxNzM2QgrPpuRsSGT04RFKGjGqMvKsjVE1hynBBrGON2pp9rRFHagUzXCc9K2yzcwLRyMGMLUg37j1MRlv53yr/187v7ddmxtqi7R3infdCHtrS+3LJ/JbkBWxNvbLZj3/mPp0BH7yx+pUZQuR8s/GIxohiRfmOPvdIxWjKUowlGMtNGrncO34x5Ix9YImvDCNlN7iCL+dywtwNjrcAlby8qhtKAmAJq1KTKsikC0endaVVlbFJNEV0gSqxAbX/RixRBC+C5gugdGDAuNhAY2wbD6RUGBdaWoRumAS4UfJ/bLWGNFAwN6P9BuI3XnYW5DE04s3hKugVIjsh4xkGx0GYUW1fIguuICgN/B91khJHVsz+OMrw/z6Y/gcc4TCrAQgQwZvyBxOFy6hPB/DtXYwaVWbxrTDaSGByaXa1JaeNM835T/0TgYhJNi5/JQOrHOtpU6iBTyhRyIwnBepQ63xQq+pcgzzUu0saDSiHzy0RNchJwmWhueaPiOb5UvrJiw2sIjzsYgwVVPChwlLLLMnpwHwCqh3pDE3Z1mXHR6dx0fyDWNgu7x7/e9+qsToTy9M4fgg3q+UzZkesGRp07q5ouUNWyRXehj+w2QXVMFpDi1sVokfSn/DaeXMGkjpNoqkRaH5wUsNBC1g4mKrgBjXsqtzmHXYb+VCbePEGHHbs1F09oEyCPpANw0Fao8NlB5sDP59WiQFqYlFQw2BGwwDUu2bWzC4blQlp5hcOl3FC0yGTR6+JC3vV0aAjt3aOMx2ODQV+mFU8ihqdIi2c3dMPkWXVOcUhcCRq8p442ua0SknB39IjNQJUiAkfAJmd8eYvXBF1cDzd1v3w89Fchlh6L6ETvUS/kShOMZTjRpNrdtlP8kB+QLzvsHG6ppjV5IqWDE1wkWodvEaqcOf7dnqKecPds2D+bdDpI8CWx6q1GvqhI4SOTRbVBBQKlvBlLX9FaoOTrCal0VYKhG1CaJro0gu+MMRehfgpXFxtaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAJbwZS1/RWqDk6wmpdFWCoRtQmia6NILvjDEXoX4KVxcAGbF/ylGLW7bAu/YuXGn+r77kiy4EfxckEZUS8tEZn0w23bt9nPqjnrusLbbkgejOi94Wq7R6OSUqsca8Aq6bgURYwWYeJ4UXr3HI6bTh2qAfNoWEDYSQjaeBJ6LqTVQXIl3mxanfiPfjVTUBj3tUso0iSkkvqM4V/phHWz0R4YE" + }, + { + "header": { + "sequence": 3, + "previousBlockHash": "D7D33CBFA54CF7A95AC5C837773FB276BD06D61D2AFC32649EE5A4F83B2BA632", + "noteCommitment": { + "type": "Buffer", + "data": "base64:boKeYI7e97WYrIvnGZvjiQFjp6qfZeeqbkqvLNu4Aw4=" + }, + "transactionCommitment": { + "type": "Buffer", + "data": "base64:lPChMQADgAq9S/kdvKbq2J41GJ1NZ0TAdBNyETfHED8=" + }, + "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "randomness": "0", + "timestamp": 1698950645741, + "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", + "noteSize": 6, + "work": "0" + }, + "transactions": [ + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAX1L8oLO3sFJOP7tB0qrnGsdeDTtnrLFAScJe1NOxGbWppBJ3sOiEhM71tmgnBAzDhEwTUe+ecplRQtSpatfrCOc+IWM74LDUJrjY6UM/XRqE6mh12xwkYAcfkDIjs6jKTpuuXwvU3Uj9MWtQfqUv7ZF5i3L8l2osRy4QGxwUnEoNzL9UEvHlWizxvQbSgSKDhSoHOWkmwqXspnB0ARlo9GsO/WYQrStsyONeOukrMMqR6QORkM0Gq8EcS6ukas5TEra+9WsQJOYo9RDEzV9u/gXEuMFR2CBEhnqhg0khcmjqxKTt/jSmGok2NAV/iy8VdthJ9yBhI7Oufsva0rcqvTfX+PKzk6x6BQMsOHVm0P1Nu6iNIimRzXMtuTSCiXgTeiaMLA/x7uKSg/Q8x8McuwhtPLmJoJ/pWWRAuRNo/OR4RT0ZjtDCCh0wAMym2VyishDgoPLGGYXb4BRbZhZLh4QSpB95lSQ4XHJKlOwnCTtuIuZXQeR7G/JlKJcmfEhZiWMpLWu/As4kiAc+8JMoibkV1AgmY5KhVjy9QTvTDObycUifoZNREzb/7uyHcqo5UNA6M5xn3GecXZmyT1jEtvCURMRH7ca9bg/gpExEFJprnZki3Q78wklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwSpl2iqTpiGt+D5Eofe9nNIZL3QLmWHI7rl1HwJacZlSBm3psc8suFSKgoBJe+smrK+Gjdci7CxmHaCtzNT+JCg==" + }, + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpinWVFGlAFEUwji5sQQ38uMe98jvZojUahO8JxNzM2QgrPpuRsSGT04RFKGjGqMvKsjVE1hynBBrGON2pp9rRFHagUzXCc9K2yzcwLRyMGMLUg37j1MRlv53yr/187v7ddmxtqi7R3infdCHtrS+3LJ/JbkBWxNvbLZj3/mPp0BH7yx+pUZQuR8s/GIxohiRfmOPvdIxWjKUowlGMtNGrncO34x5Ix9YImvDCNlN7iCL+dywtwNjrcAlby8qhtKAmAJq1KTKsikC0endaVVlbFJNEV0gSqxAbX/RixRBC+C5gugdGDAuNhAY2wbD6RUGBdaWoRumAS4UfJ/bLWGNFAwN6P9BuI3XnYW5DE04s3hKugVIjsh4xkGx0GYUW1fIguuICgN/B91khJHVsz+OMrw/z6Y/gcc4TCrAQgQwZvyBxOFy6hPB/DtXYwaVWbxrTDaSGByaXa1JaeNM835T/0TgYhJNi5/JQOrHOtpU6iBTyhRyIwnBepQ63xQq+pcgzzUu0saDSiHzy0RNchJwmWhueaPiOb5UvrJiw2sIjzsYgwVVPChwlLLLMnpwHwCqh3pDE3Z1mXHR6dx0fyDWNgu7x7/e9+qsToTy9M4fgg3q+UzZkesGRp07q5ouUNWyRXehj+w2QXVMFpDi1sVokfSn/DaeXMGkjpNoqkRaH5wUsNBC1g4mKrgBjXsqtzmHXYb+VCbePEGHHbs1F09oEyCPpANw0Fao8NlB5sDP59WiQFqYlFQw2BGwwDUu2bWzC4blQlp5hcOl3FC0yGTR6+JC3vV0aAjt3aOMx2ODQV+mFU8ihqdIi2c3dMPkWXVOcUhcCRq8p442ua0SknB39IjNQJUiAkfAJmd8eYvXBF1cDzd1v3w89Fchlh6L6ETvUS/kShOMZTjRpNrdtlP8kB+QLzvsHG6ppjV5IqWDE1wkWodvEaqcOf7dnqKecPds2D+bdDpI8CWx6q1GvqhI4SOTRbVBBQKlvBlLX9FaoOTrCal0VYKhG1CaJro0gu+MMRehfgpXFxtaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAJbwZS1/RWqDk6wmpdFWCoRtQmia6NILvjDEXoX4KVxcAGbF/ylGLW7bAu/YuXGn+r77kiy4EfxckEZUS8tEZn0w23bt9nPqjnrusLbbkgejOi94Wq7R6OSUqsca8Aq6bgURYwWYeJ4UXr3HI6bTh2qAfNoWEDYSQjaeBJ6LqTVQXIl3mxanfiPfjVTUBj3tUso0iSkkvqM4V/phHWz0R4YE" + } + ] + }, + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAATiTdTjK6rf6zrDdswe17s6apKbGuAu+iQ6VDKcPJpQmWfxlnwfinyTrYOyiUnOg2tU586ZTU56qrn1u/VWYxWrcst4sa2MDaTy98/fF49GSJsliWO7aLo2k1n1hSvn10cYpa/wmVE8p3ChHoTmHCx5ZoF3v2xK6vyIW4xNzhAnkWw803xLEAlIPpZ2FYrYIEvIAasAR48ti/46CXmz7xXCNKKmvi025iSqu0HMIy0hStTxK9aks13X3PwWORzX2sqjWm0Gryi+iPpilXexpGaSpi6nJigiSs6NmXlwtH6xNpTSBxN70T4EaPPmpydzR0ccpiiBOIbpTnUH0Jbvoql05YcpLT1UN9/ZXsztnVprBBvGKs/PFQ15Q780FaK54BDGv3FKAiEvCG9lZ9g5coiIEZ3/AAxygs5WuGuEWM2Ba0L14Be9ZSgGm6ncsUVFpROg6nrYcP6DWEEmPBbape48QugbpjIZmt4unTvYA/IdsXIHIrk5kAI1t5Nd1X3RDSL4JG5JUc4oQlXEox5Z1ywIBlQArGUcwK1q4c57zQOhwaoj6q/w6vlbq1erF1Hm1c3X/Hk13DWILR8LmgjFBqd1h5XC1MVBM6BX3tAt2N2XwYvUfQIiseQBPDbRdaAJ9REdmEDF/hm0z2JBhk5NiypMPAqurgLKppxxc6gO4LX99pQ05thKwvFwm3v9GPXonpxKicjA8Y2ZXa9WYiDGYl1Zy0KbzyHNdBgX+wEu5w1B8qyZmR/k29bVVzEKe80QgyqCYV7oym971oJq+Z5fgI+5WgVZi7leq1i11UybNipfBX0RVD1ATWE+yh9Q5zX1UoQ/HXLarsIm2/DVSZrHC8WAtQn2URuLAYBdrpOfQw6hVQ7nBedoJGJ8s7zhUOu2LFJCKbK/QLGLRitEHRCHwJ2i+1nSGe4ajbliHW+YofcnFSKyLRZw0p9KG9j1HaKryLuonGw3j98PvKofeu+131V3W6adZhZzOllvBlLX9FaoOTrCal0VYKhG1CaJro0gu+MMRehfgpXFxtaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAJbwZS1/RWqDk6wmpdFWCoRtQmia6NILvjDEXoX4KVxcAOQgyHM5tvnFgKWwg35Dn9EPAAcxXdNIxhPrZ7qjZDACRToa8Y1Dwvhp2bCqe9Rc8zJuhWmJZBuhzkIAZWm2HAXAyCjx+zy0ac8Ny3CQkO6Yqo8p2uvNwRR5SSxxt4uyisgNfYx9eY8T5K8WHpVtIVUs8MUHQ9/+LhaCPSW47CEB" + } + ], + "Wallet mint for a valid metadata and name returns a transaction with matching mint descriptions": [ + { + "version": 2, + "id": "52e8b692-c6b7-4b88-b9ff-8ab7b15d9e36", + "name": "test", + "spendingKey": "c45cff9768df8527cc8b3b63234f1c4cbbef75b1217c6968dbe428c6a6c2ba71", + "viewKey": "23526944d8269344ceb1d06335b041d775cf667f22f5a091f237637f43b5c90e6e2ed13697c718b03e5300b2a64ea7a4da3f680ae889018ca6fb1886af4cd2ac", + "incomingViewKey": "8be3fe72db75e26a802731c216f90c6e83484147fede7496e49c602aa77eda00", + "outgoingViewKey": "40bd53a341ed449632d873bdf057ba0efac17bf4a2a214bf03990f2ee40403cf", + "publicAddress": "b4e19c8b55eb21188365ef297746d6be4c7a6d124767fe83ae057fc81bcbc3c4", + "createdAt": { + "hash": { + "type": "Buffer", + "data": "base64:R5HXrp+X3xAO8VWOhHctagm0N2I4goP3XG8goyqIqoY=" + }, + "sequence": 1 + } + }, + { + "header": { + "sequence": 2, + "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", + "noteCommitment": { + "type": "Buffer", + "data": "base64:2snkNrG/xJI3NXkbyiqxOMQq7K17mgJMQOLOxYTJxEo=" + }, + "transactionCommitment": { + "type": "Buffer", + "data": "base64:i3+qTBCBeXGE7f3pCEUYFZN7hT/7mqe8dvuBtW1+hGY=" + }, + "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "randomness": "0", + "timestamp": 1698950646863, + "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", + "noteSize": 4, + "work": "0" + }, + "transactions": [ + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAOKFF2iINdrCO9M1I4LUOSzhe/cApHhCvPqqjqw3J/7yDTFc71ogC4aGw5vGBA3zDab+8LzO5oykbm7EDU5GE1Fs/cXUzZlVrCTemgXruqkGqV6t/gnvAOCZlPpPmrgVMHoPxGA4rAmzvZKMTBhEsw6Z5KBhVgIhn/3pKZ5Mih0AFwtUAHycEpvzddmhsnMCXVRgL4Qh99mCf0+gRVgCwa1ziI8VqPylSz98/KhV5VzajjfTCdMOLf+Sl9Y9UcK7V1NyeMMPWqCaaKhGDtcPRYVq6TWhtuV0ESA5LW/s0Tl+2r5qDbxKhXk2CWIaZP7QGAGpL9JMzK90EpifXe6pQDoHa8KlIuK8pcYpWITkDa+eVvoI9MX1ZKz4dSHLIkHIM8wcgPc4RptGUqY4oPSmquxXXB9dR8gU3CdLd2oVAuU+7THxP12u/qhTZWdcCNT5GSlt+m8B+DlMtdYrwVbMt/5eOtAWztA6PuI/cQymxu1UEUff5ybcdWjYWdk/Nl/5BqS1MuCUvjlTq5noTKKFJ0fFkjVOtV196oe8DhZwF8OUtWDQD8YHkiH66wMzVhqXd1oYBqh5rHk9pmSe91mAV0HSd03ukSqZNmcnECt2uE2ZAuZEtZT/HU0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw+MGzu1+NTSVGnTBxxWnNJg8q9nkpBPOTD3gbRXLl9htUQ7OL2DGjPR23swrYmJRUI5d4agTmk9xN4Sv2nTdiCg==" + } + ] + }, + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrffFLXtIzq3ZPnT04jb59od7AN+0j0MxCuVdg6Cb+m0lXM7KHf+by3ER7DXONhDmSYCTbVJTTzhiMatsNqGnfV1+HB+1WsXj3BzhD84x0yPwTAdw3hC42eopvPzUOyPgHhDjXj2UNhCWZl1wfpYswOfsef5gvgBEz2IowpJRqUFAABF/vD8LBM5HICsfRwpFiHiT/4cUevh0FfYqLKOmLd7dCT77MwTjT98m46wpEGufK4Ln5fL/s3CpjzDmP4NxTSTd/0iE7Z/Qnq0oKmqEdETUtD2Fwf1Z2nHK+Tx0Gcd7NKv6vjLH3ietrRcYCE47mGVVgzdQPlorgTwB8CBHK3321My/nR9aeTO08KrjL6PDCHivE/2eW5LDW6L8aIY9WDlHr6js9et/esHcHSt85ICe4NcrrrPLqiIND0dL2ATxUxACNLMi88z/GkDyiUnkqOFdbiqGojWwJe4yt9X6EPwZPTgWIgOhF32Z0uUZEsTeXa6z+pyfWGRB9adYsRfbzo7txJ9ANNBcwQaLopn0B4WfwCyoiDMzUhWnhI0fRquRIW+AGTCrFl9WApglZT0tG9RzUx4QzW+OCZQatNOEvUa8fUkvlYwNVRt5Pf0AsL+a9lCWwelO7zp8OFwuc/aCKnXeRshMkgU6dBu9vy7a77Eo6/UIru42PLWdVOuVCxDkN91/qg+P5Rl7Z7xywFAiTS6cGgbHL5Nt0PWZw+PWEqAJFKHmXKKsOQoX+pJvey3xqIxT6hxn97IVYF+3WpsZxGOr7QDFVjr53vXRhHQh7fC9vC+eDe2jV2bRg66kh9yNwY9W0M+Dex3tfQtzlMcouLWDqz6r5rekDaDQCmqp6ggdWe1ElqNEppLRsNVV/e83VStDV+dxBAfGcXggZF4NZ/ZM6Pl0m4JCfTjybqHTQgR/D9do/FhgxoKkZzWLl2kVXqit0juOgoimLiw8kx1+A+0BQlL7ZCKzEc+GT1nZJkeVSHb3S+ltOGci1XrIRiDZe8pd0bWvkx6bRJHZ/6DrgV/yBvLw8RtaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMKAAAAAAAAALThnItV6yEYg2XvKXdG1r5Mem0SR2f+g64Ff8gby8PEAEad/hXS8sSOR907BotgOEQ0NgJDE/z2vEptWG7fnzkGPqfoxsTdZT62e2jLlmG+QwbQ6am6xGQHjfoiB0+7AQiW6dypcx80Zcyq4HclMQZJ9CnGXo/3Uud9SX/syiofpw/97sCsBam1i8BBZxmYZ8TM9AZjjqwXF55ChBfStisG" + } + ], + "Wallet mint for a valid metadata and name adds balance for the asset from the wallet": [ + { + "version": 2, + "id": "4067cf81-f934-4a34-aeda-9591ec119b16", + "name": "test", + "spendingKey": "d34ce097bab9bb01a8c3fb3abb34f8ddffbe56abd39794fc4d0ca80b381234c3", + "viewKey": "81cffe1e6f5b0454f4af42f12b9d91b590d01ddf0ec199b829ccbc48451bd93d623e5e97aa1947f3a7fa61056a5dd5b6c4e39c4cc1f1f3a1385fed4dd25a9c14", + "incomingViewKey": "473f4cb88af0ffb56a0513dae3dd085c4c3cd06b4a4e19c6dbd10cc16886c306", + "outgoingViewKey": "f67b719c18608cc61787cdbabede53f263d2f3fac896d93c73497e9ef4cb615f", + "publicAddress": "072286760fadfe63ca1aafb9c4d762bdd4685dacfcb08de573da48641dded34e", + "createdAt": { + "hash": { + "type": "Buffer", + "data": "base64:R5HXrp+X3xAO8VWOhHctagm0N2I4goP3XG8goyqIqoY=" + }, + "sequence": 1 + } + }, + { + "header": { + "sequence": 2, + "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", + "noteCommitment": { + "type": "Buffer", + "data": "base64:zR1ZhJLWG4V2k72OOyBJhUjBURgbo5nYxXH4OSKFpQU=" + }, + "transactionCommitment": { + "type": "Buffer", + "data": "base64:3vpAxy+uiKSYJNyERyWMv2LoQU5faP+9Opkrc/j98Qs=" + }, + "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "randomness": "0", + "timestamp": 1698950647794, + "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", + "noteSize": 4, + "work": "0" + }, + "transactions": [ + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAin3d/RHUGNQQXJABY3V4foFwybr5UAhx96HcWXfn3CqC+nNON/sIT40bBCw/BnQaN/44Mi/VlS/GvwkRHEdsRZShVmZuISOcLyKik2EoJsy4+OMITCAPuqGoTNLK1numXoJK5Mnlj47NKIsfdh4qVWWVCAARouUT+JxzwPJffV0VKkNjDLrvhCO5OqeSyIC/CtnegYoYhhxil4YdInHNwkBphASxrV+5Va4rnOSl3liZezJCXQ+Sxyg0hcsANuthm9hOX98y+Eab+b/sMrnDJwgUflXv4A6YxmuEvi51jNEchNmRG3l7C+CPHq249KEl8wZGM2/k2v0IO4DHrsDp85tdECKpB7ctrqwk2LcAFASwGtAuCR6zTGHNIP0j7nxoP7iyfAJKEWO2oh0ncabgHAuVJgEOeX9qWE4CkaMT8LPfZjxqSeC4MABAwak4warhZo01NWTUHattPNjZmJ/szCHbmTc+5Bg5+eBSRee0WIHB7akRdg5oNnPLLtyy0nGKplRDx4ROuml8yIcdbJiYQwnBo/Jai77PINnA2h2J0ZuBi4M6xRvYoX35wI/xizxBKfl7Zna7p/AevqNJ8F8+6tf89VgzqGu+EJouVtDe4FIYMkBHMnwRbUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwjtHq2G6SL3M+vjumKhIADV44EmGiyJwroceTq1gW/NtLH43TggvovX/RDb4ecC1ar4BuHcD86+ORSODd39J7BA==" + } + ] + }, + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2BbYrzRChqXI1AP5GLdfdJol5vBMnH2NJPEjyaLpF6Kf0B1z2wD49Fxr4xId4DMlrVyVOBfWmnvuPOzDvNEU3N5UrRDKEv3qZXnYWyhBUWw17c/k4ZtytKfIIWHqTmyHVqVe5u2Y3/1F+IcMrxJY1DComr/GqCf4gifJjr8PA8D3R3w+nbd5nx/FgPLGq3NqOVvc8RjSeUUXVYjPQoZJy/wx4wEJvNeVXQQ5Czy7pK0arzS2U9CTGV1tat49A6ZrT8eZIbpWsiV4OzaahVmp1rcZDLweqJLMgU7X9ARq2UgPEiVaNAHAWeaQVLgYMwleaSsNicSOpYMnc3TgRPIc1NESNubShBrWG4Z5bJplttwlc/N5d7BSWRGY9b8Wf9GklcIhYHwvqGjxTdi5939OKqTu5QHuAuiewMCZI2WkIzOFxA2tvvQmw3igjKULtxWKKiMRpVrY04zQT3yY6bqLfm9EIY8MwhR4TEK7t/KfYNmQOMYKTAhG8Gl2vYMBYrYyEO6Uvx97louIghdLUYEGoF6qcSJLx58uLuCRYavD7x/DBu7M9vb7bipkUEG4L5Zjad9S3mbWuAtHdMJU/cGIMtBu1rOHb4Yqa0hAhB9e2akharShVZLhHxOFXSK7HkoF4YUE9OC2HMPUfJtn9QTAdro8eF1CMV+OURC2lNmm3+X22PF8o2rj1yqedvwh2lm5KlsHgiXTGMh6bZY3r/3ppUw13oV9bGrskTKDe6ATPkCN6W1FV/5EoU0wYKvxIrs+mCrOOf6raV4ebR/RqQeAtRzIAiVl0/FrQe0VLwNjq9sIIG7uH8mXPHauYXaQqG6CGg39nt4TEe4zzgU4IVEpBGDBhGibbbUGMLDCLYDc5BZQdyexnWH1ZxdrmEkt9v3Qe8VrqpJZcxAVBYhp1uMoxQIv9qFenMikyljEvGJ5Il0EGNtpTyZ8/Fh0MJ+m72W4zzkTbBL4n3U06XR6M4i3HCNUgIoHMzgByKGdg+t/mPKGq+5xNdivdRoXaz8sI3lc9pIZB3e005taW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEKAAAAAAAAAAcihnYPrf5jyhqvucTXYr3UaF2s/LCN5XPaSGQd3tNOAAyHJHHIbj/CxrTdcI2hv38y2xsJmyQIeIV+K4pv7t0htoDYSZxunIarYe0LIMb/7YHqcKvkzYT0ZIvIgU8yvAvjNLwi3eCLklBo14mk391f3gv0kGrfcYKaOhRqvhwGuLGzR9soduj14r04+sCudHsZpYtL2Urg9nRcH3xWZ5kK" + }, + { + "header": { + "sequence": 3, + "previousBlockHash": "8AB0E80B7AD3D4705A1F3DDA77CC2FEFEE6C07329FE07103CD60D1414435B54D", + "noteCommitment": { + "type": "Buffer", + "data": "base64:qRC2bFT90oJTRHigEkPAMsMDoND8o3U49kuMoEP8r1M=" + }, + "transactionCommitment": { + "type": "Buffer", + "data": "base64:p05w8m2yi2ZufbaZ09oHmQ8rK0Y849+EWuZ/OX0Wcc4=" + }, + "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "randomness": "0", + "timestamp": 1698950648478, + "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", + "noteSize": 6, + "work": "0" + }, + "transactions": [ + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA5KSEiIaowwDlKAiePrRbJeLSWzf8yBC/sPkn0Z4aYc+FycZRczuZGQn2/b+2JRtEZ4HVoGGWiVuENM7UR5XiEGe6QvOZXWJUEpBPQ+PGXWKjp0JKgjngjsh4FTli4UGf0/0BKahywbuVGveBfgAtHeXBZdxhPA/EKI5wpSti0LEG+PyvPDLDScHP4WO6ApMufS2SniQE+4tMCGLIlVITrGpHMT7vKgl892kN7Rw1rpCQAzEKvLCekKwLxnSxfV63WG2EsXn3Zg48UwTFBOsByZqu+bHz/0LJpRWDXse0xy5nWOMO6DLCAkrBHOPIiEKROcu1UtsfMXJFPBeLUv0sF2JH6cgyyzki1UaONd0r4wNATjZTkKV7Ejc0OiFKD6BTAPepS2im45zTabPXtBo4cHWryok23ukuCiODCX9UZc8Y5vkqGwDS0z0K9qrwCdRRU+2YBVP+BY82QJOx5m5m0sgSFeP2EbD0GqiVQj/t0dp0cfuyM1bEK4lPssQpqbVgSpq1X7JWGOxtDWaF78ReakY09vxmRWWLDrCJcJTlj4Ec4yEPob2hl5RrnBcgpBtzFNUFupTup2G1cSETtEEj2yuhgKz5V3raLJLEdDy0L1dqQkv4dM8myUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwk/s9gDB/eL7OwjvUZTwOk60kPX4O4X4tu9i9459XcnIwWFzIYRNkSWGji/NNPGEVF+tgMSyZe5Yq3E8fYpcnDg==" + }, + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2BbYrzRChqXI1AP5GLdfdJol5vBMnH2NJPEjyaLpF6Kf0B1z2wD49Fxr4xId4DMlrVyVOBfWmnvuPOzDvNEU3N5UrRDKEv3qZXnYWyhBUWw17c/k4ZtytKfIIWHqTmyHVqVe5u2Y3/1F+IcMrxJY1DComr/GqCf4gifJjr8PA8D3R3w+nbd5nx/FgPLGq3NqOVvc8RjSeUUXVYjPQoZJy/wx4wEJvNeVXQQ5Czy7pK0arzS2U9CTGV1tat49A6ZrT8eZIbpWsiV4OzaahVmp1rcZDLweqJLMgU7X9ARq2UgPEiVaNAHAWeaQVLgYMwleaSsNicSOpYMnc3TgRPIc1NESNubShBrWG4Z5bJplttwlc/N5d7BSWRGY9b8Wf9GklcIhYHwvqGjxTdi5939OKqTu5QHuAuiewMCZI2WkIzOFxA2tvvQmw3igjKULtxWKKiMRpVrY04zQT3yY6bqLfm9EIY8MwhR4TEK7t/KfYNmQOMYKTAhG8Gl2vYMBYrYyEO6Uvx97louIghdLUYEGoF6qcSJLx58uLuCRYavD7x/DBu7M9vb7bipkUEG4L5Zjad9S3mbWuAtHdMJU/cGIMtBu1rOHb4Yqa0hAhB9e2akharShVZLhHxOFXSK7HkoF4YUE9OC2HMPUfJtn9QTAdro8eF1CMV+OURC2lNmm3+X22PF8o2rj1yqedvwh2lm5KlsHgiXTGMh6bZY3r/3ppUw13oV9bGrskTKDe6ATPkCN6W1FV/5EoU0wYKvxIrs+mCrOOf6raV4ebR/RqQeAtRzIAiVl0/FrQe0VLwNjq9sIIG7uH8mXPHauYXaQqG6CGg39nt4TEe4zzgU4IVEpBGDBhGibbbUGMLDCLYDc5BZQdyexnWH1ZxdrmEkt9v3Qe8VrqpJZcxAVBYhp1uMoxQIv9qFenMikyljEvGJ5Il0EGNtpTyZ8/Fh0MJ+m72W4zzkTbBL4n3U06XR6M4i3HCNUgIoHMzgByKGdg+t/mPKGq+5xNdivdRoXaz8sI3lc9pIZB3e005taW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEKAAAAAAAAAAcihnYPrf5jyhqvucTXYr3UaF2s/LCN5XPaSGQd3tNOAAyHJHHIbj/CxrTdcI2hv38y2xsJmyQIeIV+K4pv7t0htoDYSZxunIarYe0LIMb/7YHqcKvkzYT0ZIvIgU8yvAvjNLwi3eCLklBo14mk391f3gv0kGrfcYKaOhRqvhwGuLGzR9soduj14r04+sCudHsZpYtL2Urg9nRcH3xWZ5kK" + } + ] + } + ], + "Wallet burn returns a transaction with matching burn descriptions": [ + { + "version": 2, + "id": "64ecfd71-631c-4702-b6cf-219ab037bae3", + "name": "test", + "spendingKey": "d49fc24bcf7c033ae695f9936fafadf54461ff0962867efbd08b0dc36804159e", + "viewKey": "23ecff3f7049b322917ec4f094e3d9025343a16ec95e42badf2410eefa01afe3e2431f29cbb54a30572f77a9b4c059572941169f4188020a564229f0b3bfd9a8", + "incomingViewKey": "b743cc7eba0a9d96c769d50b7f6faef7c8ffb4b6e994edbd8d8bc4b26c38d207", + "outgoingViewKey": "a9f10634fe52c0a8dc3377327b32bd54393ffbf1aa2c1761cae993d8403524ec", + "publicAddress": "f3daab308d010f7aaf6499bdbd959572d4e15acd63366dd1a8bbc92210dc8469", + "createdAt": { + "hash": { + "type": "Buffer", + "data": "base64:R5HXrp+X3xAO8VWOhHctagm0N2I4goP3XG8goyqIqoY=" + }, + "sequence": 1 + } + }, + { + "header": { + "sequence": 2, + "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", + "noteCommitment": { + "type": "Buffer", + "data": "base64:0ExmAYhiFFdnyz2UHZMYo01enr5pTBmUSas1+Sc+cRo=" + }, + "transactionCommitment": { + "type": "Buffer", + "data": "base64:Vm6edkY1GMEEUUMxOr16/Thifnxqr2DEFcZ9YYAVPNw=" + }, + "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "randomness": "0", + "timestamp": 1698950648842, + "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", + "noteSize": 4, + "work": "0" + }, + "transactions": [ + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA8Xxolvhy0m21pBGR6MFwzJlRzE7ywWwcI3fhAtkKVvO0om6oP/yX6ijnJEGEf3phMofpvTkYu7589GzoHX8bOaA8gsvDR++MaqVsqvWIbsyTiLWvwiwxZZa+w6GLjDXxOzJSJgDjsCB1bF3OnBmHX7qp7l+K8dS/6KUCQN8P1jMJrMsXn8cAfE5xC+f2pWrzbxTWLe3vENSw5khlTfI1n3wAhS3CZGkY6vEg/2slFGeOHolb2KViL0J4kGn5ONIJoIiJwQNHQLo9iH2ZxW4IDlmErUNQVtF26zmpuZhDRax27SN9m8N7aP1ll5aZQSUZsyDsBjgRsozgocciQ+slE06x1g9YdzdzykVhTS1hZMgGEMPgy/3VPOWGw/5nsLxeVhKQRUkALFixELEoqcE2/i1kpuHGOdOg9EqAt2GCUNY4/kuBmBfqnD8r4ozz8SqSzl8BqjqycccMm8w5RzpZuEQPnrTW33ObO/xxsEmBtF3qYtJYSo8N/Wx/pJGU/X3PLTlb1SORVN0hzsW08F108VlFrRy1hvUP3mhU8i6GW+wXOz3VRBv8/b+aWHwtUs5amYSwPZBlFo8cn9KTD5mNIgcmScrtObntFDQwUMzPCtPYzT43i/yUbUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwK3Ua79FHwa2jx6Rvl6/xB8AqTwlOf3gRHlb6GNaJTSxeRRqAygELSvQLNToM2ttk7pH86DGCa8IdxoQ8LfljAA==" + } + ] + }, + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BALUDhcENVcprBGEiPLDwQXv64S9PPOTTN3fyIXUheDZOw3HazdOuHZJWmPP4j6kb4BI5pOiHJ+NIZSeLJd5Y4KiuRMtlwklNLH8960UWOo0ueu3IKhdJFAteYJrfVlcZ4CP2s9xB24g5eY0vYmONn4f49pDkScRKrijO3LEcIST2S3knNWxDE6wYIy2MM9QA63QFMkSQ4M6uZ+k9SFoM1EOe6FVBnuZ2zhiHO+58yRz+pRTK3RU33o6H+x5dtH5u01R6baIj3PhZLBXUxog/rraL7qc/6FThiPcpI6YYLf93VbvNgsmJye/9RP18lKj0YqxlcUGYdm/FPYwy8tKRod+S9p64/QgN5qryv+Q9rb/eQ2FSZgBkP0Zt+M2FkKncrAVvOTcG4sW7k7suTW5Gw/xafMpNBcdLwTcwRtLd0R14yw9k1vyROdURUnjuPvnOMo1zPHKVO8zmzYEVFYzA+gjjvz1k0eFaruGUTSaPOlinAlJ5LfrZLHM4HSxCqu5/io/4Zqo3SVOZIZVV4rH/LrKY8/200N6Nqgzki5IILip7D7Rla8BMoS2rIRmmZ/ZBCKJSvakVkhoC53YbAAMMRm57j1dJA/VqS6f8PLqrj7oGTL+1tBB5/Plac0Lt3vjJa6ti2RQC1IiuSTDxMgZbCLRT2CdwxdE9mernb3+IDqrF/Hc6sDpl/kQvoZurI224EtEnuSN3mjvTwJKgqogfERuxNUo4owoa28zkTazEpD+H22XffSlvQ063+5FbiGcvcxFETaTKlAXKwkbktpgPpsmla7442srmQH1MWnEtmw18vXos3fv2cIXdXyqy1n8Ons2zHIvsKOGpDmWfS87gHiGXGQsQDyGNyWNTdYHc5bldy5ffyRgV6RDlAjZovQELrr1Slxmtz6go0Uf4fyLSW3Lkvrykt8oOzOIe7eP+FoV71gh6iIUAjurRX5Z890yaawsoZN/8Iq2C6ynlentYhQEaK81mA389qrMI0BD3qvZJm9vZWVctThWs1jNm3RqLvJIhDchGltaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAPPaqzCNAQ96r2SZvb2VlXLU4VrNYzZt0ai7ySIQ3IRpAOb4G0Tz47ErmpB8SH7NhYSMubRxRcJhR3oS/yybmwUbvRCE9OxVHD7r/Z2kmeu7QczsSlIEkyyLxg67BF6BhA2oWDI1pZwjHs64JOBRl+KILT5W1iYUA8BbNIz/iDE6sv05watZjARpcwiTY5pNDentSI52lHk7dEOpPPSRCiIB" + }, + { + "header": { + "sequence": 3, + "previousBlockHash": "446536DD6F2BDFBD3552249C34A2A7672DC2D6107FFD86E8E66AA6F50C7EE657", + "noteCommitment": { + "type": "Buffer", + "data": "base64:dD1OR+YU17ijbLHBhBULcAbWk9lFjRcjCLpftxKbOU4=" + }, + "transactionCommitment": { + "type": "Buffer", + "data": "base64:yvwGD2WID27j2YXbsyBbP9cWQsJBUAWdDYr/+Sp04lU=" + }, + "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "randomness": "0", + "timestamp": 1698950649578, + "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", + "noteSize": 6, + "work": "0" + }, + "transactions": [ + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA2Y3Ze0EYCFKVUuBohwm+6DtDzRA8xMLqydB2WovsTu2yxB3LqhpKi7xjA7TTMWtbmyy6NTa5LNNXj18D6aAxbNAio+MpPNPDhK95YcaDCWm3erPWLb5sQ1Apk4I+6KFrw+G+evVXfaN8wp5OjLSnNZTAMugYrjrChBh6sp60PRUMWDiuSpVJIoK/x2gW/w2xK1uv+GFcEToq6dmOBNS/RCLv86xuhPNvRzyNa4vnxymWBgGMGgh4Gvkbya9G9cl+a/xszxy2kYHny4vYOd0yjMq1pIamLIy0CucKUHLZ45C/1l0oPJH3mz+0Ah3D/FjRFNIS9XWZfj8qYcMe9wsBJepqNxi1uY8Sq1cOEItuHWDY9bmczLWfRM8TVkdvy7ENg/iW71gJ3Y/z2Hh9ZQmSTdeHxbj0KalI+id5zFw81JbdqrdyG3L9nDH1BgK9+GC7t1/vclGTK3kstEt78d4HzQcsPo/0NXaxNYo5lbt6pn8n3uZdQW9vA8eNFjQWSFjA+TSoHdGU94D8I8RXF65cFJWFbjzsL8XOx3YK4HqEd4pMBZdcfQQiLngj3rtwwmF4wq2d/py+5SqKonZfWZn5HpB8eIn7UcP/NYzSdUOv+2Ya8x/O8E7C2klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwyV94R4RXzelh2eA8sTmWl4VVnroMBrPDmIeKCI5NJQe8ulHW3oBlwLlK8GOYzQIIpYl3YA6L6RTyMITA/RwRDg==" + }, + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BALUDhcENVcprBGEiPLDwQXv64S9PPOTTN3fyIXUheDZOw3HazdOuHZJWmPP4j6kb4BI5pOiHJ+NIZSeLJd5Y4KiuRMtlwklNLH8960UWOo0ueu3IKhdJFAteYJrfVlcZ4CP2s9xB24g5eY0vYmONn4f49pDkScRKrijO3LEcIST2S3knNWxDE6wYIy2MM9QA63QFMkSQ4M6uZ+k9SFoM1EOe6FVBnuZ2zhiHO+58yRz+pRTK3RU33o6H+x5dtH5u01R6baIj3PhZLBXUxog/rraL7qc/6FThiPcpI6YYLf93VbvNgsmJye/9RP18lKj0YqxlcUGYdm/FPYwy8tKRod+S9p64/QgN5qryv+Q9rb/eQ2FSZgBkP0Zt+M2FkKncrAVvOTcG4sW7k7suTW5Gw/xafMpNBcdLwTcwRtLd0R14yw9k1vyROdURUnjuPvnOMo1zPHKVO8zmzYEVFYzA+gjjvz1k0eFaruGUTSaPOlinAlJ5LfrZLHM4HSxCqu5/io/4Zqo3SVOZIZVV4rH/LrKY8/200N6Nqgzki5IILip7D7Rla8BMoS2rIRmmZ/ZBCKJSvakVkhoC53YbAAMMRm57j1dJA/VqS6f8PLqrj7oGTL+1tBB5/Plac0Lt3vjJa6ti2RQC1IiuSTDxMgZbCLRT2CdwxdE9mernb3+IDqrF/Hc6sDpl/kQvoZurI224EtEnuSN3mjvTwJKgqogfERuxNUo4owoa28zkTazEpD+H22XffSlvQ063+5FbiGcvcxFETaTKlAXKwkbktpgPpsmla7442srmQH1MWnEtmw18vXos3fv2cIXdXyqy1n8Ons2zHIvsKOGpDmWfS87gHiGXGQsQDyGNyWNTdYHc5bldy5ffyRgV6RDlAjZovQELrr1Slxmtz6go0Uf4fyLSW3Lkvrykt8oOzOIe7eP+FoV71gh6iIUAjurRX5Z890yaawsoZN/8Iq2C6ynlentYhQEaK81mA389qrMI0BD3qvZJm9vZWVctThWs1jNm3RqLvJIhDchGltaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAPPaqzCNAQ96r2SZvb2VlXLU4VrNYzZt0ai7ySIQ3IRpAOb4G0Tz47ErmpB8SH7NhYSMubRxRcJhR3oS/yybmwUbvRCE9OxVHD7r/Z2kmeu7QczsSlIEkyyLxg67BF6BhA2oWDI1pZwjHs64JOBRl+KILT5W1iYUA8BbNIz/iDE6sv05watZjARpcwiTY5pNDentSI52lHk7dEOpPPSRCiIB" + } + ] + }, + { + "type": "Buffer", + "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA1bEmhPoaDBmf7WAWJ9th5qFG38gZRzPyMcuArp2btriSrFHg2Gb6E1N1XFmNsvaOK2iU2Ocbi83zhjlv3++14eAXWmZbk+icxfh/4UKyo2uuwKT/zVcPCMCLZ6+cFvXmo0WBITZuHWzSOAJnCWmz0H+5W/IRASslcKT6NV5mnDQOX3P3+IcjY8K8+vygXRAfm2heGB/ZT598n2oKfjWcTTotsRRFad5lTzxX5Qmz3waTr+i/yzczgQRi2QJ7Q4MpjNBdc+FoyGv28MzEKhZwmxkpiauihL7Tl2iJLjnDfgbaSv/XG86dT0Nwrv6oXGo55zCJlVbO/oRhyfDWPgsttHQ9TkfmFNe4o2yxwYQVC3AG1pPZRY0XIwi6X7cSmzlOBgAAANvHcLhs/PQ7ohzMjs/hg9kK1FwhRQ0b+ES5uDUDVIusVbpEbJgZpen2g1W/X7vdad5ERlPktDxOXniGZpR35OAnmNpJsT0E+8UY8e0XXiaxCnXrgAoegNqZ7L776JEeDKQw51Y74vN166DMmucTRU6pedDyObMQJTmvndKfUQpt2/OaVVIM4ppSvFJ5jdT7Z6Gc4I5Is5u3Zmqlyl20NrqQtnRI0b0xSaHDYO9e2KO7ppl8m+ivI4bdViZ7QYup2hVNxPCfe9HOahiUc9R3zG4kDrxOVvCwD8/5CEIa2HKsZQyschUYyYbYTF6LFgaucKGphsM3Esuh4M4KDqt2mE/kqNf6co5eOT9siZcj2vTLG82Lu1RcvNx3QUgTYqH235Vuyll4h/KKJISq0GIiBQb1Gs3yyEcUlucypEfpCoFDaGQFhIddhBFb8VnsZyQPtrGAURPF8ZSeSlR3UGznVRI2uQia7ejyxM6sSEvVrJ/osIiPZcLermSZe6eN33Y764BwxO9CcTpCPuKF5Q2DI+AZMrQavmpaBO1geP6JP2Z3I6dB8kRIgmF/g9+5g4Hjv+kxYvYDut/SpGRxHcAt5JA7ajQhTl2em3pIaOHMuNJ5H0f/uKHYLjv2zklMf0vM5Ir0npfEMTRiD1ixNZVEB8E1+ci9FfEGB1hTUrULU+hK6/VqXvkuWOxB2BvLmlXiHRuVb4v09xhFkAwG+TtyNPzRi97ib85EkgSI6/BxClgKytSj7ORp49RTPn33qCPozqV75WuUya2EZISYFoOz+/UoUU1BREwkF7wZdvgV6mX3DD118u5fGJyRSkYRxMvAvkShyC/I6FAxuIBrMQ5FIhnu+1nWQpGwqgIAAAAAAAAAWlSFduGitiR2nLX8M7fPkbrNdGWujcNVgQzqtKGwRi1OHMzJDsOrZAdlfDUZ+zkFNnax+gTovNFNjUhsKRojAQ==" + } + ], + "Wallet burn subtracts balance for the asset from the wallet": [ + { + "version": 2, + "id": "556a9c19-0345-4536-8cb9-ca8b2e66304f", + "name": "test", + "spendingKey": "0a0634935620e6c108bbf74de6aaa02f3c8f577903401ba572dec77ec296163b", + "viewKey": "5878c8bc8174c355b1dfb690a3dc3e5794007191865ef31925d037d6a8081dc7e3eb7f84e9d8b8429295b0e1d5cf6b6bc7128128d88f1c599192714b0c3505b2", + "incomingViewKey": "9f64fde1a0f606eab7bfeddc8608a968d0e3ec7cac5870873c7275b10f05f600", + "outgoingViewKey": "670aba7e6cf9c4b9f27431065e14ec4af68c6210a1c38ef68001e697c07da1b4", + "publicAddress": "e142de20cf20c39bfb966d1d6d127037e3857871e96762274961aab642502b86", + "createdAt": { + "hash": { + "type": "Buffer", + "data": "base64:R5HXrp+X3xAO8VWOhHctagm0N2I4goP3XG8goyqIqoY=" + }, + "sequence": 1 + } + }, + { + "header": { + "sequence": 2, + "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", + "noteCommitment": { + "type": "Buffer", + "data": "base64:x7f4CwHq4J2yW291XfF1yz24Ny+LkmOdYgxUq00kSnA=" + }, + "transactionCommitment": { + "type": "Buffer", + "data": "base64:iywAZsvQ+Wvcniawm7KplmTZzXy+VR/vetwWCgv//7c=" + }, + "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "randomness": "0", + "timestamp": 1698950650875, + "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", + "noteSize": 4, + "work": "0" + }, + "transactions": [ + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAr+316lOsgE9txvl3DVNpxXGWQvQ/xvCh3Nhm1IY4KB2zQHizHFYo8o4mQs8XgjcKmOwA9Zp73ywKcngsOXajTzauHBrIcfq410vZfrxqAXSAvI3b+6xYNNvsTkElyQPDKAH0rrD96YRGQAZXvVjRa1JGQW8WpU75rPRTbWewQ7UDLo1ZCahNPlzPvbjfQ5Em6lXXw28Wn8jqiSBIGrN6zZhVKivmMNFcqOHBRipUxsenMSf8bBfAXBx2ydd0k4ctkjyKsezSneuo6MSAmYa0bUbCbsDvY85wQaqak834M/y9lzt+lG0EkIOF8rIK/GEKfL04cEE620Y+XhuXedXao9riczU70zR8g5sJGZ2X9XMu0JhRq8YjNshnOLIRyZwnyHwZdobjN6G6N+zP+oEOkMF45iFepe5KM5XRvBp/G4AulQ/qWmT5YEvRf174gJ/YMg7yk/nAPOXVwKk2QgGKfCt8OIFKBgpUPyRtI/Vq8TftOPfFIPwzgl+VTrDzxHB8Q+V66pQjsAAsbcl+bpopPrJ9vQmdSiySL4s9ALCKEK7NlLO0Aly4UFDqO7w8TwrUYiACccJOoo3wJb17TWSZn/Hsk987ew6bIZQo4qL4AzGChdQpxKg62Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw4HZI9ELLi5gbxGt4s0wEY/JlslGsumW0GljSrpujmThx0cF2XWf5DbELWPm+8QDj2X/KWQZ4aGzGzpVPmKI3Ag==" + } + ] + }, + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJs/aZ7Nlcxk5oivehDnbSQT9SWuIdLFoqQHCeMCg/NyLEsLSd5+dy7s21rKRAmpEJ9htz9WwxAkWhvFTiY0QbocekI8prJRrzwJH83TFo/WI5yW7EaNZgUTUHUb5hKWFKuJNODwDC1LOvl+9hlIQDRt6B1GeiVww/91xl9vNvD4SFju9/ZxSyrJykk6NhNNWOhHZgfKj43sckjFWwDBRdt2ru3o7LdChPFJ4U/aPjDCECfKYfQzDF8j1tLhSKdCJTmehRbhir3c7SnNFlq1NVhV6Oct55dXma0ebAtVx4eDSAZ7GuZKl5/vMCQoNYdm99YooH0PGlCFeJ1FUwp78cnDpD2JM8yGqH6LKC5zWKmfISPne9/YdrqySbKJ3KLhbkpcjn6Y182Dysa7mFE40l/6LhZzWZuk9ti7RR5HM3A9KEolD/OuCNzLxd6lYLzeyxpJzot43g1PGHVyDePV/I4MtmpHc8Zkpf0fwVDukifCsJkvV4Oy8SU0V2DBb6HX5aevR31ZrVWBkcyKoKxJeoFJyteC66DEs9hFQflSRtWdIOur3K6TFsXbFq3JTdjaRDvs4ljGhZdMxB/Q8ci2F64hOXyPSWzDILy2c6HSyhQ+69tY03nyQoobfGlM8YjJBq/CG1NbZGl3Ogyx/v96Yfikr7w1K9C+cBzpwrtvrDX1wft6cJkV8C6Kgq8+DVL9ueIH3GbThYGnR+l7O7prwjsj6dXGUizHEij9y+pDsgEOwJIjc2A9OpJChzeS6bn5eQ6n43JlhmkHgar/04Vuej+WnDg+kTu9kpbkfow67DU7nS6lGx5hyruNqZUvNBFOWhB/J2njTG1LljbwORWVlf8b4+HIFXkN7Fu9ezKEQsf7Vx7w8R31N4mgLic9PoWFNcAImGd96x6ounN4fp4xH6/YpTmxi3aCBp69+d2E7tfF3PPTeTvJ5ekhHvieynM09eVZ4J/kTOkjFzje9m8Fv3+50/RJ4nFZt4ULeIM8gw5v7lm0dbRJwN+OFeHHpZ2InSWGqtkJQK4ZtaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgKAAAAAAAAAOFC3iDPIMOb+5ZtHW0ScDfjhXhx6WdiJ0lhqrZCUCuGAGMk9YZ0UsiynQIdkEeSdNmWpuAb2n6/lfsTEzrpJDbNcpUCBQ8pJZQdEGNSKzZwIsFEHYBiXteXaZYs1wiOHgjzouqbAHCBizlbYooG2V4yUYzougkb4dQowQ/AWZJ5gYwgYWsgRTFQFA3Q93/1VDkDS65uYEqQda4/8WfcfQYH" + }, + { + "header": { + "sequence": 3, + "previousBlockHash": "DA6D6D4CC6EDEA12AEA54E276F15565BFAECBCF65AD9B3CE28A405F4A9ACE145", + "noteCommitment": { + "type": "Buffer", + "data": "base64:vtOpqoiFEHpVjmtiJ7gBJ0ES0Pe/FkajpTnHSEnYkAU=" + }, + "transactionCommitment": { + "type": "Buffer", + "data": "base64:MQtC4t5Xd4hqMMtX+pF6sRedacBhVplvi53CeuSpcJk=" + }, + "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "randomness": "0", + "timestamp": 1698950651615, + "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", + "noteSize": 6, + "work": "0" + }, + "transactions": [ + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAErU2EwVrzRguYyCgWDhEvlOD7wjM3V27ZUeU+CW2miegYQSnYE2Iy8PdsjQez5a8cgf2OGpWsOZzZZKdwbRt3owDBA2RiI1R7j0zkm0NysyXSW/rHzcSGMjEaCvIaJuhQaLz97vg7Vwiw7MbnDCLiSDQXI4vQFsDaHNV0J4fm3kXkdlei7VNb3LKYf/V11KBj+u0KbtIMOmxXkqSyVyproYxjXA61RM5ATFgSm+G4tyxLJ5vzp0VYJabuHcGKSWLbp4MsJ5WqPXaQNxK4A6gzJ087RTmpzCvY+K1zolAFQOpQqzsUA1PRuLh5eDCnpQ9cgZcfIQXoI5+6LdfwhSFziu/cLfejhqwRexwWskEAOa47pm4BrNgrAYSExeEMiQwtoNzULNx4vVvYb6O4+1fDyR77LKuN9Bh2ErkpSRl3BCK1+kgANC5Q/oCIwXv1Ko07QZnf/72phyNjFGRciXSp9S/y3aNxRQj5vxl7dNMh2c4rJ3hLtnbEUEXzL7ofGNUVLn0rbepyGFlMvrwEJIETfUyZwTeOv3fdViOkbQbvSgz/SL1sI0924wn3r9O7tW2m87WG3yAjzKWtO7ezirSNlt35wskz6OQbnZ7hsbWhPSZemo0lfwAoElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRMAt+uxVw0CdhqQTFqIqnm78ShwXBNGab16bNIjKkobBOeFCx8VkUqXXznkbqCQfUJdZVgwGZ8l5lhkFgI7eAg==" + }, + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJs/aZ7Nlcxk5oivehDnbSQT9SWuIdLFoqQHCeMCg/NyLEsLSd5+dy7s21rKRAmpEJ9htz9WwxAkWhvFTiY0QbocekI8prJRrzwJH83TFo/WI5yW7EaNZgUTUHUb5hKWFKuJNODwDC1LOvl+9hlIQDRt6B1GeiVww/91xl9vNvD4SFju9/ZxSyrJykk6NhNNWOhHZgfKj43sckjFWwDBRdt2ru3o7LdChPFJ4U/aPjDCECfKYfQzDF8j1tLhSKdCJTmehRbhir3c7SnNFlq1NVhV6Oct55dXma0ebAtVx4eDSAZ7GuZKl5/vMCQoNYdm99YooH0PGlCFeJ1FUwp78cnDpD2JM8yGqH6LKC5zWKmfISPne9/YdrqySbKJ3KLhbkpcjn6Y182Dysa7mFE40l/6LhZzWZuk9ti7RR5HM3A9KEolD/OuCNzLxd6lYLzeyxpJzot43g1PGHVyDePV/I4MtmpHc8Zkpf0fwVDukifCsJkvV4Oy8SU0V2DBb6HX5aevR31ZrVWBkcyKoKxJeoFJyteC66DEs9hFQflSRtWdIOur3K6TFsXbFq3JTdjaRDvs4ljGhZdMxB/Q8ci2F64hOXyPSWzDILy2c6HSyhQ+69tY03nyQoobfGlM8YjJBq/CG1NbZGl3Ogyx/v96Yfikr7w1K9C+cBzpwrtvrDX1wft6cJkV8C6Kgq8+DVL9ueIH3GbThYGnR+l7O7prwjsj6dXGUizHEij9y+pDsgEOwJIjc2A9OpJChzeS6bn5eQ6n43JlhmkHgar/04Vuej+WnDg+kTu9kpbkfow67DU7nS6lGx5hyruNqZUvNBFOWhB/J2njTG1LljbwORWVlf8b4+HIFXkN7Fu9ezKEQsf7Vx7w8R31N4mgLic9PoWFNcAImGd96x6ounN4fp4xH6/YpTmxi3aCBp69+d2E7tfF3PPTeTvJ5ekhHvieynM09eVZ4J/kTOkjFzje9m8Fv3+50/RJ4nFZt4ULeIM8gw5v7lm0dbRJwN+OFeHHpZ2InSWGqtkJQK4ZtaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgKAAAAAAAAAOFC3iDPIMOb+5ZtHW0ScDfjhXhx6WdiJ0lhqrZCUCuGAGMk9YZ0UsiynQIdkEeSdNmWpuAb2n6/lfsTEzrpJDbNcpUCBQ8pJZQdEGNSKzZwIsFEHYBiXteXaZYs1wiOHgjzouqbAHCBizlbYooG2V4yUYzougkb4dQowQ/AWZJ5gYwgYWsgRTFQFA3Q93/1VDkDS65uYEqQda4/8WfcfQYH" + } + ] + }, + { + "type": "Buffer", + "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAnHLU76nTPscV7nLIDZznkMWZhN/3oQDNbYPfH6TyCpunKIoR4tv/5Russ3nrVRnqjNocw/xhW7mTNs37slv2yDNaRnb1AGJ6EOilr3AyH62zgF8vBB90l1hrnb3rcQeDCsYcyrrXiVp7MFbCDDrf3mXnbXZsZT9s7axz2r+GSokJisxeQTh0sFtLphOd6r4fkeHwU+VrJ7YilLN79GQ5NI1VN98h/wDpNa5OKwaNwSGF2dRzAJ6mbtPSJXU+e9rNgx0HwKLn07Eo9Vjafp8QzLyir4Q16pTpOZFFlDRtP0O6/jFEDAr6WYDtXbA3+UN9M4G3sh/BYXGuO9Wyc3UsC77TqaqIhRB6VY5rYie4ASdBEtD3vxZGo6U5x0hJ2JAFBgAAABETJwJZtOqGUEGQhJuYVh7x76+LGjL/Aizzvnd8bKcsjQzWLdR0I4ExgVn0lP80xarN0xGMH5uRGmTHx8UuPkUCZO5NUI95tUxlYMqcen0cDS5awmftyepDhsw+O427C7InAH7P1CShKPLxNzfKYAteRIHdppeTRdOznosTg1zCU3Gm1/NxVAB5dMwwV9/23I3XdRoLR5F1+uGxDwanN+9ulG/YmPeKuWb+S3uClnixXVpxEIlHKCTsKp2EMghG1w8+I/6RhjMCRYYoU9HH42VPdc1t0nmlrpGmhX6Pjv5aE7XM3x0jQWLv0H39SrrqiIeSBXbVs9uBhajkQGsqdJGTloBQ8DrpH+91rzXnBl+zbf0sy7wnBHYYmG3XeJY3uHItiLT3flvtvxHtQPe0As1lbY9wGlV9aY4uDGo36wSFaMVqY94ws/HhMg08/csnNw72rRGQNcYCY3XilGGXyFpZ1h8XZwDCQbrG33h4VKsiJ8gI0AKc9cyudUFrKK4dyV4OVMljHJsShxZZx3ZPHtcopBtfmiifeb0kIQCiML5gSvxCeub7bdG1kRzCicXVUEBcwFjrh66pyJlKbiXNM7ty0fJs7XxaaJXtfq3inVMl99InwbnPuPRV+WOVIkXzs3dLpArskHzk3xeARJYUPyp/AOG+jUQFzFJRvN/aGcVgRd/1+H1zpuw9JGzqY+fs1eYNe/szCqJaR0gnhwdvxJfAWtf4TTM1b2/fsxRErUeXAmNGIRu4QOgZHP15kayfEEQaABigvH/FoyNT9gxqTK9qCuvkSBmRy/u0iVaRC8UW7DfS+nZeh+15wl32fbH9PiVdB2qFO+7QEPixoXlZjPTDvxfRB2Z0SQIAAAAAAAAA1vK+VhOt92WUUwbMNxWYIxDHDOMVUoUPQbpIz/NS72gAQvd7V6UDjxoZ7pX8OkYwcvhrQ22vmeVlIVndSqdlCA==" + }, + { + "header": { + "sequence": 4, + "previousBlockHash": "AE57F177415FE0A5905777BEAFE8D75BD77654E82BB6753DE130094A0886CCB3", + "noteCommitment": { + "type": "Buffer", + "data": "base64:2BonQQ8SD71rL9CqadzUdQBrMlZxbDpDk7/mDUGdYB0=" + }, + "transactionCommitment": { + "type": "Buffer", + "data": "base64:3ygcpjAWrMycXMnvD7QjIUMtzjb/Q5fLBvbKGbsafZM=" + }, + "target": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "randomness": "0", + "timestamp": 1698950652825, + "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", + "noteSize": 8, + "work": "0" + }, + "transactions": [ + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAo/7E+TvGlX91md+geP6YxsGKfE8OV/NSfPKhLGuTZCy2G4Xk50eJZVXJn27shi/U3NgGEXIytAkETYqvrG9LkzDn5zZBaGl5IqJhKwSr8pCrz3Y7vcrJTutSZwwNY6KqeoSStd4gGA/SppYfo665cQjdg+Uf+IByysS4GZ0FGU8FMwIi1NTzE5tGCH5EQJqIuaTAb8B/KD6ABjOfGGVWXSGoihS0WwjJzKD+LTCqi86wFtyZggmADu5z8D47rp+g/UjSgxZrseC3r6yxTwlhj3b8e4T4Ctq8cB3zfMgBtG1VPAXrTa3kIlN3T+F6i2gTRYJ7OQNuQldTWb9r3dTiXtQL5f+7po0xksj0M5PucppRG8pk7bqKxh8BBZgnhi8yS5jjz8cOnQjkI0JzJ2ldRCgoHBDXYi6RYa0atmCsFQ/IHyRgsfq0MATdyPB+Ae0urgwp9jbFWOFgMcmtu8N/wHEW+Stv4hEjrOdUn6qN6iUxIeURZYtBejHeJN2CxWU8atl7mev30Qw/FYZK86GLnvzgRqb7IE5S0asn7DI0tkeZtGeJM7DNXzgcfVR9185/m9dTutKbjj7QIywLnJoCJHMu+VuAvz0N8Wi4FM+86IvLWUFo95AUi0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw7g0Smka+z7emqjpuJSU7N9KUWp05DeeLp3SiPIDv5aNaC0hgspCYwWbhh8a8FfivNV75FL4a8BvqLeOp1041Ag==" + }, + { + "type": "Buffer", + "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAnHLU76nTPscV7nLIDZznkMWZhN/3oQDNbYPfH6TyCpunKIoR4tv/5Russ3nrVRnqjNocw/xhW7mTNs37slv2yDNaRnb1AGJ6EOilr3AyH62zgF8vBB90l1hrnb3rcQeDCsYcyrrXiVp7MFbCDDrf3mXnbXZsZT9s7axz2r+GSokJisxeQTh0sFtLphOd6r4fkeHwU+VrJ7YilLN79GQ5NI1VN98h/wDpNa5OKwaNwSGF2dRzAJ6mbtPSJXU+e9rNgx0HwKLn07Eo9Vjafp8QzLyir4Q16pTpOZFFlDRtP0O6/jFEDAr6WYDtXbA3+UN9M4G3sh/BYXGuO9Wyc3UsC77TqaqIhRB6VY5rYie4ASdBEtD3vxZGo6U5x0hJ2JAFBgAAABETJwJZtOqGUEGQhJuYVh7x76+LGjL/Aizzvnd8bKcsjQzWLdR0I4ExgVn0lP80xarN0xGMH5uRGmTHx8UuPkUCZO5NUI95tUxlYMqcen0cDS5awmftyepDhsw+O427C7InAH7P1CShKPLxNzfKYAteRIHdppeTRdOznosTg1zCU3Gm1/NxVAB5dMwwV9/23I3XdRoLR5F1+uGxDwanN+9ulG/YmPeKuWb+S3uClnixXVpxEIlHKCTsKp2EMghG1w8+I/6RhjMCRYYoU9HH42VPdc1t0nmlrpGmhX6Pjv5aE7XM3x0jQWLv0H39SrrqiIeSBXbVs9uBhajkQGsqdJGTloBQ8DrpH+91rzXnBl+zbf0sy7wnBHYYmG3XeJY3uHItiLT3flvtvxHtQPe0As1lbY9wGlV9aY4uDGo36wSFaMVqY94ws/HhMg08/csnNw72rRGQNcYCY3XilGGXyFpZ1h8XZwDCQbrG33h4VKsiJ8gI0AKc9cyudUFrKK4dyV4OVMljHJsShxZZx3ZPHtcopBtfmiifeb0kIQCiML5gSvxCeub7bdG1kRzCicXVUEBcwFjrh66pyJlKbiXNM7ty0fJs7XxaaJXtfq3inVMl99InwbnPuPRV+WOVIkXzs3dLpArskHzk3xeARJYUPyp/AOG+jUQFzFJRvN/aGcVgRd/1+H1zpuw9JGzqY+fs1eYNe/szCqJaR0gnhwdvxJfAWtf4TTM1b2/fsxRErUeXAmNGIRu4QOgZHP15kayfEEQaABigvH/FoyNT9gxqTK9qCuvkSBmRy/u0iVaRC8UW7DfS+nZeh+15wl32fbH9PiVdB2qFO+7QEPixoXlZjPTDvxfRB2Z0SQIAAAAAAAAA1vK+VhOt92WUUwbMNxWYIxDHDOMVUoUPQbpIz/NS72gAQvd7V6UDjxoZ7pX8OkYwcvhrQ22vmeVlIVndSqdlCA==" } ] } diff --git a/ironfish/src/wallet/__fixtures__/wallet.test.ts.fixture b/ironfish/src/wallet/__fixtures__/wallet.test.ts.fixture index 83bd016697..d4e671eebd 100644 --- a/ironfish/src/wallet/__fixtures__/wallet.test.ts.fixture +++ b/ironfish/src/wallet/__fixtures__/wallet.test.ts.fixture @@ -1,14 +1,14 @@ { - "Accounts should handle transaction created on fork": [ + "Wallet should handle transaction created on fork": [ { "version": 2, - "id": "2c3f4aa3-34fc-40ba-a424-31a068f77386", + "id": "62918ee3-ac04-43ff-a3ea-2d9cbef82701", "name": "a", - "spendingKey": "ce524d3b38f1b470581ebf3f6915b7032bfa553289516df080b14647b480f8f8", - "viewKey": "a1fdef28fa2691a06fa0603f46c3e5e970c8c16da8724294419117ecb2325ca16cce6cdac70c5df635b205961c4a14ab57b63d5bd1dd15c5851c4b043e53be80", - "incomingViewKey": "8ac6dd035137e39728a4d4ad11318f5f7fd553e29a6631c96c6d432d683a8901", - "outgoingViewKey": "acd64c863913ed28762cac72418808532348bc3f142820f9a86414880ea5e0f4", - "publicAddress": "f3f5f2509daf9925c81be809c89d71e50edb5ebfbeeb8694c26f2dca82a3b2ca", + "spendingKey": "858991989a9cc58b1ea6d3a373109ab3635e9b0aa345f82d6d810b2164918f26", + "viewKey": "476c1be23f83dbcafca6a4e39bb3ade1f5b4a1293870d3b1c435f968eb5f631c69bd193ea83ecfcc713e95e61fa3c891ce6d993e7a628c5a676a19cebcb92a91", + "incomingViewKey": "9afd210da2215f120589be78df5f08a1da821227f296001eed15b559fefe6000", + "outgoingViewKey": "6f44c1947f41751ecc841ffb5b8c3444183d6f45a8b59ea18701d31b6d748b83", + "publicAddress": "54553084555f41c95f9c88bd26e64326bf836fb88bf296483d2e37a7c899ac06", "createdAt": { "hash": { "type": "Buffer", @@ -19,13 +19,13 @@ }, { "version": 2, - "id": "83c5ecce-0723-45da-9031-cafeaeb1bb6b", + "id": "54988294-df98-4658-aab6-8adc1a7da00d", "name": "b", - "spendingKey": "dbd5edcc9f499c3c236df6fa19394df9011145c88e5fd318d68f608cb95ec941", - "viewKey": "861b8eb9b7ed3f6e72addf2bed3a97d9bec8964d272912c2cee75ee767ca928e664a856dc28216433f8f0b031b7eb477509378ffa752686186f933bdaec82b38", - "incomingViewKey": "769b9a69f19ac442b4d37a90f14ff915ea5586ecf4df496ed8b300de3fe62506", - "outgoingViewKey": "cb9d287de7fe6bd70ebb306c5eedc4f8a766104bb9ed64ed5ea11d5e05e7e4e3", - "publicAddress": "f1fa78e5dc6546ad08f1a564fb888fc0bbb0747ccdf01bc320a8014cd8ed950a", + "spendingKey": "f4be0442bbe8a5340e432515c9ef9501b7facbc7efc3fdc912754d05f8aa09dc", + "viewKey": "dd26298898017f7f9c8b92fb99b12934a891e7e541317aa1961abda1e3f670834df2a82e0cae4f3ab4971871ce246401c73d30408ed79582061e8eb57e96075b", + "incomingViewKey": "15ce64168b4a1199a36caa64e2b3fd297d5cd441871caffd2cbabaad16e7a000", + "outgoingViewKey": "d44c21ef8c326e39117e623d7f59091c2e6300a802fc4c2fb96baf8a82540801", + "publicAddress": "ef1523d5965dca6aed10919564ef5ff854005fda39a5f09b48cabeb2a7e8e19c", "createdAt": { "hash": { "type": "Buffer", @@ -40,15 +40,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:0GADJ8vKogxWvFgXVC4B9FTRvp97eKolzdYkle2z2yU=" + "data": "base64:9nqEdfzognsKiwvhq3U+e78bRUsgRWDZd+XQrgDuVCM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:uPTljnE/pPeqel+p2zKch0I9LaCdficflSiOm+uUCjc=" + "data": "base64:7FFkRQcdS3QMaYpnz0SvkTdoRci8cNm8xYCn+Ol8BSw=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243657252, + "timestamp": 1698950252449, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -56,7 +56,7 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA5kk98WCdQ10uQS7YFJ4IB0uwjMw6EBSZ5BQD+K3MpzqMLPMEnLQdFdLgJDl+8jOwaDh+9Yu9T/E5dx/7zHR5k8eIptYg6pa8Zq/S/3cuOOeq7ykDflhB1TqMHxEtt+IN47obFaSlQsc77YgRTqtv+ztVPRj6EiDpn2CZinvMorIKdf7gHs8AUj9QA5efFk56mzpkiYDpHwGxW950ySdFpzA9wKkPcv70KZOdejQy6nuFS1a0+cpm2mpu7kOIiXpDm6H4t4CrsNJ4JTFoSbix1OAx70mCR0ZRsnbAvSrS3RkWIFXne4dGBAzABmY7j8K6lplDQ0ZWdXb2+aNthvM8RBY9FNzzi6gnx5jWzYU++c1yjKvwkHtOObuMSad811sZvysAnVRBUQzJ3wiVAQz9GWLMLTFTU/YE4kHbfx5VCHAWWGlJ9X0Gg5xKI/uLNAmc6VJsAy5Og+fJcn9yLK/4XlJUWchGcwBGpCgBnE68QPjBq38EQLyP/3m2OCS9jRgQAlxWWSaruQXHbcelDA2uLMCAQbQgdY8b2BaN0hkdfkgWMS7M3VPWXZALM5uYZCNvbNiveEuackHIYi41rhC4+6XD0SFYuzJypEFwLWUkQesZgHd30KNSdElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwuy+ToAsdm78mHeUoNX3cDIemdva+JQo84ExJP0yeMaPo+GJKJunPgHEyVLncKaG4yIQN24fKYWwQzjVHtd+UAg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAvDU0dkiRLW6jeBWEj56qoi4xkMAY2X+udfad4Gw0SZSSLPaffrHF/NdFH1474EcwnsYu0gYFbGdSaGC/KR2+TKTbAMMQti26gYS4sgDSQcG0s4jwMeGflrtlMI5xRHuNlEZbweKFQjOuIUPyXrW8ERwBn+Vml1rnjhNqt3UTHQkTtHQUDOWfHjhy+fwUgR/2nIpByKu5/1yZX/M+k6kRecs+4qGThNajSLqqjrA7sny33SUzclLvlBnYBNU2pChVpiFVrzUTeM2DVVxx565nG+AJfl9Mqff03WBUHhzxMMK6IIOcKdVUTqIPoC/xs6MQc5k+9LkEX8tH3Za1vGSCXC+2Jk8lVzF2uJ41S/has3zlvjD1k2DL39QxjQGd6A0vExMITDZbcCL9WvuYe+GC4Pwih++CKSd8n4/sttaMFq9cJgCJB68/TLqy36NFm/6wMr/R5r7ZxwdguSH+pzCoEEPSjn07WQEIngqVklII+FKi6MWZJznuinYSirDnzcT4XH9j3/fQOqwQdWunaDLaZ4j3ClKrya4cAjaBTmqSZpKMF2GtynnJG9Lv+hiSxkuQidrLlBJkuS6Gp8cnLXNbBZsvHfrAzlJD1vaCYFBPc1gpCjE9xYyh60lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw1uNxtbsZiX25XF6bSGKgGtmH6gAyFfnPB65Bj5Epw5CJHLnRO3CWEzvCrO2FLwLvogTLEoALFsh3WGy5TEvbBg==" } ] }, @@ -66,15 +66,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:IRLEwpl7v1Nj9NM2vYZDKK3xS27jYvAxcXPkUhuXQic=" + "data": "base64:G4vK+MN350+LbGK12scWCgdAaYbM6zys0sJEe9biKQU=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:0OiGZrRCkn9yzcdvDayvMr0yz7NYG0J0gv4/l2LxYR8=" + "data": "base64:bgLfBmN/UPt0E5jVYR+ldBgqaLTWOpdBH0xYkrpC+ok=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243657530, + "timestamp": 1698950252831, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -82,25 +82,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAASdtdwj7C9IMadh4FlrFR2xXwo/hZdNRM9ft5zA6ew8eMvGEgp+at42EINdDPM+M8PtS22VxuUFRAX/RqV0iqXfPGDTAbtz/3ytHTzdhbkkq0ICWB+ecvpfCvQueA0mY1HGnnIb5eTHNOtmCKGxR5ZkBUBKbqmSpOI/OkVrjwFMYM60J22AWvDXfLTvDdLibGf5oYkmJ/IxC+lP6yRjKI/Fm/j1pvFM5+dpS/r+SQUp2D+45EUSVPMkRU7u9u1KpjMJ/eHU3a2ww8i9Gfsn4ZGoUsyoVbjzViBXZ0HJDk6OsMNl7mwGlnl32qoop70MegVy+LkDJuBiM+x83bQuF6oiEmkytvGk3c+zRof3ddqQ6bDsYpjZbWlbR5WR72/4USi7ds2+AlOH4knklz2yf/uH+bKlhyy/9AImuHkdVKaAeSSlVf7xgcC6/AD0bgIC2N78gMc6zRu1DXZaJxje+zcQrTPMbiNh5opvVbfj03HxocXiLWaU1EM8AdS39i8YbO0yc7uROhPTRSbARXj4Zo6WYNRGYlTRSEO6EeZnn0kh2h72V9CNqBZ0upNQR4f3bUyDY3WRl/9XAte5HRTt/Yrm/7t5OwkIiBejdYxBqy/GuXUYgF5/gNYklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwm1KDkv4iRlda0JF7ygLVXPYetVbODCCo1tvYrOFjnZb0viK6oZgfTjat2GJ7JzI90WInM6YnKMqWeLd4wkBOCw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAn3EBg6hN+9LMWTyjMnA/AlN1EQ63EDbNblJtunxtXjWvF7R/gdsJ2GuieW2qTGAE8bArAQdBofa7mB+rwwHaV6xjLjOCPl0HtFJvMa7+E42GpLhmFmHX3Cof7dJQUpsoRElEoEcthRwLbhGr92jZv+yBUavaechMmn1Btxk3BjABltqvKg65KF/UEvp8ggX+aLYjGRnnt8CYAvCMs4if868y7cCWdnyNSnFjMWxiqBuNH/FRK9M771Op+SWKJh8l9CQi+PU7+lB1MrbtTj1WM7uBfEomms7WgGWTtSHMWXUT5V1ge4PZFspXHPxOGgluDVSXa1H+7srugyVrBo0UjsXElPz+CsbYYewsWd8Y99PKMd1HX4AoM4MrJvFw9zYyDVQ2f1xP4/xYRI5UR7ttNYu5ZDG2miISDkc9WunTYpgwrFh9D63JNAm+llHbNaQ0ogcsHXEu6mxk9U1vxO8xQ0aCFZ+i8xnYumkwYR6Bj7oxOFgz1Yazf9HtNmUOl7nSTc4PjK6LTLyQeWqGF0iGJ1koxujVWwz0Z2aqaUS2TsB9UOuxSg8Yu4+mq8+otnIlmVY0docEQEu2cy5LtFoghuFd6caIfZqt27Kgtix7Y2YOc6bQ0lno/Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwSGA4Yd0pvodro+WhrSQGnDZBvcdZ02vMBtERH57vKiEW/wlJCvNxgYAYs2wImMoAWhs7PR08Z5hHSrsF00zPAA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "87B2BF59BFB2546D6654837C47FB8215B5BF18B7117F731B2306CCE6C20FBDE0", + "previousBlockHash": "F40B419FA2EA9E970370D4C6B3A7E0171A8476EE1CDD5823395CB3B0CB4B45AD", "noteCommitment": { "type": "Buffer", - "data": "base64:YEBsqeh/z9ibSf/cixWzguSqQPBUIDtnRXHEP40J+BY=" + "data": "base64:RdHS5C+IW/ueIUhcIwa0g+CIh4d9h4yrJHcPcZJ7JU8=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:q+MQF7/dSIVknRbEFsgvjczRVZ4RNlloyPvFKinsc/A=" + "data": "base64:vvHJHicPcCpxGOV+91ujJE9UJl5DQG+SDqg/0YzYUVo=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243657798, + "timestamp": 1698950253177, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -108,25 +108,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA8YxnyM1S7sTONBCw00zxAMfxrdP5qOB7VRSBeArpf12LgymMN2ZZE2xn/903ITO62jKOHtbcaITYThHjpQCSDBYwckEd/H7nCZapVVPVkYixtFa1noJzjDW7Ht481ddsrM1VcocsHIyQTUxJ3xwWQyV8BOI0z6JAi4lfy4V2rqAV9L+jocoDqT7QwDIWrh0HpAoOqZq/JjIjA3uYU2Ie8Y2X+w5LUni3UVZ1+5cgA3evLO47jQm21/gci+qy6fgfK9LSbjNjfnMylsYpC9K4n6eEofda9kSo23X1MQN6yYqZRmEgeyOlharRPAg3lSAKDnUsbU6shnN+qgg9lkkfgj/IZJS2mCxYBCWG+WU1BoIdcnwdSLq0LDwAFrSHc29V0LSPVRbfSP+eWUHXkubJd9X//7uqxTbEN6L9Ux+etwQTlXXQFdNUQDG0cMUCHtO1Rroe7SQUqcyT9jkB2xCo/V9g/xbOFLtWGh/kdfF37MxERseQL6ESJ8XzPMFrX1ldalzqSawKZfm25emhl/ZiLIT5hUWoBg/uXe1O5seNkgRMElob3pqNEFp8EykIr7Ryo4rh7Q7gPvGXHlNUTJmyk+1hYDApnwHkNNMclEPgRrioWekdPr8p1Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwrx5e2e9FE88hQ/gpjwObtQZSQ6tLCpb/6M2t5l1EhArktsIUDajBqMiaoppSpa3xtm4GPR9PL2e96lUuxvJQBw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAzWA1NZeSsuR5BGoXbXjDBmy6yUuyek2HeygJzxmnK8uztEUM0Y46B1rFQc/Ft17kGu05z0+WSAN++CuDBOKYD93XvnfOWy1gqqCxfngo8amSpqCisDYcgmtJOXVZxhhMHEcgeE/6EYFu5evMp+pCvthS4E5wGeJTYkJ1otAFf1MZlTahfpiKZ5zGqMNk3efo/J48ckJOVplWTw5Be4PoX5QOsKW4QjPAaXTLEdwIYfeTxf1l4rn7sHStjvIkis5VngNj1G4i8NqNlHu/w8K5y24RRZKLmpiJJt2xw+D6RWCoQTsgbWmy26SolhiFkLu8J1BmSLNekvJwEuADNW5LAkg3izXS93SXAlYb6dk+CmqRdXvgCPt3vO4ll5OA9thbrEJDAKEJkHL6eJzaezHVmH7x9FRao/x8+8Dx7nPhf8utqe0MUbv4RFw+hE5+V0IAywPmDxWNzia1Ln5/SQgXcpGUuUh0lDlLonn3aHxjL45G/M+ZmAMrEkcAuAWomCM6g3/Cjh8OvMLGzc9kEPA7zJiDdWonZ2OPVrSf53G4gGspWvLCW0Z6sOhS4MGTpN1O18C9RuDPFxQp8Bw3gWdq2/7RB7+goNEKWnAaEF7bbrB0rfcfcxX7b0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwif2A9D+LSPkaR9epJrXXPdyMWIwNuZYiuqhuh4op0bcsvP2twzK/8mUz2Vn+M2qMqW4mUcohRWSFqK13UTLfCg==" } ] }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ], - "Accounts should update sequenceToNoteHash for notes created on a fork": [ + "Wallet should update sequenceToNoteHash for notes created on a fork": [ { "version": 2, - "id": "7407cb31-04dd-469a-a64c-2e3bbed91b13", + "id": "589fac34-addb-48f3-81a3-67c537bfdba6", "name": "a", - "spendingKey": "0d30ea89b1511ba7c4d1dcb4fa67158092a3344748a8bd5d46ecda29200180c6", - "viewKey": "3576081e9ad927c84ff8f5809d9a90ad4505016a81268629df9c27e1f5f0c646820bb87f8d5a0fd9fc6d9befd1b08a646013ac9cd2af9063ec9e65d5c3048729", - "incomingViewKey": "18450787c279f3f5d06ca5cadc4784a8d19d5905c600c021fd9a6ac3e09f9d05", - "outgoingViewKey": "31ba0478226342a29ac2123dd597f7466702f6572dd9ed58f37567556e6bc391", - "publicAddress": "c334a31f9c824536fe900962b5881749dd50ec511e643bb68ff3d13d48aff60d", + "spendingKey": "b60a50b91eb780d391dd981fe2c1fd6c8557d42dd4d12c7dcedec54c02fe5de4", + "viewKey": "e2c6f79efd6f528e7c18f4f1e829e0a77d6377777ac6cdd5f97adeccb80f0080ca452c2e2a457f79306ea1487fa80278fbcfe92671af50698abcce99bf113e9e", + "incomingViewKey": "6c2b39ef24d288183c6456d105b8f427591ec7f33ebfb350c60a0f36deadba03", + "outgoingViewKey": "2664c165397fb6dd29a6dc345242177d06aea6bdff1a0dbdd3af9f66fe09f97f", + "publicAddress": "635e4375e3ea80d566fdd8ca47257486ea4d0b3015c1a97b6d9bae13bbf9b4dc", "createdAt": { "hash": { "type": "Buffer", @@ -137,13 +137,13 @@ }, { "version": 2, - "id": "733d5a34-d4d3-4e57-a6eb-c0611a1247c4", + "id": "b7de68cf-a7db-4b5b-b500-c9e305ede4a8", "name": "b", - "spendingKey": "a249770d82ddc3c2a24b858119e479e0919bbd84ad4abd9758aaccbc952b392a", - "viewKey": "13ee3194fb0d948f02b7a41d5952516369e881fdce884e86c42c76bb75d93bc4a0d8921d57e8e7fd8ddbd56380a326cef6cbedf1f37c7cfbf8a4ee27c67408bc", - "incomingViewKey": "306122f9b16c4a39b2215cb055c0694be571b789e40a407950b7be5ca9e19207", - "outgoingViewKey": "034c3188b4b116960e8ebcb2d59cbaa1a3d68cb0b14339c1ed0172bea239844b", - "publicAddress": "f6257766fc68a621e1c9384241b8a2dd361e7c06e21d578dad15354c0ffde85c", + "spendingKey": "66d51ef93586c5938980677f0c673ebf776ef4ea36551bcd025d0c89cea56074", + "viewKey": "6704650ba4d825ca7b4d77a5fc6e67380308f046f552d8e8d68d7cb06ab4e9bb89e9e9e7befe159eafc737836f5e238f3809219b29217f1cac13089944ce4842", + "incomingViewKey": "dedb2afb041975e1e7e831a3dc1d8b7918bde1b80c57e18055549598ab393b05", + "outgoingViewKey": "d1f5b8347f09b97262840ac4545401596b7eb09c368f330b6ce8997148dc6389", + "publicAddress": "397db1703e0397bbb37759bda9a8e2dce00a2f674fd8aa1086755758f3bef9ab", "createdAt": { "hash": { "type": "Buffer", @@ -158,15 +158,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:c/Mz2o6iMhozlS85FQhzH+UMNrDGDZgVMOZr8hhgPww=" + "data": "base64:hozX89yTgTKwtXOZqlm9x7w2vMddaMT0GjPDPI4Ggjc=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:+Xtrqq/FtAV65UgYpunvOmNYPffFE2blPcA69GIlSZk=" + "data": "base64:pXMrUegzPNhxNV4INCREoJYmkuJdfSHR7otA+QhRr18=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243659403, + "timestamp": 1698950255195, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -174,7 +174,7 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAm/7Z5J8t3zrNPH0ZVq96U/vhsCjVXw7YIHXLfNYYsW2WPsFYKzBeACnnaxZzhMjzCtZCbIDR6mWuzbvmL6X6AaDj/mNe+yv1N7f9n86oQy6ZaiR0D27YWqbhrJPEL1TKRrY5ccPWrulk06qkcM0fVBSlU9LdHA52kmCOrNINXIcTm8EG1ErpHeeeVDlWY4YYw6dN+TyyuQJo6J62Et0HMbcAQSq8LHYgbC9g83R8IJexAS5rBHDueNNtOtW48DG+ewxRMqRpGfNf/cdv7tTkcMkvxLwzHtuspG4HfKqe2NSLLDelZa6n7cyMDlj+roXBlqyzo2k1mKVNe19PMM/7Qh/V4vTEA1/g4Snr1S7sZoFT/aKJRoYhiIWoeSr+7Ngj10+WwFYKj58jvZMs3k8lryNf/+8es4/MAn1VUKvGKJztCx9xXvCjIKHSAM8SMaxLPicAYW0IiRRS0J2obJqKGvSGEaviUaOcUpEauLlFdRyER9I9CFTP2yJ22wOabf5c9pOvXedY+X42riNNsTfdNIOZl0sGJl2NYRuKk3XBXqb1j6gj5nWard4+kHswKkjjPaJ6MfQOyRkDc4VVADC+yT1rlf+QQGNdTCYKaHQAgYDPKAlvsemrnklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwx3YrTCZhA2HO2WgCiXUpetK2KcRhmOGPL+vFDNWpiWQ09u5ci8Zp8hiv/SLF7mEn7K1wdUlxqx6UCCURTRqgAQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAS6Z1dVsKYsJb7/UzJn3seqFPYOgzW9nnkhR6kVHFzO+GyshqhnBnwdPy9tajnUZ0ea8doPGLTh/EJm7PiauT+iR3rK1a9VoJ3/s5fUwcIt2LExrEdAr3+3xF1Un7eVL4Elyw4Z0Y9CWVDRjlj+2RMgzkZhL6PAvtwd95OlUipQYQ9Mb4aCYWy33UbXDOeUUwyJr6tUZ2RSJFbY41q6rxDLoXi3sznP6YCVjSHgg2h66Sv6rR6+puBeCfukI4zHPNlcE2evXEdbhJWI+LbV/V7GDuyQm9qwn80VY+QtqhFl5qlzDsHaYo75Oc3LX68ocXecE7aV5QRiD4oH3z8dLYIwHCoP6gp6w6ABFVmnY5rQ6lpzLwcQhOqZBbM7BQKWgsyU/9MuIgrLW+cQ4nUYTR4A+/eHVr76JgTUz96IZRGDDiJibs1QmFT7/D71m/W1YsYgRGr5TPOLL80CimKnUxUADo6Bm4N6szS/puT9kZxTmjcOLS6IKbqC70XJm4VpaZdSRR/7gSZJ3UvMe3WXw4p9T5DH5csFPpu+nsWJ16R2gdXd1ljt6yUTh5uF0PMaKmqgb0Gf/6+b/GLiHvVDhx5mRs1lDwpF77xce0G7Swi7uVa8TUEJAn3Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwFL8M8xDEv0E9danmb0y5L3ToCVShhpSOSjuNWRjh0dyDYK0yPNXIPir7kCwCgAK43v6tOv6Oqu2CW87VKnPiBQ==" } ] }, @@ -184,15 +184,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:/JYNmiiFWuietgkIN88TXtK19vAlGz7Zv/z6iT3s+kU=" + "data": "base64:rxUfBIKOgT0+PxlZ3TgEQcb3lH0n1H0BeVk3wX22MWQ=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:bbayqERufu9hw1428APZpwlJpQo2UQnRRx28BVrmlkc=" + "data": "base64:Rga96qu5ILsreDyZHCuMf8D4VLx8UCbEzE+rEtBi0l0=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243659692, + "timestamp": 1698950255607, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -200,25 +200,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAANTpOp7Rf+5XhRaOEnhFKKZSzAD1c/1ky3ao928AtOdqiVT6y/0Nz+kB9iZtv2/yxO7k+vgMBih6wW8QB5ob9i8DXKQwTA/n3dwLe9NguchSI7yBsS5u04QboTe+3cyw4X7SOHGna9tGqdjkoa1qfMug7ZIRGEP7VO1c3vXk06QgB2Qzzb3HzIBlPRjMZYCjnmvI1NBN/1edN/9CHwG47F9q0eu2gwTQhI+5nggppYcaF6oFEoOkuAXf0JvHShWRX9WTpHIUGOqaDWHFzP8CK1615Ia094XH1x0IgFn39gPrB7mCn5P9BWcDezWoFsZaT2OEsi4vwkavCF9jkFTHA8qXluClNWTK3OVtuicIUsGEvFb1QQF6JB9UxuNnlizsplA2aavpVkuIK/NgmKV9ueUiszCmtETa7ZwboZnqiEId9ddJKqEEaHMJ5ZiQGy97lBMrHMvFtHcShvMgt0S5kSGODihUPF4+yk7YNXNRePiL/aL6Q+1DJ2KoOvX2ebaWAdYv/OkEfNVBLArPWzJ63+wiXyplaUanBoPYjhU4wrLjQCwkhYG/x6J4zZul3cuP2Tl3dfehNZ6wAxStBiVpiGhOwbLzBOP0v5/CuD6UZjxepyAtdue3gpElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwxQvUwpETQfvd++IGprnKqx+oUDQicykuYM8sp6U4jyeKwMssx0mrziqkzuQVaIuvQxSKv6VIXqQG7wZymfn9AA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAFqXpPvJWTVMc8DL75AplHol9lEFMVqBf5/llFTq7Vw+CiV6cvSj3EgcFhfzg7Aww54TBq4JYMR+qx0E/awxNucCLTub0jMaTMxx/hMJ6JoSZzHv4tyqpbhikl5tefhSC89a0eQ7h5RJnLbEUY7sBdJGtL5+tpUWxBJAaCkBTZusFjKFYgskN1gPDlzopSwj4/BwhufPoPxa4qcmodkdrwBmZMOnmLNLs08kG+7tQFKKL+M6+Kyl9QvsREWfj+OYwQVplbdWGHFUgeY/kVsUEjOX8UuPBk6u7XlFdJRl2RamyaSMiuArj6g1jzBkzEuZH7aL1fBFGboQFop0WS24p7BvMhXNv/L/0yjgaqvt3KcreAjY74GGlcIY0bHOia6gK0HekU3+QE5akz9zCtBsU3KVr33a2lwLw9TOmSZhUE2o5D0zFojPE7vH2aRFI+ttrg7+RMT3qpSgPk5lYnvstGIekLYf0zq4qlCnpun5IGMSnAJwzFHtpR4EUKTCv5tX/kdy+f0jBwUNau5GdKODQgzWxiOizGE6cUqKYnIGgKhvb8WjSncTGE9zT8onu21eXIN4AdFeR0wGx3x6JSU7vvde4QTeG963kUv/E4RJ+CLO9F94er+k6BElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwWKaGg3RtIMZzRqmgFym/A4hZuOpFXiBow0PZ/RrDbItxOLfccJ68feeaLaPQAx7/oxfWJRAPDpwkt5qYTcy0Cw==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "1EBA663D86FCA40FA6BAF0B89DF188E8E15D531F293892C772EEB73B351ECA7C", + "previousBlockHash": "C1D4F7C212B1E3BE4CD0499D144CE62AD7C4E58574F5CE1305D9E368A3D48A32", "noteCommitment": { "type": "Buffer", - "data": "base64:fnnwQBF9NVirFylYDzlV/122pcrSRgIfuRuv36Lt72w=" + "data": "base64:KnnFZ99sQu4oLZYFIPGpi9nJ9x0qdbAC7RP60sVMMzY=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:rRZaducxfTysyjYJ7KRXE6LkpzNsw4Qme5xpQmJmnPQ=" + "data": "base64:xp/WbLuJODMeN/uCKOi1/bZxInmu7Z/37704HPE4Gh4=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243659961, + "timestamp": 1698950256036, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -226,25 +226,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA+SmAIF2Zv3oQye9XTM+6TioBKr2KMiSN+AD67Pk/HqinkDRRBtemA9bSgP0i9UWPgMXGp7ZE7CIiU0CdeCq3nAw26znANhzFcrrAtn3bU+iTwOCPSJNfRqHLDMVFyv9nooE6IHR151+FtBqJ6AUKxPqoWqPo5juWAlzK3LgWNucA0Tozr/WAKNGF2A5tqhvVjwU8+7M+VbUY7eDn5ifBWFehjPQYKZStdbjw6g9nUMyWCOsGUUyyKIvZ2WYIz9FJaAG9E9minTT1SpRK9wfc/V5h1/GdEHqT2szQB53vWIqgLTvDTfAYnuV/hqsXtfk6OahvbQaPRc+sxDyNPzjus8Q6YwysWsTrjsi+y8YtIEVTW+pjDhnvq3MaMCOZn+1gqBekfaqS0nzX2CGuRpRrz+wMs2w8dfO8DQ/Qyp1UP9SSyrL8ABzyAGS5TtDeZBazPcxyfOGx+A92EWNlWV8zw+r2MMo2E6OJ2efXkGjr61HKBlku8QI5Bit3CKXF1KTSGQLRw7z7YTShihU2coTinjNdL7u2WpTPrgbA1bUWVbq6vhWJBkulabCfeXjQqrg61Lr7+Tvy89tPd5HicRKSop0NadohkIop9j3DjXzNR2BQboaLAEauKUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwWzEVu0CAwO3CXIsamHAJDw0IaAoDgBReZ+w20oXYdJAZraxeDRBiChf+SyZ/aMQCy+z12wb9H6J0Y1iV3ndiAA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA315DvZc943YEXxMzy2vIalCjaKh9UOWZLAiwnNzOTwq1hCU8RoIc32k9rzrd9+ZdD9bsmagO4wIUNNt6We/JgW7Zm0gELr7g7IpiVtPjr3O0AHQKkMtqqAL2ZW52CG3oW5zufM7i8LUNWRpfx8P/KoVCrsDm6lb0khIqcQ5p03AZW0XBsHXjxQ/0JB/sydjwe6cZqZhJFH0En49yW+K2Snq+XlWjyaWCwJjjs2IJn5uXSH2xNyl0qHcCofIOoFVTKuTtLgYdnzicIi6JLUL+zFEqkGDPQ7/PnFF+RuOszF8aL7V4qIS5jpiQjKQqGTLBMdDOmY8SI4t4JNdmjwKPb5VoMClwmLWLMxbNJy+PouG6rDQ8WKW7SwDp3f4HSnkHnyCzPg+FgS5Wo6mlgvpxMFa6uqcdz8o624TDUyKA4uRgTvH8Ie1VUWT8YecIx/lPikRoixeIQ5jtF15fPjhk3j+7TJlqEc1H0v0cbhNWcXhr9rFUNCbTuHnTu9p6iPFXNjB4GaQ8N/j5pUsi0haLE4kdQc1DTWpPNU3yto/0VNwS50H7HWI3ZhUT3sCMFUUUy8FNDklCKJPa1DrrgUaWlZYootCr7OaCJ6z+Dk2fGowZGPqY/tuFU0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwj9swOqhnXSw5oGnkIS+ZK8aP9it5rn1bygaXI+xemTvRUHNvrJUn+5KUK2P5c060mT42Fu+P7DSjLgM628TpAA==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "60D16EACE4C90A591DC167DEB67BCEF26642A7C6A8AFB0E0E8FEAB876A6B93DB", + "previousBlockHash": "8E985502D8D9F4BB87E7803A373ADC0FD7D9DB089FDF6E102BF281FAC849804A", "noteCommitment": { "type": "Buffer", - "data": "base64:Tf8J/RtPlZNSDnwvB/Keamnkkz20Fy9ktmTzuTZi9RM=" + "data": "base64:9c6uomf1tdc1zVN+efrdG3w382nBSjWqaTV4mzxU7wQ=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:tMwj8MihvpJcFwGE15DtBkgGW3f4N5kAjkFP/Yjfaj8=" + "data": "base64:eAZAPqJbXjQU+91tJGm2EgEQVLPi++mAwWNht5Qpm8E=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243660235, + "timestamp": 1698950256448, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -252,25 +252,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAt9y7d4iJA5ElX7sOoPkDIYIVj0ulBoCsYRyzE5lYrfOngFqjbgFYfT5+qKuMc9dnqFTMZrzZUJxzN1BEEz4Mjz9dOcbJtYK83/4QIL6CWuGlx+stDz2QlFLIYrF4zw4SH7+GXfUWGVZeuU7Zq9aCzsSSXLlJXBXOT+0xSUOvwjYZRnIwYlqg8ExyWxr0JorJ4tHGwOZ0Ruq/2ONqgt3S68tkGOr2ABRoVIiAcutBDceFVtFTa79/fcGc9grYFOoKHLzunukFrYGq2vtvGFNlA9i3rlBNb8lqwbpi/cUpmjzpQG37ki5SZMvz6Ws5q024+PNFC9c++i9fH36t5NQT4GTkpZsvgynkByksZVg3aMnqe7ynR/Vt2UfmtyIzWg0Lf1lGe1T2/DZJkvnMSukf8qH/vnBY5Kxy3j6gGCLCwhyfmHCMpduHxosP1jWWrlTIahPNwQbT8PK/m1MipZS9X5Kk4mxGc3qg1m7xe/oG51ojVO29fMQRDDIBQPGbxdhsuR/v0mCQ7/0HO96AcJiWZiZAqObt62G/lMg2EdqiBESeaxZWtVLoYgN1jZ4N8lPlyB6V70aVxAEwMjbapLg90ZRXwP2CzHE9pnmfbvys7oJfxa3c0sXJZElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwx/+Nkq/l1Fy03bztgUQ/1O/ny18sxz//VX8XOqVEu3PfE4FJqGGlBqD9X61Ll1kUOJZJBf444ja3RtiHZojRBg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAfd/cMFQi697faSNoTEusa6gsQRVirdmQ/6Ha/Apyme2LdUk6hDN21CJQoRT7HTF5YLzd0lt/ZpXQXUVsvrW1weDgs1Wb6zzb3Mk9kXzPUTGGnHU4o1VGXJwodKERNm9KhIYdSV49gHOzra3mQWu70VnaeOqqeicU2LWwJutlDPAM32JYab9xz8It+5O1D7mNW5USDs/npnVUak9EcyDt9w46rS8B6td1NXBZIVcwJDy3yO3PSPGRjL7AtRrZdLVyoxo09o8A3qAPpobMJy5HixcIXs1MKqUw+PgAJzDSakJL4cUXwEI2wo1WuGZoNWEE+caCbCrkSs08ugOf6ZycG4R9wqzGlqdOnppz2FSJEXLRqrsAdiNcIXed1frodq5OZYk5BUtBHxFmvCKwDdVqlAvYz6wiOSR9ZsRdca4nbk6ICUR2M4MdNnRDKEU+/jqfEBaSJLMPUQZNKhzkBS4cI1+MEJznvcrWajf8zZro873W85RULrcX4UBpCZ8Jb27IiytcmisArt6AVnele+a0rS4BTXT7BZi5i35x0ZDR8suy1jgo/fzsMYB9HjPJOrWLvOQbdJr6Lv6c46OxY8QG6xEtNnu66AuKq59EGdJFgvFKu0Qgup/bIElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwG7SKKxo2ZeyBFwhmWchrcW/j3J6dat0+A3td4wtE0uY02y6ADUD/7ONi9FUL50cDwe2ctx346/jpFxlvE8ltAw==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "E6FFFC630A6D38AE322F34F7996E5E8F749E050C1B1641BBA1A2AD5EF6771CCA", + "previousBlockHash": "B8A1ED1E7C7C59D61EA463C07B2F326D4EEECBC53C17EB9883F3935FD09FB291", "noteCommitment": { "type": "Buffer", - "data": "base64:xcv02VdYEiUktlgRY5Jx1kNKPg6S5w8wtuqFTxGpBGQ=" + "data": "base64:RcFCw0K87WnI/W9YbWXhYeqOLIFy5tq4l+7g0AmCkR8=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:PY0gYdHDvI9aDz6JLE6i/PIBA0bRqUlcIHdRs+OD4U8=" + "data": "base64:LNXeTyYCGy1PJ7Id8Up6mLHW11A2l9wX1P2UrIZI6Vg=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243661576, + "timestamp": 1698950258128, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -278,25 +278,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAACxJC1TbR7Dvu+K9x3QrLMiz+Am0yL098YOfY3/brthqDaMBmJIpjtSQJAUUWPD0oKmymtXy7Bsr6jFjx4jF8IfwIV3Q95mOdU0SbE1uTxRa03bH/ZmO70twipGQh4Dc47v5gltWhe6/nZZjB0iU7iXg6p0yau4dQ1MfWIQVtMpYMlM+A0yWPjICHqqdyzOqqvz03dTUXB2Ptb+Bh46tq82DPDs3IoW38UUTR1djitDWY8b/pVwqUwEu0O/oPJBlQMp5QDbiOynbyaXmFFSxHV25erSVVKx5QlW8nvuG6BKy62sAbhWd0/SRHr933iEfVQr4wTY67a389YwK4Fz64RxQe+DjsZfREOKZrhc/KBDKXQ8W1bzDaxD8IaQZ45BJft/R66ywImXYj0Z5HMg1inpWTzeujBik/po7hspPOGQpeQKarbaXool3v+/OaGOLBPh9Pa6riKjf1TNL4tIMLQaswGizaZbaNOjOBZb1SeX/vsuCeb/3tgYtd5ZCwAFbDytrMWQRc9A+Sf8PdJh894miKgST0uIE+BeM45HQF2/aiBAAhK/3Mh/vhwgRkMnmZYA6GK4TsQPZaJQ8tW1vgSMRWkcu40ly7E8UPxDdd63WjiKUMnM6H/Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKR9LLjJvWlRoFKTwPQwPRhUy76E6Ftl7W862XAEyhG3qNJW09wi4nP5ooIyNdK378Ehk8HRzajoYZx79fFNODQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAb/zhOq70v+Hrh569+4QQkNAoOZnro55vvlm8Z2TwwByZ/y+q2XjsQlKI9J+BvNfNH6cVui0E7WLjlX0WoZ5DcpCQ0yTjd/IFY0Ab/A5vzMOnvSynm+besEzkMSxMfR+7cLEC2myiJqMRgyFep7ws8SGGyz4BJKBEm16Pj+aKSlED1sXYxqEpJB3SMVgr/lNLA9Xq5XoEMSP9Ct0lSrJUKsOPyblxOgAEDn6mtjdtY+m1tgceCpEQykqCw26gejKe6hHHQZL897Fp8tosTcmAWvyxjzjAsAlNNBVdj20YaLwLxyn7rjtfzHOQ6vXBCTlQCglodl4L1OTEXvniay9L4WYUWspLy0VORNt3jpq0Yc65KxRI6JYU3r67GuLoq3BDJxVzdVhmTQdSuT5LE81XpD/PEAW8gWtP9Yt9CyfI1yLLnFFm8fCfcE+XpSADrxruLBsQePMZtgIU43JZgvf8L5ARy7+u8OSbbXY0cLpBywUrEXkYE15YJsD8mz0o4HsW28zpfsLGFrGXmlUjqNxavyk97g6UWrYKLd56LjS9aZzJaglcCV7taB2aJu8NCv2TOKIVWeKAgHAMvamQYaqxM6P9pLPoQKgGwyJ3wJ0Eazcp9/Nm9Ht2CUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMLS/3YHkgt1kNhPjzARlKhM+4ogWlf8yzNlR5g5EfIeD43sr5Y3vsDcxzcFeS8a5c9o9WcbuJaCsfArmVZcmBg==" }, { "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAsTRxICCykgBNUXyqgYe/yHI5MXf4cAY+JcXCBNnOi2qm17sA9ZOipL/9E3mTx7Ki2sS7WBpWVipJ7tiLFRv536Xf8JFxYB0ZYd4XeEOmO0+jYOS5o+cAlQ1L+ebZ73nubDdZyVtkrGykxM31N63W5U/pJrY3ptctG3uZsNv7dWAEIRdcV5Gv4PvRlRL7UNBHuUJplcc9gHEojbh6k3RoGdazgyYvZnzQqcCX/bkpRwK01m05t5tNY/qZvIRqsDlRVGN52Z6ohwUu/R80gLy/aLA1cXXBloHG7reUAAX5952IpXFH2jy4lk3VYBYhRf8dhgs5Cg2xTm8B39uokR90anPzM9qOojIaM5UvORUIcx/lDDawxg2YFTDma/IYYD8MBAAAACR6AhRtK1nCY8bdfApZTFzXdYL3TYmpeJvKcbLmyOnBmrzYrRDa4DAXr8Illctx/hkerXh+YDzJltVTKtrh1tzao+A+TJPBaMD95AL5A5zGVcR3VWNAXM5evuvr5zIzAofundj1vwqcolubEIbu33Le+DacB9ZLHQFE9P1FmEmx58tdRS6DTqGfzf9BCRPsN6GTxTY1kz3RsXxcsBvxssRli2RDH35L4sUjxOS6KKg4MQnjoukSHnfvbaHJZTGo7RiyP9MLR+g4UGLMqj28QPUsBE/+8/venxbOhcX8yseB/YhX2GiLSlKnLfZsveDx4aKobkH0p9lOVa9fZbJ1FvqqNjLDj7dhl/btN7lUtaXoHhy2yJ1xLrD6gvsIst3Qf8ZvPpb3JvkQU2kTaw7shkwn7D5w3uOyDxax3EJnrnjeyKcJfyHRf/T7wesJLoKQejJ2r1ZnmQcImt8glllqFCFZue+wFqqQq5A26A6qiwrSQdBbtkwT58N/Px4DdreSoj+PXcMnYjHFs7eK5/jYn5Au5TkRBzrZsqsUBglFejs9SlG6NBo2SH5wcPJVp73MtS2Egc1ldKU+OpvbCmhvEDH2bLCpYjs2LvuZzA9+ac6QAnf3jUDXKH5ODE7RIJqaW48y4O2dyGpC8X6xDD8IWEc9/tl9tNKjGF1McDygdZvF0We5EF6vP4n+bjm1tb/dqJcylm1SWmaT+hPZGmr9VPPlLoz+74/fH6gy0HiwvJvqs7uKYUDlFFdWZsr5EvN6Xi9h5B1If8y7US/VrM6Ruc23AtF2HfLJU2yTbfIsKHr5wUFSbCjEGM+M1+Fjqv7GpL6sw/wt+XpqUlRAIVCBJUwRelCsdoiDUZFmHgdftlndi9Dg1+7hxVGs41rQ1a/9IUmHzhebxv7BZ/7vifI8qwLGiw0tli5xrv7z+ZBrTPRwwEbWqmbgrLsWf2rGZWT6nT0cTBUvIgXQ5GMeWR4Slg8Zi4J2guH83w8lx1FZbilXfd0c2NHGn4qJF9V0q4XGpXcrNtZSPYOzXZ0qdW5tF32rXg0A2USM55PzRlQiu1KkmsS6ytgnE3BtJFXNjNhje7SbxhHk6giJ279FRK3u/gvWeCkAhDDFQ4v5l5X73Zpvm38hacQKEAWT+Yt8nzjPIXCiswIDmHgTL0w4zGiu2yxKMZRy3EJHHIhEl9F80B2URGkYepIjYaooM4CdLgS/NqJob83D+ssCaZOqWFPGpxFxurjs6GSuVmxf5JkAto7JCb+JErcJhst/pqk+DUITpSefvOY76gsUVg4qiaWMqbrrRRoy8/Z8qSME6nuepBJ9FGkOeS4lSVNvBHfpwIDFh/brk6zqxaTNSQfTyEjr5sljIO+lOxIjZBXOVxQtQ0hfUSdeMNs/3A7kQgOqJdiPZcwJ7MltjyBrA7yiBT5Tv0WaJlJOxjsGzXtcb6TzzlC4YvcREMiN2b2z01k9OxiYMFAy0wsS6TvPai1eav+0gPE2mfwUwgCkIjVppbXbT1urw87ybNTYd6ev1BZLQTBYV1r0HjvbgOnH4RO4km0noZzHE7FZsA5yRbeEd9sWURwsBaJdsYJy/qC11VbrGkH9AQ==" + "data": "base64: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" } ] } ], - "Accounts should update balances for expired transactions with spends on a fork": [ + "Wallet should update balances for expired transactions with spends on a fork": [ { "version": 2, - "id": "8383c734-4f63-42db-9aee-db963e43ca00", + "id": "7e695ab4-2538-49db-bbb3-4ca7b2ec2a17", "name": "a", - "spendingKey": "09762f73e05de97a6546c1d090ac2140bab248167babbc0a7ce41ca5786faa41", - "viewKey": "ead9e798b4e137f2941135f19474d53ec6ebd111248d2c339fb1286985d2375bac3378a075f90a77356c90ebc93ff9c83038d96aef1136aa132c065a126cf352", - "incomingViewKey": "092bda82df22c3cafdd1935c90bab036adf4634f159c4bef5d9758c94fc78702", - "outgoingViewKey": "46a81b431eb740602b11959848e1af054e7daff0f1b385da47ef316886f76f17", - "publicAddress": "0e0668d3661949aad717bb756d291638ed14d63cb61599a3ef6a0103c1607de5", + "spendingKey": "47eb9adff19de3147b31d9f55b34d80f28dcf6bea9e61a70afb60272b16af03f", + "viewKey": "91ae5dd9effe5fa3413e4dee15e3de2f69f2dbb7df0c5ccbed9cd103015a7ef33166e9068992ab06cd3745bd7bb56e335c5fa16c040718511cedfa9628177483", + "incomingViewKey": "9c377377c98adc85cc8a2a178c12d0017841978435f6f38a6a862e36f2114205", + "outgoingViewKey": "9d8f45e01d277f736ace5a6cc32d79d9d600bc5dd4a63bcefc5e2ec98f5effbf", + "publicAddress": "4374bfa1c921ac6b5653ee77b66813a7a9c8da3a65f730e3166c60bfb8ab9720", "createdAt": { "hash": { "type": "Buffer", @@ -307,13 +307,13 @@ }, { "version": 2, - "id": "1215f5d4-7ae7-474e-a000-0f3f15143b4c", + "id": "726e1f54-6585-4e60-9567-f361f58b063c", "name": "b", - "spendingKey": "7d7086d7733e22133222897b1eac110599a85d36386402cc72b6379aa9639a1a", - "viewKey": "9386d84136ead398aa7de9c4bc974677471f28d859a9b28d79b79bd127f66480323758c87e33311a26b77691f5f59aec8f815e1f1749f4b6786ad43301bc9473", - "incomingViewKey": "fb9ca034458ee0361478db9e4c12b4619e19f4303d204311c43c5d54cc84ce00", - "outgoingViewKey": "8242997c597552c6485e994bdffc200558e17147be0a76162a0131f77a40256e", - "publicAddress": "0b5f856a2d76d3110267345e89f45fbad2d4796b0328902db33f716337416599", + "spendingKey": "985992bddae118abc369ae1fa4dd3853a2ae56465ff0011d820aae3fb97ebc0e", + "viewKey": "cc84c730eb95147219aa758b0bdb5a37494b330055230d61e38a5ec1c32adfbc306623e66aac22561ce3b9e03501ad05ec664aa58d0dbd20b51f859bc4a7f210", + "incomingViewKey": "413788070cd47110bcd72469e3b64fdc36fc775e031ebb69442461551843d202", + "outgoingViewKey": "a8cc26ea28f8c465d721234ad59a42edfa9276c6e13b7f8bb1bed05be6940e82", + "publicAddress": "08f3dadaa8f679173ed552a65a67d71a69ab9335c4bfa4d61dab0e092d7a0d49", "createdAt": { "hash": { "type": "Buffer", @@ -328,15 +328,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:2U/eL9pwY+z/Uic+qSHIeIJw8LWB4vZYzexb15+mllQ=" + "data": "base64:7csz8/VhgjHneSqKhfK3MZxk+tj3dmf5cVlJxXP97mc=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:if0jcD2O2eHTlj1SHeI9qRdm1kprm4snuxxn3U9B7uQ=" + "data": "base64:w4XNBGHTMCyoY2bEmcoMf3j7J94SMteVJoSRPdfNO+U=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243662063, + "timestamp": 1698950258697, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -344,7 +344,7 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAFNOKrziwP4hajYjYVaNid4PNo/7aeBiYLmpE/dAdiDONsSifdUmojAP8BUpCaZEwsGKRiwWtH5YfOJLovibjEQSgnyWm3KVqqM+Y8SKoF1O4ndHMEpsYmkuVqh/DMmmuuVEW7ccrz1pbLsWTtsC1JluSWUptmwVpv8bXL5nBreIGtYW41lZ/HYTvEWASTrh05ALEVzbUS3AADVdFC5nlqtd/qSUIDWQ5jhwFVxuGL1GJ8K4vrN+ZQL+AqxEajaAR9DL9/QsbYu4lB6qLOYkukYKjUzSjbpc/CbZECgo73O5TvmgnrYvl7HBkR7Es5WvggYvM6b9te+DvulFy3NoPs44kBGNlVlgTYWZhl7IPx957P6IP47hT5T6jClly7Fplv+17JQqaHWb3Uhg6t0eUZUoxArJpf7QMpDUrP+SKiVrTA2bg234yknBJl96hWDU+3zDVxjXy1xD4gLg3uQ6+8yrMWKY9chOka+Tcp2YO1kUPuG6MU6zaO6VLf6cn1ysBHC3LUgRhqNeYE44aN5jVoA04U/iMx+AMLW5EunnFqVlaleuUT1zmejatp5apTllSMWi59P8rZ4+Cnr+fWO6mGwYImW3HyI9T91LnTrWCatAWa1qSKSNYhUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw2vamwxNvbWlZIKF47Fpv3ll+spxe4gid64ht9nG75BmSxz3kb3ZHGzomVsjXiGu0z9LZ3Bnlmx+0B16X0/AyDg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA6tyK6MZD9TYr2kWo2/GDX2VC0tj538WDnxJwmNMmK4msLrNITqL4eKtd/US4lbPavvrm87zy6fdcptSYzgpbBU8EwNl+m1HCYdoFbqo0qUqAOW0zd5nk7v9Kh2N3AMiPRFoI0ABlNG4jPQzRY/pCJxoYlcXohy6k3ClWZBvmPxsAaF+6Ld4H+MScwtUwjY6EVRV5AdJiu/XeY7tWl4fcuzH7wHKUvItBIVwqXcn3KL2vPUX8PYRe9vDGVD8KmFU7JMdZ4Hxw9q7/2UFJivw9+EVJLvbw+FNrpNNANJmPBdKgLMnGuSox6kIOCx0A8gpEwyrM7cLq3LYfhTKb6GLVWrqasCNhfbVln67XSjOlOSd07hW1RNiCsmgsGLmQbANEeDGpEKWsdGN9+JqrsXagCXu1+tyiEdaL+5WCm0OMo4jcpbKohY7Ydudy77tiTfwACX94+Z5HoZgKPVsBaGsSbQTHLAPe1FvE0t8DDl+mMxQPl9yZPDEaDKv4Kc8IqQIVdBi77tVtssHlzxeXGXKQWJevuet1MT9uTD3XeBiURI3AKlmXmqvghsvjiO5wEQoN4bH8hzswi6Cv9pNQpnXqbr6DTfsjdcqPNAFkt/rDfLtF8sCutmtBWklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwgLcF2luQJWbd+BPTDus9DOSVmtUZcgDvHbKmqSE9A3Ix0/GKQX2EpolvDNUks4rS292WDHYn/eE2fDFIr1uoCw==" } ] }, @@ -354,15 +354,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:2BS93WMHqnYgMMW4Z53dHMHoOusNhgmZYggXfuUas1w=" + "data": "base64:T10u5Nyfmksm7DvhJp3DNPtrCmY3Wd7B6sr0l+DhIks=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:+zJmQVOlqgp/U7IkAIKvHgZXXbVytaYUcxNN+Uc8gi0=" + "data": "base64:PjCYE8CiNUfR3xfScnKdrIRohi0YaY3fbHgh68Tdxlg=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243662345, + "timestamp": 1698950259154, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -370,25 +370,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAqEiVkP4nOLgnVNJV4PMQ0Q2eUgUPThVgMT8MROH4KiOHMg94IgHIe+uVc3+1sw6gj5ffySpad4ciRsh8s4geRARYXloiQLnjK3V8qBlHBZWCW8BJzU7X4KRuA5VPa6/WaU0vcgJywhJQA1WK20T2hdp3Xk9/ge/YQ2G1KfpREoIW87eZRuL0Gp1n0COkZcHaL2/J1p4fsC6/GnXC/dF2DIZeNZ7icj9VztgOBoHqOfqH9/tkA4QAvCDemaLUa0tBtN6fzCcvbDqkZimo6LbpQDTGX9KplQezZ9RsBLOdj9EW1H5s0oQftwiQKwjhe1IVNydrmo4BkNggK1VTSKVKzWNMgJmtU+4XosAHum3MMCD95+O2DKWjfGQtlV194cI+OW9PZaFoEVG9/HjMypFeaT55phdq3b1NSGn/fzTSZfGDoT8HfVweDe1Gxv/rqFzrtqk4+S8vQGUnu4OuxT/V+kfK716h7ArL+BfFNyH3JU8muE2g1n6TsSIJWz9jNs2TomIHu2YECzEHL8mL5Ar9VFlWyyKW3HVOeHqG+SRq/WkPZ1n7Rqbxv4bmszhLylH8zKqopOcq0DcXgqoOl6YGeemtJOHj1TrFWzGoxPAekFh9k7wBWfgcc0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwxuwOzxq6wyJRkFtiGBs5F0eMPFqLVcCcys0RVkdFcTLwF8PnpRkvqoDfWFtiGaIG29o/2WSvrHwXLC297euBBA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAANnJr1LrSHe0V4Rq0fIndgKM4ymPd8wguvI05qRn+I2y4jlFGYn+ySIsMTuMgPShvK4UghoZqe/gliRkfGZHl5HY2mtDqCifvZpMZ6Ncv3dqvfKMJFQM3kNEKsOjNwgtHNu0PUEKo4rLRunwQirr+rRoqocF0W9G2PQWe3xUyMcwOul13ADDCAxR1rDxRgTAZUgMQgNLZvswqdK3kplq35cTWbcmI3I6kKQLLk1ORISqY1YK2JY5WSj5FoOPANA1mN7Jx3yrr2fYGmHhSYGoeZhHSRX2nCzBl8XcmeQAI7AwcVnEUZQHd7WezlDrTq7BNtl6vJg8t2hYpd4FhNVC1nDvC4QP3vmjw76nqg9SlO5sNzou5q0Wk6Gu8+mfMxKYYAeiOZVJJfo8OFiH/qzGIEHFscYnttMeuZDL61ApnuKN18GmbM7JRlKQiY4NQyrboJ2JVaNGHWdksMpXsP7IjxlXPsSNmFcX8790gdexnafnYHVe2AHkM1azEOIzhftxfrGokThMLorQGAA7+GSCMTdfNg921TPCmHMoCmbCD8Wk+zI9vU1YZS21wjfl2szlvhWhw9xqrc63HodjbdL8RNClFsEgGjYW+oNKwvZ6N24Dd/OveaIQZyUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwjq8RLy0gU08xA5Z72LwfqNTEyrUZUaYgYk0wcsehoRjOX1ayG5+7t1649+JA+9OxOwnTuBlj7BFVMtDGmm8RCg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "46EF51C9EE40315FCC00ADD912429C121F6285C6242B1CB94DEB46E5F351B7C0", + "previousBlockHash": "29E87F9C4FFC244412F115BE3BDA98056881FEFB5F4CE91518D8DBEB5C5E4C72", "noteCommitment": { "type": "Buffer", - "data": "base64:us5JmDaRAVEYQLBMQ6m/AIknIgMOiWxv22acIdFRIgc=" + "data": "base64:U5JHcnrctqIBBJTunFICmCQ83DWQknmizpBEhLWclgg=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:XvNsD0SGg5jl+9ysZ2y0bh77aO+uymXko1ty9z9la1E=" + "data": "base64:WlWU6w3lmigG2C1KEVEHjWJurZ/vGfmP3Y37WE4yFVg=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243662613, + "timestamp": 1698950259528, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -396,25 +396,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA7Fs3v3/4XncytS06pjmJ5Ld2vDeHBTQOQKoZCakAMZiM19h6y+/2WcncBNRPdD57qnzqaMeJNkLaq9DSWVqLa72oIJWrHMwC+m0PcQc8swaWu3L6mW7axHPKFPxCM+MLt0PyCiSb/TrIta6IOsF/DIWrP5kJ5TaUHilFAn7iiqgOHLRfRiiLudVABzWMvl+7IC5jeZB2eTZAL+ctndchDKEHJ6gU3W3H6CJG7LRn3VKZPnhvD+MkWJd29krxRvFxFR1MDKJ8SzjJNlNiuuJhrWIeMKGEWS0OtX5zCmfup9/iRRFfXy6vR8t9nIIvhziXBzXNMxt/nV4lEBaL2/JvQQ9MCllK/387YUu1UdRW7gP1C9n4CQYJR/nnKWWT5FVkRfGSMngiEy8X3DOcTW+id1u2IH1+YbJvyz22bITnAx9IfFpu34BrM53iQmkQ5Cd6pAgoDPDSrCj9qBvXW4Aq0+Y/WDfd97oR5Y6bKLiUzFofa8RSDyePDC7Roqyb66H3+w2KJ7IXGccCDPG3Ltw/7OnBjjciYPrSSGaBzwtwzrBMt+MugZFUbZ9epPPnwjT93UINN1LumK07z9gjUsLGclzd1vwBBRO8evKTNWPnizFZivYbc7MdVklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw1RYqzgSCyGAX2LWfUEe7C9QTwadrDypU9D/KIkoe24lVsS7oR+ltFZghKQOrc1IH+7FABdmLgf1ciipanbPlAg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA+v/CxYKqK2BrNkUiGChG5NFEiEKbkxRe2efvUCwPhrSqkbAR/0R1e60GTgOqJ5B1QnSdLnnMPgz8uACLCpcGcEkbDZ1aIaPImGNjveWoI/COJjM6BHVMYUt7PnJXOyCxq+gxu94uw5/gAznHz+sFBTpieJbu+1a9XdU+HihmNKEB16wUPRRysDvO3O3JRnnqOvku9Y3dsSeOAaOBCqJ5HGy08eGXfOBevxpAIwpkvt649PFPX4nrA3M0Q2K5zJtCRIZIuCJsr9urXI8zCMRvxf0Rad3ZWdHTayQNPmw+qpJ7VDO5yD3KRPfDzCN2FUxDI0aaufLFOSG9ggb3S4y/F8o41JQ732tU6ATfw0FKmuwQwYhpn3yOrp7lxs3wBlksFKEqZnCfeslbPY04Mh8c4iLnM04NesOiMpEXJwVifGgdNZaJL6UzCYG/OQHCT1SSFWggk8I0NI9pbBARsG23n3R4V6j59s46Aq1vavwGmEUZKqXGJCMH+16NjEfVkwcoo1GNudsd4WN2vLzuYziLAKoyxXVzGQ99SdVPR+LME+npqXLAUNuhtbE/loPoDpjGuvhE3viXdDGf2KxDTn6Gyoc1LBVvQzot7ZcAH3bFqj1AK+aW4TyQT0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw1gUGwWB/rfF2Z09Fs1oIKvQyXEOwezihXBJqVyqvL7UfghZ3+wTNeMPU6HbMMOJcZUsw50+l1mReKq79TbBnAA==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "79F0D573DCEED7022BB06E67C01598C59ABE666858631612DE9775008C60A92C", + "previousBlockHash": "A111181F8EA369707748CD2D14136D210E7AF908E6018DDCC999B8D58F6283B0", "noteCommitment": { "type": "Buffer", - "data": "base64:3Y+tEXIUPpIWcn8MNa91205fY3zIqB3nR/BrlQA3j0k=" + "data": "base64:WywQQjNljxI3ltoCw3/A7YSjgiNJGLXP61sLieN+7zk=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:G3D733ydUy/FNqPtmmFF3lhvx7BP6KpxSZPqvY7pr0s=" + "data": "base64:4DUeiUB6i47OYHY+xmCh20C3nikRsn2hZgfR2ETLS5Q=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243662908, + "timestamp": 1698950260066, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -422,25 +422,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAv3Jid7ATgbyLnyQNkaQuXKg6rwTJc+v2OKd1abybVtCux3LheRv7Nn2zcnHmhKgKTmRuITsKGi94uxBqMt3euqjn/R+BQR5faourKivJzo2ZRWmA3Gbl2luZEVLRkOOwgTXDT5dKwvbSmVdkrcuVEQlyRdtjxP/AKcdJUL6+SKITMz5Fx1Tu8q5erbq6hrSEGYZbvt1Dy6PSB8RahXkpTH8gWyCp7VR38XNY2Pi1laCnDjV1Yjyec1P+EFtRE/nN/8aQFS2ZZ7T781L2oVXvR7Ou5oN1U2yKY1+mZpXMjnc2T1YodcwGdtbmNjO/xjhcuuN4JoaqpjOqcnVzGWCY2xg8k8ItDjo5E4l00uD0EMM35zwnrOufcvNeKn8sgmhfw69kOSn8+G/Lm9NpcFEqbQNOuyPWWxcCiB67av9KLmhAmKQjCo5hJrs2HWRaZA0HQ+XY2L1rfNZApABoIjep36Mg4h+uKvNvVfgSdQwrZdn2Ok6Q0dHUng1a4EoAKYXzKiSKwZD7akmf2U01tVXoee3aYusdP41gHGH7HsYqdojsgRiMkWzVrxHTAMWeqjxyhl22Pf20X/QG6Zi64ur4Bi++NIAOZ7dhf+G1SATM0M09cMPnzHBq6klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwEFgAPcfnRTQtn2EIXc20xDwMTxBcJ85pCmDkynUypnLNDBBb9sic7lqwkds/7QHsFslGj5J3FPet8MLvVzlFBA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAuOMRe8YuYp6H0pPWMiCcn4Aw/gmjsKdw2jbkwxtxijq14c1xwfDsLA/syoU2xTVusrzsTNjMIsglUSxA8eA1P7Z1bMJrOFAak4AuAg41vwCRs0YuzfkNaFThtZELFYRGO4Rt6BvR4Db5pJpMw3l4U09N/wugYcYrKmFHxEyEALsBMfvgPkhXHaZZrn86R1AOCBN4+GR/LIaUJZYEOqb1s7EGCa8zWtHkDTZ7IoRkMRCg0xCMnnDIrFO1M44r+jthNHJHwKBc69V4xrBqr5VWGQMWrHCkf73IgeALnFEBxkXJq6L2wC3CFvh9ugw9NWEh49fgsJkFGE+EChCj/9zOBkvjz/qbnxiKnn4zguUbCMSHPc7fJOxBrv4mFBF5R3Fnono9yNulsqDd+AGIMhuVh+nE6yyXE4tK45eghwGTIIVguKY7F2xKB7Vc2xcewptnOpz8BSVewWJRU6+Mt4nTS6a57G6q21qKaih/AYybQB7DZCZ7pU/8R/ZUUrXcsYlH06ZOQ6pfL8hl0OhD3WHbDukHsHxAti9gXS4+yseWDR5uuaClW6BGDGw/Y7tbfr/8apjA9leYmNpIY+TfKSOzkfVVf8CrKYhOSwzfxgSAPsjX9yANGnZI7Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwgNAbpmHjiRkTfnW/N0ENdiXjDHptGUommOmAC3/XeDuOl9Ye3kJZG+buP55mAFxpNut+0W8RIiGNS9TaNeEJDA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "1265F6F98D338AC3D290CA6BF4C45E0C97059FAC0010D94F6639FFECAC412AF4", + "previousBlockHash": "8B5FCC58E3D0B7FC7DAECC052CE39AFE4E1D6D4C078A390C13B4A5833A70FE32", "noteCommitment": { "type": "Buffer", - "data": "base64:RnRGtmVgs9pZTtO0aAgJ75u0GcuDCsMqQxOs2zcy1Cw=" + "data": "base64:5dU4V+WzrfExq/Rzp1UyVBeaV72dsL5YjUQPQoj+2xA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:lTfR8geFGpWWv1dAPW9iitGO+F9MvHtiU7doHC6EIyQ=" + "data": "base64:VDlktVhtvKHNTfAvSBS7AyyNjIPl/HjSKBbqlCkC6Yg=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243664213, + "timestamp": 1698950261514, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -448,29 +448,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAUTp1V2PfCJDXUSrJTgVM7PcK4oejg6rXiAknac1v3ZWjWCfRpTfA0y/aJGxNbGDDi3oOdDGMhqGTICFQYB/Rj+EsTSerVt2RKSISAOhON3qlLaUiLd8LDqbCmoWJS2a0qPdjjXZE1SC7kKdHdicjzoUWKrtI1T+lOX4XXGj8nosNqtolGYipcKbkHmGpkiHsE0Y53gFLVnCuys6028szWx4NtwuP7YN3NGDMZrvprASJDVKFFhg64JxsZ7fee+u+r0H6bzWVmVlWht59L6JaNqHDYiwLDBQiSmkCxtNjdraSjxh8BdH7oggrpCHCQW9a/2J8mNnfrm6HioX35ty+0BPXZExfLyDKZaiWTwcGJhka+nPSrgicjXv1piLtcgYq58vhb/0RcsBjtmL1ZJ6O89irlRKdl12kpoDkkfdqfYSC59R9tP/3tV3c0t6LOvhchG0cQtXD4dNZqoaITRyJ9UVjle3chhjijOrwF+bKy+zjjn/b5hhYjdz4fXft5zzlpSU3flZRd5LKBgnB7Y94pLliIlE7Bs/BGDIGSV9gXl8GiOeFB9Jd0EoaIJ0df7/IEna3h5uGpMKFawto+tihI3BDIo5F/jzITnw6euGupUpDFX0cn87XV0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw+anN6hwutN5pt73+S5HSaGVML67761gyNu/a98boMrjt40waGJbXmPO+uDhL64So8EfQLeLe2jxsJJjyssmPDQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAA6dXPJebyhIVWz4O0oqgvFPZIweOhTyCg187o1iPHCB+0rWm+znYy36Tm/pMeAVeU6VnS5epY6POg7pJZSuRAfRFFbInkJVzLuPCdWMW/OkanyWyWBhNPT8LPKU9asH9wC7XzuPedgSham3cUT5uwQ490JHjU4M2uYO0asJ+T0h4LP+88iYgasPFMn7EG9mH4e8UaJKcFyavLQd0fFKdDXif4anWE1v/34nvBC+yKsa64HQLj570O3AtC7kVgALMOhoZAH7fHgW0O9Ox8EG+I3o3qz58Xvipc2N9LuiGyhIkmmoPi4TmwMZwGNYRY2aEKRnBA/EyDfkAdC+FvXhJQT/NKbLydiuWgFXes7pSrH44Lf9gOP2P8IgY3OXkntmoF+bkeIXcz1LwIFKrcahQCHk68SFxd0rwUAFgbnoBtYhnbiArrWsV+KgN54BiV4UtQe66JNHyqS5OMldtLYTdUNJNYItmQ/7VFRf5mFIfRW+YmgR+x5Tj2Uvp6RldL3QMs+3W1UTWIaJyfeenbihtiVHiTWohN4BRDOIUI/ktZwL3CgNnZ9DNDwBR8ZYbuf6LwvD/V4tGkeR1/BIT5AlumCl+q2YVoWlZ1rk68xyxznhKan/oKJQ4/iElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwitJYqM6yWHutTNlIgUCoiygqL+J/OE5Lfp8apNP+xIb8agtMyE0qkXweGW1EM6D4QS3VjxdJqyHgHIBygygECw==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ] }, { "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5F1euzW4jFR0dZ+Xt18NRZNhHwRSgDSjDYTKWJgm24a4nrCAAFmT3TAnLPy0Tw58MNTXdgAI2CsG86CnM3sNDKqAci8Ggpch8/xqoedK0QWPWo+q1z+W8JqzPuoRsgIXYiITT12zJuMJygDZgHBHruMCf8kCiYWMt240HU5oYmUFT9dB983ldxcf/i33W+AsjqCY/fPm4QkZbc0z6wKexWLzknUHm3o6/3n+SU/QAVuzoRC5nIpCwohVcT0HoTdFSeFfPYF+9eYws+ogjBW4c0yfqh8ubeemAFpVF9YEYX3qJ05rB8t6OeCYz/8F+Gbr+xJ+UvudubUELzdTONAQWEZ0RrZlYLPaWU7TtGgICe+btBnLgwrDKkMTrNs3MtQsBwAAADukfmz+EI4d1FI7mKDdk5vhz7wLLBulNkUxMse3dGogSlL3TZAyHYd3nOesNAg4RHCd72UU03psiAhxRQkAXk3uJcNXnMpX/5dPkp0XuamqyMVP2aY1BvvDNf4VFJgUAKszapGfrW7loplbNSXKilRST2s9EePjJJGBtuy6e6gb0T1mPvAIV1xSY0Se0lgBHaPwaq/v5ZjGaV4+kjLRStMYVlAhR1hCdtM4VdIlEmw/0KWKHCG7W49tnp1Cd5wtNRYCSEEOklrjtPRcBMEUKJpfB/nvSW/n+f8KODcCrjMzHT0IFEYG+eeD4qjIXpBI3Zk8Dc/pIkEpfOqkKiVYMntvowPxF5PSkQDBGoviH/+JHbAJZYmPmwGZWLO50r8U1hAtNTqAzWdtWZCwZbImZCsWrsdl4GQsZcZ6hsq9tLRR2e5VwbQANbo+elLxP8TmaPtS+RnjXbeMt3y+PbXPtkSTyWhpow5S3BoMvGg2jZ1eWT1lLYt9OWqFXXWcKK593CatFSVhI0XHrwwLP4OcAzNbo14WHCLP1FfBtxPVGRqXyg2rlJPzu2sx8/jkb8/IhbWS9gnw07jLW8viamLEOcljI8rtDBmeGhWaBBrpkLY6g2lqxpxW03oOaeKoylFCwNA/q15qTj+3xtKZsxVq46+Nbu2ZkCjN8ka4kYFq89TQzePlhAuj3vWs8TQXiK3hyQVYP896g2ShYZHwUBNP9VGBpmNkdmWx1Zcx4c+/KGpgZg9X2fI7/JX5QxE/48to6sHyExpkMDwre4sPQGqww/SLYSK+M2EnvUvc3wsECHUA7FRn7IsbmyCvqUtUcR9mVuXB9ce04awk4F2YiHZlMKrSDJYYqVSP2gU8g+EV4zSVokS3OFoDlBekV3LVYw2zFiWicfn7RAsnff8zHczPWaD1OcqsBTGQOcbtdyUJJS+ZpRQOENt4eHkGLIuDyqMDxY5gLcGbvelJmBFTXcuiuOrac4exFLX7di33zprfln3zy2tDNzytSeCs6h0lgqyrCOHCpxT5mdGHjkcDZc9WFECAFaROIkip7tnDlIMl+3mXCfzGEJ/nDn2Vru4ZqoorEwx9E8le622CFnPmy9KZqbzGB6wIVFVxXg4UDIbYowlZqdIvZy0lVao2dZV1R/EmsM4zF0A2+FVNw55Bo7kcivBGdYSdVBo2JWnh6LBp21eJkAJiXkYOVyJ7v40PwZZ6xvk2Xg2vEwRsZQspLmKRRG+O7D81Sbm/AFWIXOZt8oRvnuRSwlH952X8sgyzVVCD1I/9XBPlVLCbdnQpF6xGW9RpakrEKMjmS4Jq0R6AkT2mf945EK3TXS3fzJrx450PYBAhdWwxziTNmrKREzFylS5fp7xaprc6pI5nLJOq7jldaVxguxPTKpllo5dGIEfXQEGRctHF0B4jWZoqFv8CiqjnK2F8tel6S40b8quJqpK+LHMMN8zo8ztSoepCnWmW+Z0g72E2DCWvuHdCpb3OLHgDl+vKhosedc5Ee9FX3jwPDE5AnUHaPp1cJKGlZDamIvs6PGhZJk6fjMURlbncj3A4E0smS3fCALWDMDKjEsENQiWK1d+xAgehQttLFz1iCA==" + "data": "base64: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" } ], - "Accounts should update nullifiers for notes created on a fork": [ + "Wallet should update nullifiers for notes created on a fork": [ { "version": 2, - "id": "58b5e787-12ff-4c50-9a45-09d2f7a4bc98", + "id": "8bc66b63-f171-4ab8-aa9b-20f0bf344b9c", "name": "a", - "spendingKey": "d1a59ea6b432a862b425cb3507789abe4443305ec978b244f2b0d6f8b1544180", - "viewKey": "53a86aef19d655df037ef222d29867f015e67031c2b3fe1ee9633b85c48978bb7ff0cf726309facfe918369a1136a60efffa4b9a42da6b4af0711eecaf05e35d", - "incomingViewKey": "2da28f368f653a618c13e475e7d12f030f0aa589585a758284c2d3071d11af05", - "outgoingViewKey": "935600edc5b24410e3d1c92d973f1f09fc94439852c3bc2f05577d5e78ef76b3", - "publicAddress": "8f00022cdd5550d58b061b8d3cd493802a08da9cce7f523d48333ccb492383c5", + "spendingKey": "b6af954c2aec13db0e1bcb031be1cede6811791ed1c005720aedf4ff45a3b1a2", + "viewKey": "2e0a4dcf6ff025a175da611371024766f295e97cfc5583eb1d5985ae782497b54ee6489b11160695b926a32e0ce0413988c3d7020a2e0b1cd8eb20d89a729bc5", + "incomingViewKey": "07ac0186d2af8bb9743a1ab1ed2e0257051e68bc85bf3ef77c0274dab38af103", + "outgoingViewKey": "eb0720da38e152431313f7b69feb0760d92ab96e5eecbb2a09e3cbb8da8d47ff", + "publicAddress": "3ba2bd5d8e7f0bc1e0c1eb094719450a33b33e93e347b9d81048e09e8d59d954", "createdAt": { "hash": { "type": "Buffer", @@ -481,13 +481,13 @@ }, { "version": 2, - "id": "2e58fe10-b4ba-4b0a-bc86-4696c5556e5e", + "id": "b6322e6a-6123-405c-ac12-b3e267c369af", "name": "b", - "spendingKey": "b09c11ae5ba7858aae6ef4a0354c136909caf3589b1270d78ff60b1617cdeb22", - "viewKey": "991999836958babc45209b17b9fb3c1ca969deb73b4c489d6abb354c1a44fc2a880531def92523f8615455b8907acfb0da03fe297e0fb521e456a6fb52a16d26", - "incomingViewKey": "8e63e4a7cefd40060eed64245e84c4e55d97f24da16eddc7a847fc0a7d311407", - "outgoingViewKey": "206b01c578d73204240b50b68c3e78e542ab78f7cdcf585abad4fe685926cc8b", - "publicAddress": "ca329033653ae27688b295956dabaf201cc706b263cad3a8788458f21f810133", + "spendingKey": "72cc5932dc74a45f39294f7a290076b9498977837457a81572c83a6796b21a2d", + "viewKey": "3cbdecbda6191a901392931378d9a7e158c6458a1098eb348d70ebb44d0ce6ee870df88de956d3dbc3dc98121549d40aebd5eef780696eccd432ee8d6b332bbd", + "incomingViewKey": "bfb1c7f993b16f35c1a2c3319b2c81e54b609a3a67fe1c83b7d72963d58edd04", + "outgoingViewKey": "55efed134424217daf4c4ceae1d050575368722aa7aadced2d39abf2b381f67b", + "publicAddress": "1cdabb34f8cfe2c9112293282626f81ae2a212835fa2d396fc341ed93dda2fa6", "createdAt": { "hash": { "type": "Buffer", @@ -502,15 +502,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:SEyY1/75ZAK90NndwPzoRS1wWFN0ET/FR+gABwiLbBk=" + "data": "base64:og975hw/ULiEmDZtlo8zUnUucGUdFBiOappHlKenJiU=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:VT4d3fpVC281EnQ9pRxkrMvA9hBIw99bUmFzQGzp9gQ=" + "data": "base64:a4yqCkUZkzKU0wWJkHpxEg+6ZtQZLqTOKxFqjco2d5Q=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243665780, + "timestamp": 1698950263252, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -518,7 +518,7 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA25O6Z8Hwxv9X3SMD3YrTNj2IKX8uUcRbCVwG66jr7/CKNRHqxEGMJLAhr0kwdZjohnfZZGA1Yvh/cEpA2D8NshXJ3QcuAasFzC59A4+XTk+rKKo1XUQmjSAEDk2J9/gQvw0r/ZxcBK+jhyT5Vi3VrxiJwmXiGoprTvTwlvA1+gYU0O1y3EpBLcqiGKtIfDHLo4uLunPX5FByUPR23CPnm9Op8dPWWz7OpUMfotulL2WVBLgFuWdNB/Maowu/YIkM8qrdVtWT7nzGHAzUXPI/04oVJHwMC2ahNLhHIqLVNPA4i0gvIxk3Eu3TOgT9SxHE6SAFrmcEAJFoSjlxw2pWvsSwoWtm2Ge2WsfK8w0u2SQJXwCO/XN7gXbRrQJuSNw7iQ8uR5+Q+4XJFoqaPMjPzBUFr0HDuHCmnTuRMtyQT4O9Xr4eSNrul6T2vsF1NJn1le4yK22D/zezfxM1Z2xhJB5yiaSk0O3/F/4kG/hdb22yoeEYOegC3P1ozM9v9u//6b+/udtzOf/U6YPdSLcQDemWzb3t3mD42roPOz3ioz8avmSF3m3Gh208ngbDSosEzejRKZexrPJaRE/45OrJia/5+KklEAH7vgPxZzHHnccpmmU1BR1BqElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0/ToiFJnAB+SL6waxv6eJT8QHLIpTJOCSoqCky4AbCtzvOPX4FvcxPlVRv9nKL/RX2o15Hv+jnslLUCn/1hDQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAnbD8yfS/EgEIMMneS9wWpttqyECWwLvkCdu6SlseG5Wi2OSfHft0FZexOH6/eXbOkKb+xj7P0Z2MC7EwLU5+rmXpAqLEG9aphON6Epq2lFiSDKJpkq3ShdaCAp2KkcC1jHGlLmw4FNa2ku20/+Z+iamuPGXBeoByGd2x4HvlCk0Gr3zAdXs9EJAWhgoIFpW+F2es/7rQECNY2sY3OQRA5vUve7YBnt9lIpOyMvZd6JarvQ8tqZZaZzIaC4Y63kjdsfyYBk8UUxIWp/WpE6/hmh3YgzUCv0bUAc1T3bG+qHfAqu7SNOev6499X3oKjcoTQUORxDVtrOH7TBuuc6YYafpf7Q1viHlfONpzkwNZvld2aDQEIXlpaW2vduc5+axsHFdtGx9BsmRotxpC9HEOKIyXz2lg5HfAB8/WurMQ5KyAyV5Ripd/a/cEoHaQi5EDhWxriePPzyg2bpGTTvVE5SNYwhkeKZc+IRVMvuz7q/puiP6w/P850oQUEnZtiuAseCJbIGdiNYjqZplo4LgkPekepdp8nPNH0upyjqMmxok494oImnwMa91siTII8a4xRhB7gIy+GyLHGInplnB2Wf5cmI1XMxDPy5xXccmz7449m71IOxxvi0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw+LbgVmO424d1qV7D8NFB7aXM7JyHHU2Q7eU5YlRwNBO9JCWrwY6PMF1gXKlNj+NmlMrsewNDmO8v+tc+c8wHAw==" } ] }, @@ -528,15 +528,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:M1b4spLo5YrL63QKr2YwdzNX7F2TSG6hZd2E1q6Akxw=" + "data": "base64:dlYQ0mTO/YGvg0jB5fVxwg3rlxLm5hQCuxpU4ByqtQk=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:WUS1jkF4mpRRYrlrDqOuX38a+cOhFI4gHs3XTFAYG5Y=" + "data": "base64:f+VJKNVJJWf8kVpjlZKBs2pwpylIK5cYj3qCd4TPFFc=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243666065, + "timestamp": 1698950263613, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -544,25 +544,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAKQjzGqGC5oR71fAUUUPCNq+m3ahcyrW6ouc/lNy89JmuvNgvLC5uZai2eDVzHSaNHCj2T2TqurgLZwaHF2/PJR7yenRoFqgXYxJBb/ajzfaMwbwe66yHOFsO0q6tSB3HupZVhIrV9s81F9ngczTQ7wcbr1wANr8lNr67+ACzUbMXl16t5Z7l5PppL5ddARSvT1uUCzdFru/dJnHwK9Jq2Ckn2mVjsXYtB4si9S1jSiyzYx3XezR4GPdXC5bQYUZ6YrQysperHiYvKJ842L8fO6bko7eIwZLIAZowhJfRyzGOVFapDtFjKLAUVgOJioiVfXAWqfCtCj+ss4zj3+MqnWvMI7Wmaa2T3rBSPV56M4S06Vfm8m7YcSRH2gd71ahdB5bUO6+EzEUf484ofcSpT0B3mvulYwRAuJtviHq0YfFxXv9F4YXr8ncwUfK55mBj5IfOUbIBQdtI4e5vmm5MXRqX/A4DpJ/jIg8DCOMYEiVkHg04dWyHvd7XOZ4XqFzjQ1aBhLF3jt6U1NI1hPcjgLWo/zacClk6ITuepC1KI6YN3GrzdgFSAW1cTI23BQpWUjFYRRGMSOqgWomCxo6IprlRpf+o+lEUgXtZ+wa4MRWd+dZXwp4yBElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwS4sqp46pEZHWX/8LTKYSAfmW/H2s4Q23R9MR+LQBWN098CyTxeEd4r8+QhybxWTolxBT2e7xvUK4SlUg5xtRBw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAXTUSxoK/CJq8VidiLgdnnrlWQfwLrZAT9esTW1FWIO63FBjYIsH2S+U90F6y9tVpCN+PMHHtdNAgthBDD5rZHLd70Oo6AJB6AREpLGvnTV2ICaY13GxH2VnEF8H6/FLGYgCGKnVtyVW574NcTCPzmi8Fzl7KFTlm4lON90NsvLUW92/ePbCdlo1tDAz+YxGIr0v40E0fBVk3yRjyWyFtmCPGBjgg5yesDtlU8dPQ3G2Yj1PtfUSMQoBQeYwXw0ax8QrBiyw29VNt0GOPnHKdxsGQ52v3/+0RZrN9n4z9ZXu6r0CzhvyO8b+fu9WOsrsEkqIWTcczJ64+nCmRbs2GlzHeRLed35YI0jLaLjr/yA7z0BxBd+oolyvQA0QAHgYmVm7BBMfcPhAiqlE90xanwFKdZCo8cDCAps+3msSuOPHi0MaFDHeagfUNp+sWbW2fQdZRVKNO6m4JOYnZZlGlBLbixeu1KJD92AsUDPizB1IVn/oipb7S13VeUrgR84tJxNkFwYnNurZz2gPBgmc7m268zAXPUkHuKnWamU2F1Wr7kLJ3hPu8nu7xiLDCuCFO5r2m5ZAMgNMcLIKwg51vytCJrlhR3N3R5NN8Dh4MaRoB2i0YhfKJaklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw+SqN5YAMVJzAWTBwbZHtUXIdwxYJmGdmHw3RUNhaGjojfdPufkT68QVOwobeO+rKIzNnT/oXLJd8Di6YYQa9BQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "9E6D732BDAE92E874005F4B239674ED4D7E50A2007233D0790EF7A7C881B78C7", + "previousBlockHash": "F9EF4BF0AA8F06383A3DAB14D6DEEA307EBCB9C4B9BF2AE68FB79A1059815B51", "noteCommitment": { "type": "Buffer", - "data": "base64:/9fVmcuZXD0H63P2nCGiRdpKXLJdv2NUCLNSTiUJfUA=" + "data": "base64:5Jqw77r14cpDeq5pPv+1RyQzptT0jw+bUAmYXLy3GTA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:1gBlMjH0fL2Ld9Wr33UisZfUS/mvTbjVBQk6tkZ2FmI=" + "data": "base64:W/OAxRnyjDu5dVRQxuje3pUpWPORNS/e7bgKSOjFRHk=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243666346, + "timestamp": 1698950263884, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -570,25 +570,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA++5zrY5n8RR9hIlAuX1bcXtYojwp0fLvIpXbyKJ2EfKZGbdU54Y/TTL4hWniGyaAw8spElcWv2PqueQjj3IBYhB0AGO1cseIVH5Do/n+2teFJg5bYWhc1C78kRAvH/Qy5l4nK2sw7aigADU91TENLvzDAuPg/D7ybTnUNNpg2OkL6t/F/65bZ279ztgwf6ar5Id3bDh7qzUmOL8u+hxwjFi5YsqCTnBC+k2bK7gOwkeT9t/JHVeEKdjrfEzwZJ5mJz5BS75HE7BsLWnRREnkXlJ27HSCFPLjXwLgj/2CfuWz2kvZuEDJrg5Ov6nOf4Nkgc0yqF2qkBUa9/dcQiOrLMvVYfRp+2d2L5NWOXIq+MYE0NScx6NsXNRmlMHVC/kccy2zeSsuZRUXgG8/gRRXssl6PaIMam8qsKXBo5oo+hNf1Pj3bLlgyHXTnEIfTQpgdlhr+ShujOhGo+w6NPAn1FVxoUcB0/WZ9RqnKw0/fgh8MXA33BXLCdBIZv3ZYVTuwAmkxCtuTjxRHL4j0wAaZNTNVgbi8r7FbBjwoBqI38rHnpycqArpOsQpex5nc8WMkToYGNiePNKqE/5R5890PmHa0OkXfTbIrO9+QTkFfg9pWK0l8Id8nElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw5VwyXVo4M2bXL1BN4YOGOABGDrOMKNAnvYjNhoRxSLqU4NG58Z2Z3TcKPfFA33m44DOwxSQk6HlpOQfmgnoYCw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAyBiWXgw9gBf9H6p3LBl6yx5hDIjsWLsGk+VBVvEJAnKtayqlXLDfehN9a0yXw7yl6s92b1wB7f24KPVg68FSy83bicJxPTtijJ8CStyBGPuViVpeFEbnUUowU1p82eE4Srz85l7+bug49tScVtvIdJhBy4tvzmSt7fsVrLpXvEoNAvK0uo3R61eKF340eGpuiyvvZwezbcP+/LQ+t7WlHBJ4+eDETi7iW2Wgt35kZyemf2JeiSnl2VisF0qfBAabiTXZkzRNsA5q7fjeXRKYKhbZEKxMqVPH4UUejJWiE6UuM1a2U/YNUYRBCCp2gsCe3jO3VHeZBRo7N+XdWcMZOhnojatp7MsCHMRlh3pVR0AFzaiaXfpi4bNB57NJ2GENiAQdPSaPJK1XTWCArqHk/Zm8ke1bwQGq0r5zsyqNo1pC2FasU0ypOcjEjJ03sGnco53dpqAcxbYRLdlom8GG54gPw3G1M2LiIsH3FMU184UwacwPfeNH8j1RSKA1j4bdpHURMXLusOFR4i9QgJsKhSgkiIVCf4hwZMl0nJjb3XMOhJV9uEqQvbyzgLHuPPb+TwPohA7vggPhZ8Ayw2T5Gq5wi9BQatkwjrst//IH4GDZ/8o2lVSYDUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwhfl2YF0h7qSQhNFsUdEcZrrYJhv5WskOGBfSuKqNYG9jbBcohFDNn47DJxybkS2St4HRSJ0DBbdeNO2uDjgQBA==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "877F7F647B3553CFD497F3789442EC65485EC4F246E81A5002E429EE8D10FF3A", + "previousBlockHash": "1CD3479EEEE71CC9E25181E46FDB032700FEDB77F0DD5B4CE6B5BDE71884BFE7", "noteCommitment": { "type": "Buffer", - "data": "base64:dIfubOxJSzVrpXo7dnrDMN8b5CpWvWahjbr3nfmBkxA=" + "data": "base64:45iRCJsG2FHplyuo0QWIwjx/UxG4fNXXPbxMuBU0Sjw=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:ACmeAEtV6Ve5lICV5geMclnT0iPebfq9By4xmqLOtpg=" + "data": "base64:fOPZg5s6mZETw8HhMSn9mQPnxHLvV2FyUc5ATWDlO0w=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243666639, + "timestamp": 1698950264163, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -596,25 +596,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA0fWKwP41pS6MGQwL9iq6eBhb+YKv8bUkvorvapVBQV6wzg27loVxrwKd0Ebtfey+Fsv2XOqPkkAhn9UkCRZ/N3CVf47Cz2ep40PA2Y6Adt+p6ZrHFyiDnVRElwwyXj2apfDFmwwAFTxnmiXif9ka0TZIZuG2jDRX3pAQEVNTaO4YfD62htDoEAVnviwKOAxT/Rkrn7Q20xTOTRIfCb4tZeNLQORHujysXt4ViUeVxFq5BHNZCOoWHMZD1KGVLXFEOR3P2aUgxju+V3Gy9xbj5IwaqmR+m7jxFruLexUcw1zWdeymoT5A4X2ChQPwaosd0Yh+iSfgjuaYkq5pQJSa7DQqBsTWZ/q6c9sgHOQr+JlRSRjsVMTWXURa4E7Cl5tEfAhVi6hCR1s0Q7AVqw/YMAsP2SlB+3sjzjlzhF3g0FlJ156CuIPwerKUzV4adDsIfaoBgtYHFKZ3J2I5X20HngrXK99bpO0e/PFH3Pvk1/ouiFIrBld4jKyJ0DXVCkHc+zLOQOC83yCayTZxRSgU6pmnIHKoXADe7KwWfChI7thBNZo3WaFP/xs87xoHlSArs/1tqnGjSKMPmpJgAghD7Jju85dYPH0dFpoBqdLvnkSsgvfyiv2jhElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw3Lpy1qqwRSuLIaJ9j55z0xC1vReyqz14UJ5WZ75TS0uBejzJqpo75ovm3k2Plhl975cIjPK1mG0LKrFJzhAgCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA+ZPAcNfNwj+4A+98qjhuGy4Rc0NDiOJK3J7WqWIVByaALbvdCxYPHoAvEJEpbl6W2yN7ri1z/PJtL2cUcdbn0jgRpwLvGfSDS8eaAUgmnnuwbzb3JZgZ6mdh+Le9NKgtkaAw0jThFdSM4K4ng+7pumd366JyFPSxA/8LDmRz6qYHfoCwW2Gyodvru71impkQwYsbVXQyTRMugFCdycXz7cMcqvUNhOYo/A/dy2e+Sy2y7rtCGDyQIXUIftFwI9KNCF5uBYzO/tUcSKt9PLKA3QxltN38EvyKgwZrcmqJJTu2x9WeYAAVsoGF9JmhpftebyH7jn1t3ClKbsCfFb+RyXgHtGuW+twnJZaADG8o2KJIXx2PWPHqEAZHGBCWkEsakiWVC77V70HQGmw3s3HooOdiP0oBeGxPxXsiyeK2N5/IRc/9HbhGQoPYKisnJ3mipeE72wlJKQIbndB6LjeXnKARnT+Fhd8lWZAwe9F1i6dnub3zuFthhDxgRnOTpQ3rin8h0Aa4PCgNIj7KpRLb4bEwRDk5HiG+7e2vzktJj+NZY9YWI1Sz3AmvYermYvICEKfoH2c+ZHEJSnduX8A/YxbAVnZt0/XIEC2G0TPt+lA37mo9DoDxg0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw6wrKSxKlb36VdkAqiTHXXHOBBzj5JMN5CNqA2zQWlgxUdez+U+pJ1qEYK+HqP5gNFlmSYNVW9wgwO2fBtAwtCA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "2A4A1EF919DE0D2440652B3B3CE2917C1B427E10014CF340ACEAC942540D8373", + "previousBlockHash": "7823573BA364D3305923245F99118D8BB7B75E8506FEDD405B0C74A1C4CED1DB", "noteCommitment": { "type": "Buffer", - "data": "base64:OapL140XI4qTksIEyMMwIug3Bp63PVG8+lPlE3aVTj4=" + "data": "base64:q6vi8RxhN/EAayhOPNYDaUjoP7NEWhDvETsCOjb7jj0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:iwwpL109gjy/t743yM96owHcBbXQ+U9P2E5WkHpDz4M=" + "data": "base64:zi/+2sAmKqIO7BPvVZ4Lwcudz7gs9nGCkjQM3lB+b34=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243667959, + "timestamp": 1698950265547, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -622,29 +622,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAA5J1giMRb9xMZGvh1/g5cPxMcSI3fiYXSzaCtS4hdAJaHgIVp0ilchnD1JYc8vBik7YH2wNLa83qi62XuktgLNfIUlII6syOXKil6975LgmmP2+sa3Q1+y03o2rJq5wzqIziZoWolln+W2nsaZlJmsracoV3MZZ7cixSFBRZCUS4B7/ohOplaAI0YYtgsjIVZAg4pyMHBxMxOW7wV2kjX7l0UDzH6k+E9Df6cqi0Zg/y1pnVguR7VGE9UGMsmkaQqnEPdOs7xlwRkYycAMvfK4+6/H0ejh/PtiEHf4UoBsAid6J8hcxtZtVmut5r+m0PKg5jmfHBpKHq4s8KqHX+Ej2wZOtoHYdt9UUZ8GuGqIW6VLKYfTfxY5IxKDw35O/ZM/ERgXDQWXy54Soi4mLSgWDuD8VOIa21mufSQPqDKMyc6jKTVCWNaHEOJH4dTucs+JbrkJxeSbcoYQnUNDKB3+17KQjLhJ5fIVuXb2NsrDHiHcAqPW1iOXj72MPI7yMTmtD0ODHYN32z5UN4p1H4TyijcTaZFmO4uj2Vmh/G4IopSeclgndHC0Pc8XBNdlEQx2dyWxKSI99WhnIj8s4aEa3o2+V4GNYMbfdCWJhmQLXmTr4JocuGsZUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOboizhtxfQpqIyRY4KpUvYch172jrKptjzdKoozI/sBnuDyOuLTGXgI4AQaJ2QjhjyX5+ddneB5SZOHg5g4BCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAUof+Qsib2NlHlfgzzri6dhncYoB9ZKd0LIVL/Uercrikmugivn0nSTIwPNKSSzOT0LE/rthnMOG9GdeaX6hmN/qBRXqgxoHLH98Xcf6dGWmxcHOGyfQNKZByZvXdldaADKl7mW5of0boXpLXzlVI1FWHiESscDBGwzmxKiQUBewOoneG9fgN+Cw5Ct8ZfkGdmfdO/2WSlVql3/fQRhDxnSl1Xeifwv0bRYaJQC8EaW+hzOps+sYgIT7ifNxXncErXTuue5obslNpe2I9ruFHDaN843A19HCZDAMomBwhSEXnL/JnFzod21xjfoYPILWtmIkS7O38kyHQfCCuiaq/OO0JFhQe9NR6z5z7gbpl73nQia73mYWENqJTc09Y2+4bWccu0dOlyQvE7qrOWczM+JT/u//2C+kwgeGYb2HxiRPB/CSFRt0Q+4k4nnaN6/+t0Npipe+Zn9cKXOQyLfMHM3/+6In6nJxqL5r248BGrvl9oLUp8Q9/nKgBFFaCimMC8cVFZyoo6rNaL5A626eujnBehS5x0lV45JK1SpxFGwz5b0CYppihFaHiUKxUw1WJedAL6oIfXKBB1MntWOch8CjwEIpb3+KmjSB+M/X7FBvch9Ah9Neks0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw1VFhRaZeW2S7Wwa35bkM9Cmb7+qpQt72wtNqor5b7CThnbeBTFeBLUsCjYJ3E9W/0pYIcplK/S1bWxwZII6iAA==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ] }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ], - "Accounts load should set chainProcessor hash and sequence": [ + "Wallet load should set chainProcessor hash and sequence": [ { "version": 2, - "id": "2c994500-9cbd-41ae-b8e0-02c1b0e07231", + "id": "63afcc81-0fd6-4ac3-b666-20a425170f32", "name": "a", - "spendingKey": "582437d4e210dc9516a8814a74440f6f9975d4d7afb95a208f9a475577dff62d", - "viewKey": "2c28f11f2cb6b68f7c159004002433e8b099a95683c217512b2502c6be4cee03794860adae541773505a1dd4ac7b5e76ccdc96526b0fa1a470a3b47ef501148f", - "incomingViewKey": "5a559c03936d65387c64a536336fcc8480d1aff618c1cd1b1a6f137f98dbc201", - "outgoingViewKey": "8715910165d73fa3016620d95bd5e53b18e77340092f055126229f5177a165bb", - "publicAddress": "2a1ef9c7b334b132f9472df7c78213615e2e58fce90fe4a08e3d293fa5532900", + "spendingKey": "995b5d86bcf7c53dd49770e3782a33e9d7023de1c0363c0a3a799f873ba67bb1", + "viewKey": "29e9ef452f0ae50e47a2093a16d6e42f5c6d0531681badcc2e13e4aad6b6383f1cf05bc685f842fd0f43854e80a344d2de2d3c75bd59dc33ba40bf41ca0a8b9e", + "incomingViewKey": "708cc4d100b4987fd67a9299b85ab275409d9e0e176fa4c8b77c06b2f609ef03", + "outgoingViewKey": "0722a7488758bec9411933f068b1823483cb23a4ffbcc259ee03a4bc32f12db7", + "publicAddress": "3ae6e81b8416a8611a4df5557eebc4fa83295e7eda25a7ace4afd0e19955c084", "createdAt": { "hash": { "type": "Buffer", @@ -659,15 +659,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:OA548ehPJ9vm1o2Q5GbCm6IIQCDZ6zg1KBqSWUmrBiA=" + "data": "base64:sjXJ30rOxEs7Ih6osaaKJZsRgmyQxJOuSKTsHbPjXz0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:/bJPukSLjSvTce4BFk3hyW5Oa74arIVIVw0RnXrfVP0=" + "data": "base64:GwRYYpzn/q7zzJswcEC/RaHS2XBPx4XaWnLOGGGMx6U=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243669533, + "timestamp": 1698950267201, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -675,21 +675,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAiSlAu0/HywN8Y8WnJVNBUaqk5HBDln9O524NITnmCKqKGPdayqrygvBK9Ecz9OaFHsCchyqECWeuQ9tSojKmpozT1ndIDaf6PVrOmUGhreu2+TnTPE49QXVPTy8pvFUtcKTTqNq4itAxSuEWMFefonl8jZCHft9aZFkDmCJXRZ4DMxJdzFPJR+tlIvwP/dX0zESCXzBjRLbyPTdVnrXqHa1vqt6vmYzjHCruLZFRmbyYJ+Gilrh9qzlum3wPGkYjEhZ9kWg/2Jo5K8TXG/TNbc2pzrJhy9fyrPopup/U7SpRbIW5xG5pcKgXKmAVSHWHYj62IPCLmpGX/izhR32LJMrZLsVQ1hm4jqdWRYgHX5BV1AjxKmGUK9eeBR9uEaZeppdan2dwfjPI0ct4Xrj0QJDn0bm6cDdE8V+8rjAAkNrSWo/RqAfb+ahzoMe90anWedwyZ7ZqgPjEXBp92QQe3IkgvKvREvAQVziKDKcG01x/6w3E4s7IkU8yGSmITC2CiY2vnSv7GkTHZOidi2O4333jr2XrKZO1iDDeVEIWWjN1S27T4afzhwh0I5ML5wrkio8AGhuXaHf6r2yEbceP9+YpT5wtNMpu8Hk+iX9CDThfMSlZ52WOkElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAcMGiu4TQbM0QkAKnnrubm5JN5idW2Qcrp2a971TH/BxBzZK+eM1WFHbHcAMrI0sMNux0g7EcjfFYkF08Ac4BA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAxXMdwZFVLRKdD4fxsPUP1/hMToxMRUpfXMPxbs34/eC4eiOsxyov2K/O8PU/2/FuRh60lxZPtSNOQelfQXGURUR+zduMoTs6fGNTw5c1AYGFptcFbKgs+nbWbpjwrdxK6hW06oyJw0kHWVopEChztWV9hbx1KE6EwlB3ZDx1oBQMvQA/MjkQcoj7BJzuRcIvZeZaT+aRyndcBeNw4+Tj3L7mjdgRWyxgDexItfvV7zGj+jTJY1wxZQsEwS98P/gE3iCFL4Uil142bes6DA8D+maXFvXAksqHvm0kzEjWFHk+XV2W3rac0M2Gg7TGr0bDPGDEmGk5DWvhhKb58uTutbXwCIsOEHNIdIQjNhUx8VFnKsCFgeuxtBEy17y/6oQD/oUrg79T81SE3NIFIGQL2o8Bou18f1CWAzMFxOjxt++dLZRzF0VHpCiWQdWYQNeMelKJAK7+J5q5UbE9jRxT2y4hx40uPVUViCz17zJXxpgaozzalSVQLeGLUz3o5gzgZKST2mjypnFr3OlmVEZyP8GbY9/SC7vvw6ueza2wnRAalyR6PCJopCV5w8TJ4Y/hy0ud3scnqtBShZmFBH6yXnFgWHzgt0q43ichp52TiKYblz2QTIlRIElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwg6avJx/P7JexnPxGk8TCf9F/zMRbSXtFPf8+mOuB0dFuf+3F4r7b8+wd7G4sQljraf5R2393qdLoMbJFNu2/BA==" } ] } ], - "Accounts start should reset account.createdAt if not in chain": [ + "Wallet start should reset account.createdAt if not in chain": [ { "version": 2, - "id": "a525ee5a-099a-448f-9cee-00f9474d1378", + "id": "3baca022-bae3-45f0-8d1b-69ce45a8d090", "name": "a", - "spendingKey": "6c03a4d675df21a6b6203fb18bcf8b2222425299fdf834345ae35fc83ba04353", - "viewKey": "8b759fda85d3480154e9d6964fc48c99825cd1e9c6cc19b36495e42320278e20a6d7141fd88613037f0809134355f64526724cf02574722b28f4f3c449926245", - "incomingViewKey": "a0f23d60130df3966922f514e03e863b3d0121d6f132dde4f76284fe56250000", - "outgoingViewKey": "7d15f69dcb97cabca04592143ef0a5f0d25464e40f4177382064ba09c805a94c", - "publicAddress": "d124628753fe89cb068fe35d2e7c38daacc68408eb885fb1cb0e46bf426c1151", + "spendingKey": "54a79214395e6a16e07b28b3bdc3ec799bc35be493eec209a970e9923196ecdb", + "viewKey": "8e9c14122b8e213bce9442782624e80387277a7bb53f7d028a80c1941a50e755becd12ce308fad8f128eefab2ee18d9d5898b044ae3e56f67eaafa6fd57abb04", + "incomingViewKey": "ca1c412fef72849141f84fcffce768d6b2f637eb43fbdfecdc1d06f4ba7c5206", + "outgoingViewKey": "97ae68d0cf24efb7ea7176d5e39d27cd85342e100a15d695f666712a039f02c7", + "publicAddress": "e5814dd54bcf63029ee53314f07b36a6e5234b8adcaaf35f25c34438888ec6d7", "createdAt": { "hash": { "type": "Buffer", @@ -699,16 +699,16 @@ } } ], - "Accounts start should not reset account.createdAt if its sequence is ahead of the chainProcessor": [ + "Wallet start should not reset account.createdAt if its sequence is ahead of the chainProcessor": [ { "version": 2, - "id": "f3da92bc-cf8f-4f88-9a3e-9abbaec48094", + "id": "c7a33f2c-b250-4159-bc98-257b9eabc383", "name": "a", - "spendingKey": "be02f6db4dab087b532a8539a10125713e8c1e44338232612a0b0d50677df446", - "viewKey": "1a9446bbcc8143f7fd0b6b3e151ac966937bbbb8f8daab34fca91aca268d404e75d898cc45dc6effc3c4ef74c1e17a2913f2c7843c4f51130d236ea4614c5d62", - "incomingViewKey": "5dc3b4a8f9e63bbc6b41d5e902139b5d1a0d0b0d12a17b96769100e4da6b1903", - "outgoingViewKey": "c26186b703933b55ebc3f7d190c02837d0bd7585f788c2b34074035aa845ce61", - "publicAddress": "8ccffe55ae005b288840880148b37da666d72f17ed43a5d0cdd1dcc91c0ce7e9", + "spendingKey": "a324600531e3b492d8be5eefcff47412bd35a6f6adcb259e57d2b6de68288103", + "viewKey": "676310f3ce17d5771d09621931b20e7b065034ead91eee4fdb6c6fa21386e4022a00323e8592ab276e0c03690f87492d84a436cbfad2d863942737cadf157f95", + "incomingViewKey": "b43a75f3665ec397bb0103525abf37648c03600d7873542856225890af519104", + "outgoingViewKey": "94e1ed6bc1c07f248a3a203412c6750396ee4b6a5d4106526fbc28ac857fdc38", + "publicAddress": "399125df3c357d0a318960b9458e3ddefe03c67b6653cd2afb9812ccb26ee7bc", "createdAt": { "hash": { "type": "Buffer", @@ -718,16 +718,16 @@ } } ], - "Accounts scanTransactions should update head status": [ + "Wallet scanTransactions should update head status": [ { "version": 2, - "id": "fa8de6a7-50b9-4a4c-b328-a9d65d5f06c0", + "id": "b950e7db-f71a-4b88-8821-63b7a89cade5", "name": "accountA", - "spendingKey": "29d25af8e561be15829bc84ded1929cf9defa62fe90225617cf7707445e1f0d7", - "viewKey": "b4f163655531bed04cd66c8d8117cf2a7bd6a1e788e4d89bc8edafa2b63f175dea2b12cae5f7e14729726ba095f7a3333503a1fa8fb69ec3da2d2b48ccf06c50", - "incomingViewKey": "7fea5aa720aa5bb7cdf435066baba48b508855903f6991dfdf12eca0cd8a3500", - "outgoingViewKey": "3cfe87e42e0b54aad2e755f8bac27d9c33190f4898b258bf9f7e0a48447b3f91", - "publicAddress": "4b49783e423f4ca2e21d004eb30dceb6ce258399c60aa2d0cd893a536b0ad938", + "spendingKey": "139422657d7929cf3202369fb70897a7195379770b3db183403df824bca1bf20", + "viewKey": "852567bd7acd3a5959f39d562ef21e2be94d6e6403fc4d70d9af63a1931c0858a4c368876fac4ae35931974a3a7b8975d92451facfd003729a6352ecfa72eda5", + "incomingViewKey": "cf9bd0f3275901e028e83b0d80359284dc25b9f9a9f83f22bde05c49bd41f105", + "outgoingViewKey": "10e025768d5d4e09d28dc2f025f61237176c6bad249913f5924b856e17007130", + "publicAddress": "43f373358fce77ccaf1b262ad8eb98af7e8d1bd1f7713c4b042aeed119f1d805", "createdAt": { "hash": { "type": "Buffer", @@ -742,15 +742,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:wh5W1rpFicG5j7GsyMRlMZQnB/vrce7N4irv9U4o2UE=" + "data": "base64:XxoA+uXz71RxBUvd+SaGY/8LKmm1vUp2DkwgrvLaMT4=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:GXbFQ0rXErQXG5HEVPtcEZBFPrnZvY0d6J3GPXGYS44=" + "data": "base64:39L+VDLzAyyv6uTEOPRTggEp2OATrvdLqV8aWDwXlr4=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243702047, + "timestamp": 1698950267743, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -758,19 +758,19 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAP02bPIIF8QS2WJiZJBHAAwYnWeqRbCGDawk11RVDv6a58mkuIVlZnG/sFZ22ankFse2hkGHAVG1ZNRCJsg9ZVYx/t37UF+71JDVqak+o32iRewNd4gEum86ThMqZsAdpd0VVy5gUKxHuxWFhNPnx5TiRlUbo5bl7wV4/5lnsz5cMeTL6j6Mefu+6pXcC7J8x1iLwRBnsrKMOOkZemlRQSKcXUHivkdQE6d2ybb+3yl+osfHfSlc0jZik2fDPc9eYZrQXytc2jP+AUlZEbCtN8uQurd+UkDJ4PHPmi6ycxpGeld1iLOX6LQCHlqtS2Sd4JRXH5JhiImglbjxSIWfwrdan0P87BqQI3fsXUngz/idQMlzATAnhESFERBbSf4hdnhqA1bnsmcsQEFbe0se82eeiBLZPUdZg3E4/ZSC0ea13j/eaYyFI0dqWp3qUuMyxQni38V8yZFdT07gqy6fBntpsxUeT7QvcacWTBEDI7o6Uo02MXjC95PUUkSCw/IfUcCh/0YmjFJCTOQ6Scz4Qh54q0PUm2qHaoKIzCcJO5EzNZIf+ItAVuO35t1iYPtUWxdtFD/2j5uDl8ifB4Y5+ueBqC6QxNhPFvWafCWaArFTJBxs6fdL2wElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbCNCGFEKrlVKMc1N831bgAcjhnSrzJ7aV950ocmpQiWoicZ/3ySvdn9AjR+xerOpg61FZOHs4r8xwfdXRiJYAA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAARX58n8VvXp0xNgqnuc7lN4b7lpdaimlkaeaVzMsVX1m303QSPWBe1+swQDDiMR4VqtcN9raDyfAcntKfnFTELc1PvT92EFgv2wOmzLN+uACJklVLMQ55Q6pJMg4T5GCJYMEuOcuCIF0zZtyyRpkJLcJ8xY1hXJKOSVCjAp/ZRIAFhv4YC+JT4dRV/5u0xFlm+htZsCBLx3zgzwBuQlS+CmKlhn5hZVjR5oECUMYyk0OWnC+4MruLQ+jhaI0h5rnaZhJH8P+BG65R9El8HxdIf+1JpgRER04gYQfmitOO0LEIYLZ8aYe+2vtjs8JKvIl0RUwJOu4FTm95hdwNpkgcI91ZqcO1JS/lEU88PG86zHovUlWjoa9QCfDnwwcuSLMKekPrldSOmkMXGQl0hujWnuBDLqvfKTsP51Vn9LQ2oZ+Yo8RlLt9Obwxnx9iXTeGq4HgRGI3YlIOFKjR1qM3MyXuAZfBtGpTfrC49stzkmSU5UfF6aofhlvf5r7+HC7zYAtOAXuwhGrb/tbzjW73aSqVI1y3UtfcMOSwjZHLdMH8U2987DmIK2Cos7wvEMv4KntpUd/FlDkT3oO4ANuL00VBhBDyDEGcIJPzmw+GdFFHtiwa0e4kiLklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw+EqDVVi6v1YU99906qiIdA3EKj9hsw6a6FYUBxyyzCuRlHBIbdYe59l7XPDuaf+/4je+O5peJWl3UCt65Su4CQ==" } ] }, { "version": 2, - "id": "8391d800-650e-418a-8e67-e9b5e22d5fe8", + "id": "9856c474-3bc3-41f7-ad85-884a8adacd06", "name": "accountB", - "spendingKey": "c62b1b350c9fc8d42802393a5770dc5f7b91de69194202d124650657ef28209e", - "viewKey": "3262566919096c418e5a162e4f8c814cd4971fc23b2481f7174d832e056fbf625426cdaae51db0523d480bdd75421ca9e259fba08368e4022dbe1cfa5b9b23dc", - "incomingViewKey": "f432ebbfc9a41aaa3eaaa13d1779826d76bf798d797c4c5fa6169561ca8c4d02", - "outgoingViewKey": "f1ff8e732467e9d7313550942d91c40010b391170fb06eeeb9813cef096ffb40", - "publicAddress": "355cdec71f590663fced0c8c08b84bef5f825d16118e14dde78c3db86adbc62c", + "spendingKey": "7355894d3ffdb23bf75e6392e978a3451f0e552d7e8841f27f9372d58bb23324", + "viewKey": "7626f851db35b953096ec0e7aab5315dd9a7dec9310f1eb011bc5e938f5d87cf862a409b534b51f581760d5c20d5ed922363d64588ed84ea95c4f891ebe40591", + "incomingViewKey": "2b08f1514c13d78b9d7386d393059da5f473dba9a01034bb0b2984b0d0768e01", + "outgoingViewKey": "1b46ee5a13e6f50217f7825a39fac8da9ed0f8a2d20bb838965c0d3b6a6e5589", + "publicAddress": "9130b2e392aef25afc994f8c1e1a9178f710848ad61b08c3720b153cd01ba58f", "createdAt": { "hash": { "type": "Buffer", @@ -782,18 +782,18 @@ { "header": { "sequence": 3, - "previousBlockHash": "04FADB9D63E60EBED721241D40DED87E2B9CB8D32E18E08FDAEC8BF185F6FEE7", + "previousBlockHash": "9AB6795825944B78493C9AE7407D833C72F5C736EEA2DCB64DB611409F011CDB", "noteCommitment": { "type": "Buffer", - "data": "base64:gwJ4lnw6ZkGTKrHmprKW4PbjTVe6czSVTnuslWwZkRo=" + "data": "base64:WeQEZQcJvnKFDxz60KZ3ORXZqWhyyGERxW2f78T2gFQ=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:5u9C5Nsmn1l58dWc51SfUpMVNJEmgSRgbc8wB3Rowig=" + "data": "base64:evjVXRqEQ2Lh0epBmEBVd9ZT+YYPsrXMZJQTXCaiaZI=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243702378, + "timestamp": 1698950268122, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -801,21 +801,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA8YSoMWuqjBUSqoSGms5+y/MOG0IU/J5JpW9vWW0u9JahhURDWz7gG1MUDpe+vQaxVXdJthu4ekL45QrxEI+ZHirRnAT2QP1O0vfDmuZ6Z+O167veam3oTGRlgXPNKUsl30cFjCh543Snb5QPSDuvhHMbPCgDER8f0Xz700ln5aERZWHtzNrSHbWZPGPLa5eUAf49FHtAbnrsploV2KYtoFScupV+Kt9NdvJPZuHVj+6gfbiNduQ9K649Y3aDneouOx3v3ueb26ZU/YJpMWyVbKa/mpJuoTD0L4dXRuEtNNKQHHJGO2Y/V8gT7k1cYi67D4OKWPHv4Hvq0haify2ombLeSSNjl+Dbv1/CxfuLWCJwfm8TKJzt8cn4qd182jFmKpsI5jPd4xRjLtHYUv/u8/eKkQcDEG70ltONeskv0bFjmtUc8E3iFiucB5wESOHOtC2V+RtfEVu615kV4iw8u8u/knd226+Oqr/MPg/OGhS5pPFe1rU5Upa4e5MnZTJ37sJjJItYyOWR+P2QT/lIhcibaGcsctUYDD1opjFVt9vBHGmt2cS1FKYXOw+31573qW0/B1ogBQqRL6w91448F0IiRgc/ks2MFeuObEz/0VdAnBJk86pbqklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwW78Bg4aCGqBBN/aQPUIaZhFUL+9Ruuqg7DsC8dPftmPe5IRfDODNF0uV5QlKAIrPVBKzb6VGJlg8IP4mTI7uAA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAnNHrRhYu0YJNbMNC7mTOedatAL4D2PmvbHOBeMXuIVmhvh4K2N5KgB04/3qmpSV9Cy4OAZYI9rlL4LEkjHfRRcMy3hIsnFzmN6T74sGKJ6ysZjl1cElO1LYgdT72DdlXZvouxaUCUPRO+fog0ik9Xl8m4eM1pxV34KxJet0KxTcZaOSLxL4l1enduCHafO3RBonForjud+13KneG967/webGgV7IdSVGLAlITRFkck2qT2EmwAZlD4/WVsAaO7B3ttomvZrAjM6idenaDZ9FS3KhFQQywwxeG13SpFpdB5M2/eiyuLIqrFyoW1lbuBhi775KXhicbHaXo4k89eOuNaX65T820sqyN+FIJhMyLpsZoLSGRbmwGx8N6ObDe1QaTeCbZ20XiWvHdjyegANkUbH8ygP0z3VKOSdQdG2ubbx9WkLVWJ1SPm7OXFWgbeNj+9DCKC4yfkJz4jxypvui5VFV5jKjfywRzaGtmF/dfzaxTFLlVJ9nAd0w41PImx4f5r/YyWOHuXmp6QF9a/ItiOuGIUhZC6rrh8x64/AQHaxKWQDPECFpByytMTLOXD4qlojWVgLXJxaCeXdG6H6sO849dqtFon79mkZeQ9hUtE5YuwCNVskARElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw8BchHj3Y6wqM7FOoaEPVpybGUbIekXmWUsgVYnLkRyDp+0U4K5z4TCTsC3BzZ3mbyCtgmdu/Gg8hRKNCjhwfCw==" } ] } ], - "Accounts scanTransactions should rescan and update chain processor": [ + "Wallet scanTransactions should rescan and update chain processor": [ { "version": 2, - "id": "e180bad5-aa0b-4e99-8838-2b4c89b3351b", + "id": "ff746ea7-b9fe-4c3e-985c-4cdce700b9c6", "name": "accountA", - "spendingKey": "2ba4494db40f0803a9881c9544ba5c5262e3ac8bd86ce8015e18e870c455ce3d", - "viewKey": "d2d02c419a714704112c108fe4403a5202038b63d6b540e8481d8dde291b38b624c0339e00c7870c9f06b4b3090d2882d6e7db529bcc07b8fa9383f64881d0a2", - "incomingViewKey": "6af79210b93b20fe9687130bf514da2d77cdb10a1079e83c8e377a946bbbd003", - "outgoingViewKey": "744fe98d72b405fc9cf13780a6671c35bbc1bba9db5790641469d1c115ada026", - "publicAddress": "11ce69f942f95613262f074a31571e146b35d18911d261ed873f748467e84238", + "spendingKey": "e071b81096c7f9c277282eafdf0ecd76365bcc4674f4831f3e88bc1d0c8f1941", + "viewKey": "b4c5d5393bc3a7d79e50a3ea5eb0b2c617b4d06b05964d1d051b9ace72021c52a321c6564078429c93c1ba623cd70e09d28c5ea0263f91cc5feaca0f728b52cf", + "incomingViewKey": "4d79abc3af1b9bf8641a750e440e56eb96945fde7610d04f1ba47dc08044a606", + "outgoingViewKey": "c5ed0e5fda3505d9a577ed024f282e6d27e4bb48916f7eabd23ea0518d33e1f2", + "publicAddress": "035bb321c10892829b206fe645b502fa84a747c9f030d40800fe262503a14e70", "createdAt": { "hash": { "type": "Buffer", @@ -830,15 +830,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:kuiNUggCpzzsviy7AMV0sxH3tXKIZ3PepfPv1c3YzjM=" + "data": "base64:cCMzAk/vLycc01G6Mvp6ByFZU4puxpeO6XdNVAYrTRs=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Enhf5pAx85s+AFg0SPv2jHlmkrf6e5Jj4g298PdVDWM=" + "data": "base64:m1wiiKEcB4soZkH3bgXvk4QQ0LNcfBowdxtye6AWqzM=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243702737, + "timestamp": 1698950268598, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -846,25 +846,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAALQTA3NbrX8mbq8kg/loRv25aL0yaVVl2OP8qBs1bwTWCDBhuoVPvVyAq9vyTBfL5HddITVRqj/2vCaGCsruENdg0WSTIUfIsV1R2kP3Lnc20HeHHiOtUJwm+T0mJDtHV4BYSqwC0wJgUi1sWCSYRdo8M8k4k5Y38vDnvkZWYTqQJOFqE0W3SG5SE2icgEuzdHQRslCfthQsZlQaj0QJgH51jaa9p5mAETFyPWRPSUJyJy+yeAQmKpFmOV1Rtc+dyprKhptOtIRBGmSbtOGlScB+E8Xgr8uv9CdaU3n9cHD4+677dL6SoGTdYyQMcUhOzP4qiQ8l3BeysujTwqVKBLEfnQEHnBOBws/3YfWEE/spnucxhLNcXkhrfuUVLf/0IRxjwcIELV5fCSvWBtcGmqF+sqO+lD+/23nX3o4/v7Es7W3JWV7ANWj+BF51qvqMSEcqea/HUl3RGPl/+VcA/spEQkqm/ZbnslwA6UtkMKH6J/rzsWQ1ggUvP8yTAPcEYgzNW4Np5cgQ3qzgD1Bq4/k5Cu05RnHdTRygI0AYtbcDa8fCr7CuHjME+OEDD/AfXLTcLoaD73GrKDa6pwUEG633ZKfdEunIuH8V24RTypiEYBUnVK823u0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwTnqLPl9gb/ZA5IEDUUxE9KZtdcPfwODbGi9Aa85x1+FMgJNiqNtpU1z/M1bAtFpnFFrIak99NYHIiLViFq59DA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAE26Sq2jnvopWLXzj2C24I6mlRfDSMmGhJ+DEa/lYllePmZeXhoF2Lj3aJCUuWOkxpNQyJy/xvl9lU6/tOacIhc75ETubQlXuslXm7M13dHKvfYEBBS/8eFd4vWHw4vvk3rE4kT9XhiS4BLwUAqTxsyvMDYhkW//J8ey1+BoTp/UWb4D5jKmJFFLN6htrjFsu+nQYCCVjA5kSvyfGEXLNNItKaHNFdVyxka1peGWFCpys/z3TEsJ6CFr7ODOylXllrLUk+DjOlHnxrPPK7z3JCZxIYAk6uZW3zBu3u91rjtlcTyo0CkzYI9HMj9XT6HYm29VWhf14SBH8zSvyi1OJYWd+RbtVvtvseHf42dmljEMKigjYOOmjzse4OniCn8oe0y/1zT2NyX4g/5u2CcTKNsOa8l5p4HyUB2pF7t7EGVC6Nxfhq0S/Np7qQdMJxhOT6AAZOzk/7b7/MbH/wfnDbIJNhrXfF/S7RMLtGU8s7JAKYvtN0xLnbi8R/6YaOIrCtPm6TDaVXKUdvuJAzKDvuYQ4a9J1FQe9/jPBgAkHDyJc09jfMKYln/kdhwJGx/co15RUoGpLv9Y6Qv92JHOPAbt90zh2oj0VcfHA8OLOzEBt+/RzAYQyyUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwENVFo3y3pw04OounvB89mIJviMth5N9UXjRjMrlzXjK6v81zz/XWVj8RyNMTARwM9ntSpdwqlQOvFaHtt/EsBw==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "0FE37A8928CE300DFEFAD3934E11080C08197F67FCC1892835871BE9C4ECF020", + "previousBlockHash": "8323C179D747FFA965E64D9535637E69805CB87FB638598BB0A79320CFF44926", "noteCommitment": { "type": "Buffer", - "data": "base64:w3aRX5WjD4zReB7YdAlNtS7K9J63psOv2teRF1zcHy4=" + "data": "base64:J7y/BxqSRiXrHfrcNRe+xgNYHsemJRXcLmXpprV/FTk=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:8izDuz/QepjXPNVSAM6J45yMOYSas+TQjBjBTEGIzjY=" + "data": "base64:fYJqurugudPEyJ0vxPB9UeyE0YxDH3nyOBkHaR3Gy00=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243703022, + "timestamp": 1698950268943, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -872,21 +872,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAJ7t56/vzesD5pzSdLkUZLJ0/rZW99LlV7So6OZFRYxeNmDIBG0GFWSuzDwDvcR/Y6xgCDMz+g4Lvwx+vDt0O0QsEG0d2Mu5SQkm3nQT3AiKz6VEbLvxvm14YVQrMd75gloZEgGD4aS2Fqmgf0NTuksLW2VgAWEEx0NX8cr7IIyQFY5tO9NM5jyRg08xmiRY2hfL5eID0w/5YhTDv3MhAJri6yh3rIK7Wifr2Z5EFTraMTxGVfGifWzNZhmIkKswXUD4yV7fMhMDbbhnkfLUwc/kt6RO7iBZAzWWfoFb1IY2J5vqdjjxM+JxvQRvRyJIUR2v7bvTD2VHlwS+sQWG+1QPHh6lMy0TLkyXEfyN2Q9htjSAXHidowjArpJYDvWATZ0umZ2FQ+KjaWNSUP5T+xp3p2nhhDQ5oYkqrq+3JObzR5NgGz3lWpcuyl2oMLfpJ9gX2gjTraRFd7vYaCBYyWafiZp6f9nYkFIeFSW9mH6rCwRkJDBW2zKZ5nwWX0MLcQRJeCZpRUrMOPxHOKaYc8KYpHWihpoADJMvHDay4nB5enNfLcM2RTcT49kWg88JfNPBfLXd2o5E5nFYsYMPAr0G1RB10t9+1laL+d0U3WJfb1hNWS5nCiklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwmz9qR7i1UqGItLfyl5CGQZOXb1LCmMQsmDVrPFjXxvDpuwLP0W339H0VrJvmuZVSpAB0Uk2I/mWxWGWneUxZCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAMiX+o+k73soVu8rR5C3QIz7MyWLGDkr4sL4ehxvRcV+RueTZvviFrjv11GUlxH2EIA/2SA3AtpbVDNVkuEr/eKXvKBFuo7GngKlIG7/vtvewD9b1LGsCSMGvX5n5AfyDXhgDiBqV3EyLwUM2zKJlvPCW84mHJDvNk+tXLIfuNNENDctkT02o3+NWa0EEy9RnwYi/PGvbcu/zKfILDIrX2IBHoo7+mR1KcKxoxY4ij1Ok2K9d6msXl3OJlMxSPSY9KxTmOPnZ5uwzO3VXjx6Bnc+2BatcM2TJxgJdEctKTQ7DpOzHBDwaLWrju60ZXfZbsmL25IEohVfLttfIYhVIG09Ttg1t6DXX5qyeiQh5Jc6iLXB6RYrAXSaHCRA4dhdpqdCMvpSgamSxUC20SsNnL3So37eOd9lUuYwp2xxUbjCZks+pNfgrovYDoQatgCLJcw27KLxvvsGzCS/JFgGpuseV1Z8PbRhsuTFTOUA3t9gjULJxtU6ew0rwfKD1eZuFp3Jiq7NBrnzexLz0gStxcajHC8c3CLLRJ+I5/3ZMbyAJ8QU3FqTgk818ovx3gH7NWWuozjuUeSQ0CI/vtRgJCTLvgccEk+TcY6vhzm5OAIglEYsFm4XMU0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwwyqWexgPCqAV/dy3daUC8lQuewtG55j9kEYd5/f4VyBqPOc/RFOwygT9mMb/vv5zc4/JjliHy8CwBZjxP/PqDA==" } ] } ], - "Accounts scanTransactions should not scan if wallet is disabled": [ + "Wallet scanTransactions should not scan if wallet is disabled": [ { "version": 2, - "id": "ae6d4d37-0618-45bc-88b6-5e6f21f304f5", + "id": "55661975-7a6d-4bf7-b747-82d6e62ecf37", "name": "test", - "spendingKey": "edc36fd495c81b5c60a87a5176a8b2e63065b63d157cff4f1cda37f53bb12f97", - "viewKey": "b616aaead7bc4adfdd193b750c317f1512fee2d5cf24290178f649333eaa7dea127ab45b640d52742f2941cb81f7ccf8bada6ab7d41a4f504633c065493a7870", - "incomingViewKey": "a54e759cb74d9fdb6cee66f4183c7ade38de1467a4d10af2f272f17ce5b88605", - "outgoingViewKey": "8baddb551ba2f62a4542a32829ffb875b0e9a25985a976fb67097efb5b96ac11", - "publicAddress": "9cf25348ca91edeeb3b0a0cc36fde12a884551885f40b613cd98704ed23485a2", + "spendingKey": "1ba286c3b2ec487e7530200272a33598693c488a4e76dabfd306e27696233a8c", + "viewKey": "92a16ca1bf3331885d89c98dbdd1fcca8082188196e0c90f5cda8c4c2aaf6936075df62eb121e3e4aa1a9e15e371cf6fa54b57e44b07d208aec6d5830e994953", + "incomingViewKey": "1dfd21a37902d08c64bba16b220589167b6688e999d69f44986d526f901ee007", + "outgoingViewKey": "8bf15b371e06d7581b1680e0336b5899f925e67b469f78a5221237fa2cc47f9c", + "publicAddress": "6fd40fbc2e17a19e8279febc06c58aa97f7e5d9da1bfd93977ee28f5f6a2cadb", "createdAt": null }, { @@ -895,15 +895,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:9qduJ+P6ov3pkGyCVzLTYsEct5VTyvKA4K9w3CGjIgM=" + "data": "base64:jbGqGuiOjrlr8jWJWUxeH0qWZYqjYOly1dj2/kJVLTo=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:kPGQEFBjUPkcYWctdqZcN6sR1NNpN/8ud76U0578ql4=" + "data": "base64:VOtiyUIxSfgMTqtzwby2GKJBtT2HWjNwFcEDVApL4EU=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243703472, + "timestamp": 1698950269424, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -911,21 +911,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAv1YOkIZqUH+odG4HsqF3nOtde7NOO5ESGh0iPuSyWFuCPlBSAqFnQRaOPPKAlRS8aglC3wI/A+DIuD+FVlukGRAIeCznc2QkSw9GU4DgsfaxRZGAjeSNgADQhtFq3W9EXUzNOfRBjxmpip6zHpjSl9axnF/IbagxKoepiqcNnzwC2OxLbkJWqoBmz9bGgUABUrOx7wt6oivZYe8mXudkvIkCOqdKpjxAKny2kBPbU0mB/6M6N9AuqRqe29qTsdMGre4EzVgOh8bRYu7XmQd3FW2GSVe+oZj8NFDT0HrxKd/mDseRtWr1r7SfSM5BFzEfkZIQVa5zzmgup83XlqF3Qn51sNT3nlD35dTqhDPmf+OydbwE7DU8t3gkGIIwTi4bpN2dEpKv+TfJbSHpcvePkmV6tDKDwLs6iD2hoIrPRQiHz0VgjFL1r2v0Q8S/M5wGOzyViHcNz1XBKkzAXIZ8LIMRQqVh7Ja8OtTyAXx5iRg38OenyHb91jqy1P2/DSbmqxKrLBF71qK/yVr12nN9Jg/zjdGE7Sl94DzCA85UUt6KsQX20eVZa0dWAU+EfLgU6AvS/pvDUo9byoGf4Q532dgZxxNfGMcIpc7j+DXCBbu24YYrXav2eElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwouMsOR6PkI03MwJVLNuJDOonglaDwoKJy7u0Btu4EjZh2PeKAKU8fQfhMf0xDORECL+smUXPzcpc6WiTMr8cCw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAZJ9AN+ZvDr8uAS557P5KM6En+rh+WUYCfc+0+N3piC2xco66SreyVURgTkotUZk2x9D3bU2rLF2Z0O6bMf37e5T+DFa/b4sWFYxbRvmEC3a1m51QLHQ9uyYRDW2ltJcyD7L7SvWjfGfskhTEZjsKxQ92TWnhdeowWfPA92MF52gBvr4NEkHVMf5nsZw8On7/PCpQqp4EXr0OcuwkyqwV6ATVmMAd6uxAugESnQpfuACwhkGtKCMwJiaMZKPqPSyHriEJRLXM+rfsAiVvA/TMh/2RL5G2/U4Dm71bThU2PrCQVt+1MnU8m1NTbpATcrkNYC+r/3cOyPRf24kECj/Fa1soDdcr1xsaRFLWjDq8RXmTDwJD8zWrV59ZWqJab3QAUniVKEu/XZpKMCnI0F18drawejyNHBfcnEcYzdwlzuTdzcxzDqZMmbv6yttjHk9Vt8wuhzCNmKravVqfX9TPrL/L/Gvj7x48xp9Z71jVC/mcu475tokb18yBY45kt28MdO4J4N/z0mg9TH8/OsDaU/p2MJEJOO0B/VF1FSb3+dmSvwKn05gSZVYS7xy8sh6m+rhVCuAsUqrcOqTExYytSIucIik/8helCN/Koix+x/Ch78szBgUOW0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAnDI7UvMpl/aAMcWt0J3PcviT3g5anVjLI70okhl20R0SCedaY77PKu7l/lhNqu01dXM0MR0+U3d1Zbp1KhDDg==" } ] } ], - "Accounts scanTransactions should not scan if all accounts are up to date": [ + "Wallet scanTransactions should not scan if all accounts are up to date": [ { "version": 2, - "id": "529bfa64-6160-4e0d-975e-2add911ecdd3", + "id": "7914d8be-4913-4541-90dc-13df36eb7d25", "name": "accountA", - "spendingKey": "e55e53d72643db94c8e89da49aecf25dd8acd33d886f7ae155af87fefb6558cf", - "viewKey": "ab9fd4dbb18cea882c26455f15fb08603dd64ce461f31f7a007f70a156757815567f899a5a0d6e2733a817010458169ad1f85308428adfb6e2082040e39f0f2e", - "incomingViewKey": "795849086c5ee5c85a2a7ba369c8196950e6444657729594f5b7703c06066a00", - "outgoingViewKey": "46dd9f1784ad81afea48511d6bd0ac228acf79f97ddda1d62b06b0380dfe543f", - "publicAddress": "0f2abd0fc11b00e11759af5c49d9afc91ec37e8bfce7d468af2897973ded4e41", + "spendingKey": "ab7b9657747c5cff6d899f75e1be90128557309b50c1f99e183202751f60bd52", + "viewKey": "dec07c749bf2de8d5dacf42dedc03cdcc508beebd5b7a05cfaa1b6c1d5e4188acca5fc71664c40a6907cb4249ec4ad09106455b6d26d6c050d41a27eddcbc6e8", + "incomingViewKey": "96812bae7443bf1dbaa2af6b32df19a62850a4a43ea4fe30e6e11b6c3f3edc07", + "outgoingViewKey": "8dd0b235164f716ed1a861250f559187faff30a07cc0089447f6e2a5a702aee0", + "publicAddress": "15a994589b4522e39768378dd45d4449b284bf7144b73d8634c690ac93dff546", "createdAt": { "hash": { "type": "Buffer", @@ -936,13 +936,13 @@ }, { "version": 2, - "id": "584037db-58eb-4f25-99ee-b6672c9d40d8", + "id": "84425b6b-66d8-4b39-9fd4-10d7d55ceda0", "name": "accountB", - "spendingKey": "7e70e80ac7d6d7b4f2d88ffa66d4b25f0a5263c76464c93a4d018cbc36b4147e", - "viewKey": "664e89637a6aa8a6e63ee579448a6d5f17d5ba4137b7c80d5aaafe89e41e556daa53775a79e88bdd4737027a27916f5f056815e78985d079fe299adb150429a5", - "incomingViewKey": "c467ef95ee106b68647c264f5be76a50a8bc9fa55db8b431f604b9def7691704", - "outgoingViewKey": "ee654da2e25edb3fd96035557f6bdefff5b2e15ce90c16963b7d2ad73af308d7", - "publicAddress": "b79749313fa791e426d1dffb0e721f02df3dac015bbdf65afbe4e22cbf981619", + "spendingKey": "c713ffe1b75e3767c3ff2d40579f4089ead8814810f6c6b9a89210ed81b1a253", + "viewKey": "833c408abc70897de27d50881dfea48a1d696a7ab3cf20e234c742d7118dfdcf6cea2a514325193ba092a470f6add5ee66ad12161cba4e8bd6422e2bf50465a4", + "incomingViewKey": "e04637f475a563810efceda320e39caab7d30c476e9e2569a8c92ee518d2cc03", + "outgoingViewKey": "19459c1ca8d36eb35afdbee12584cca66f3a25bc6a47d933a355b4810a625868", + "publicAddress": "9cb65f60253f7ec612db79ef2c16c2f2e0c73309c2e584d8d9574cb3c2dfe7ab", "createdAt": { "hash": { "type": "Buffer", @@ -957,15 +957,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:f5CLXhU2Q93duPvqUWg3P9fj50F+EfO0WAifHpIbsE0=" + "data": "base64:5fc+0i8nCsQ7UIeESg4/PNYZ4Wkh0BUmuIv08rZg+DE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:H5Ek+6hFigoc95yR9GZg4ROYeJcIC1BLeiaNXj+5ij8=" + "data": "base64:G9e/wg1xli/vrYDjpTfduSOOPk4ddaMD9iLzL57prBc=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243703853, + "timestamp": 1698950269841, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -973,21 +973,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAABFojCLJTsFK5qtUbJO1n4lxuwLzT5Z3py1xxyii+LeWLjMYkFB/tm/EpTZ6Wyr57V0kSqxQIiwlmbIEVpWjhJgRV3GIKpk5tIUzXll0nkhauZ679FtS5AUP3QtczRVUcd6SCCoBnhQqqavkY/PXplgQxOPyu9oXRWB4Ce7Wc75oUFJNB3AHowiI7yTJj8/wh7YaGLfbm8UTvoB5sYBweSK3llRHe2YU1uYSdcEDTh7mkfsrFrZxE0LiZA4PUz4cXZju1tP9mo6jFv2eVnAdTnBx9ENe/Nd89YVHo4C/QEe4YHrtElqau657J6BTI7djroeI1dWop44/wNZo3ck3t03PKyGppC+OS6hugK5rs1ExlQ+rehdjTZvpwxXrvS1YMoxIUp1VHTIsxpiMYcPkf7hsvTRqKom+taOst7iIcCsGnfXhEmyunFh5o+wlNLLINhN3A+TAOU1UZVOW1g6K7LZLynOHpqIpbkubYElyBibbukt5+XrHY/mjymo7v5YlsGREHOj3LiFl6Za39Ejpn3Exy/KbWHpzu3w8BcWx0wtlPYX9Blc/9bjT4sGxmSDHtg/HbBmDSMre3+Ov9OVc+wgn2Bzb3O1TGSYWfCkwuduNxSeu6XkTTYklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwj6RFuglWvjeRT1TGGzzquuj/2lyoq/VdVE62MAaYiEE9BvxlMmpGhcJtaqb+LpzlhfQGym2CwDZxfi7OENfPBg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAFMSoRy7wNXPn+5nZnmmIDlmfrTS5YrdSsK/AAUDVRBuFHtMTvloZzdv41xpF5EadhB7p+02UWK0moKsAv0OqWSj7v/4EO412ywOv1PVMLbeJlDl1Slj7WO5tHszOVyDnUUFTUUV2YZpSDWcaMzlLAt451chv0PxtEDA+mjt4sFAKOPLPIMQhmLlIvbrSvAQe8Wz5DyoRj873kXr/KVzREIkotjP5vtlwLZAkC5rQeO6tGHWkmKuzOh9P+C6wjCWRy2yZC52+qIOKv9PaclXhajNdh77q0d2AnjQcNpdxCL0JrHFMYM4KI2hPvY4R64hEapbDgPf3GwZjkVfGcoiRiGfU9eFycQRf0HAjCBgfue6Qq6vRwoADF/n/3lUzID4fbizy2h5wY/RcFNePL4YGA+yf7P5B7j9OehXyAs4kgxG/AR75B9k8ctyZGsVxdJ67S4w7hQBqqd9YDkT/d67qlD/FsXWFs4Q2uPFGUM5DTCdyY/XN+yN3g6R1O3+6MKLGPEGau8932TVVa3ZoV3Lp8/RIhEG9mfw62OP5QaenFQbI/BLu6EvI0u1jpjfJvK06x6r5d7xzQ37AAji7tOqAgiuXhFP5x6T7lnHSj9hpusq3uj/aGas+uElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIeroPmJlvePZIeCcrdH+5ixV35rFI7j8Mty3wL9ElVnppdrkXLx8KWd3r2CFX95Ft1MlxxalI09GPOnuy1qJAg==" } ] } ], - "Accounts getBalances returns balances for all unspent notes across assets for an account": [ + "Wallet getBalances returns balances for all unspent notes across assets for an account": [ { "version": 2, - "id": "784111e8-e932-4838-9a02-81e956d84679", + "id": "0e28c396-3791-4444-9b97-c8fe52ecdec6", "name": "test", - "spendingKey": "7e74031e3f63a6a1c329647d078e7bc9aab99a4fbddbcdc2c878c83b40f92736", - "viewKey": "f84119a2ce512df79a0df4d9c09777cbe6c65e0cd20c611223232829c747c1a98196330bc325d9b23269c056ca91310f43acecfaeb33d5db7b6a435876a31959", - "incomingViewKey": "fb9d487ebf4a1e0ceaccd932c990e1411fcb88762479fed4c10c34c1f98d0301", - "outgoingViewKey": "dac3885994778b02089a0523167cb69adc2d935e9708e0878eab1e35d8d6674d", - "publicAddress": "deeccfad7b8b677896a1c01b7bdf8a38d8db91e1f0c32b2f830a8eef87e774ca", + "spendingKey": "052f0159cdd78a771f851bd7dcc588e5ab751e062f55a00fd0c3cb99eb8402f0", + "viewKey": "c6cd359a729597d7aa45c0543b347f9cb8d7298f120e1372ada9298f6213ee4b8a41473e9997eeea9186d608abecdea6177041d76cf67012768fbc86f5f5b466", + "incomingViewKey": "e588ede6f8d3dc94ba1112556e32f6d7e6c9e291b70adf0d9c2ae0626a48a606", + "outgoingViewKey": "adada15f8052d2eba2282845c84f5d7818a148f61e0cdbeaaef6841218a331d0", + "publicAddress": "2da2b06910f7617aba5529435390fb283f89b37abcb6e6c0d2742eff4552d81a", "createdAt": { "hash": { "type": "Buffer", @@ -1002,15 +1002,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:bqJajrby49Ydwn5ZAPhBweYk9+AyjWwkbktv2WgsLwQ=" + "data": "base64:rnMPa8sV7SoGZF7OJLpX1duKcO7CFrYPQw03AilDHBI=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:VMr9EDfXgwrbBrexrZxWB3xryDBpz8rivT65HvJhUUU=" + "data": "base64:oHhpfNJZoGJ81zgpEHwxbQwbUTAc1tRGFYp7oBeeBik=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243704248, + "timestamp": 1698950270290, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -1018,29 +1018,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAXv0c5TTBSS5u7/dAxQ7gv20W6z8lIz0OfaVmuP4vkxe0GQzqXnq6sU4jp4S1bTjZdZGVTLd39aFluohAi3D/1f5rkiSB+Rg7yDDe6qGyD+yTMwW2bNY8AQm7a/xzB1l0uW8OCrBmBieRVemMW1EF8aaYxgO1G+HqIfa9MVtwhjwEnJoi1JXyzNBt2dLQFmompU57QFrLb+wGEUqo28gx/Nm9QiOO21xSHgqMdNEYCnuAmlx+Lvff8w8013w2KiapOkgI7frJqZQiOiw5OYGOuTzWo6dKSIxVbVNaPlH+8ZwKGwyCMHVX3Iwlc5i00vqrm4kjaTYVcZgqV0jSYhc+DH017lKEnI36r9yHcDafOmxInfaWsRUpDs/tVFpneXNnyO4Qy13ZLSna/eIBt1hOA/Ay+/TA8T7hTisJq00bEdvIZXd5IAXa/Ta385Qo96ZSKjEoXkRBl8IZZlObrQCIqbIiSTkGTLJ7ZouIitQ7v5Tdr9YQFRBaaondK0usb+/XK/VwWi6rmW0OvTB+qEiWc24FRo5UglyyyKBckcg/DEhz/EBm75bc39oiH0J83YedtLPxcYact5R0t9JVjcIp5IkSW8Ni9MUpPtWWNJ5vR1Yj5+/fcuWvlUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwk2sW4Nm/w8gVfj8pdu1GJ+9JHsXC5y1oXoX3QGKySsVOd26YkHD4AJmQKPVXLw/mZx1C0uZkY6s5X3lXi/9fCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAEolnJhftZWMefN+7is/m+pQrCK2OuAMPnBQXWA3E0VujCrH28Ms2hgm2V1U/RkZG6ixJLyk6rId1NAmJAIC1ju3NzW00ZF1mRwcbilvD1NOQtpH9Tt4uBzJT+S3Qp8IL6qM8SyR27DjX+Vr6uGhbu7O0eZrGES1Q0uvv+HxWFI4HacgvxWW5MFjmywlzqOV/LMKwNtj3UVYIQlmGqNU6T0EgHLuFEhe39wIbfKhE/c2ZF+01PeyQ79IcPJI3iOCdTaltqi4lxcux5YVgPVttUS6D0w+lOWA6+9JVFcXqA6HI/uaKlbJu0K9FEZTplvljK2SbvBu8/gRmoPHWTAO6A6LPbiUwUNNwTlq9bIATZnJbzNyVmllbRobZlR9BJyJHTVYMFvZUA7qu0iKk8OjgGNf8SFKrhDN09VSMYPs2mq3GAb9d11Wl/C4fZ+DRjfmirI52Nw7uIVNYhqfWGIpz0G74a4bpclxtwNSDmX3DfttBpg0n7x3rMZ5FWBxI8Pv8oJK2Txgn8ifbMtfplOp4XhvEzsFhjkZUJcMy2bJ/79P7+l7i8W+NOw03DeDUpPyWhku/s5ySmUGFk9eg7v73IMh1wlP1URvSas6iLmz7YmRTC68PaQ/0RElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw+br9dZoStlICsMTMXopJjDuZawJ0sPe/T36H7JGiYd0hXFlyp1be4XwqeCJXNGgD8vQNRin1Ux8yu3hDO/snDQ==" } ] }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk3AX8fPGDZfnvqTmHt1gubsSjAt3qvV3FjwUBM7+vTmSBKt1ruF/c1xEcmKEOz3Dn/Q18ss0p0gDENej8AkAz7sg7TVgAUZtlLlD5ch5r/SRYmHvxq6713xQcjt8oXNZJ8kg2lF9NT/4zTIlU+q02ZsKFIBQ82vZL+F7D9lp8HIE/rLTJHFDAVgXXYjBW4AS5M9wONm5jGaCVmd1RtN0GC/KHWCcIzxeisP6oCPrugmHKNStN9vPo7/w+80YpaGnNduu0sZ8L1sPdh1l2b/5nQs0vDi5DVpvVZOeBdbh2piDzrev68D7HmcTB2ocfLi1c7XijkoUqBKpGKE1eCzVujbNbkm4bkuqHhTHOr2B6pKOo7bRTHmjQ6bcBEwEE1g+rgfuAq+Jnau77T4YwwsQHIHEpBBeSNl+6fStlI6BLNsa5M+SjoqHAgY/o7PBH9tSTZfJDgg5aKtu9d6VE9dzluXOM78CM/nZOJ1TOBXjNt9+yoX+X3jxdK0W2igFV/3UIpazJy9bfG+3DO0Qsn3T94THzfiDFKcag2IBXmOcc82nePdJfrc4pbH5ZbE0WNR6mzTd58TupoMvx2sqHqwfWbcPrP5TteaqGFBq6Mbt3IYTkgQM1vM3rXJNxI0QnRpFfKUVPn5iyUuY8y/DUksXFRr0Vy6ot2bc/jcVSLJJWCL673yXKtNxpnKqg7u8moftEc9PXSxRmGsjDHHu7mxHDeMNcO56JjHZqZ1eCDtR0qOUWLkbSoS0SQXAYcXIe4bZ8FjfZOp0xw56VAeZ1VPz4sIesh7hKmAAoLIk18xpc7EEt8k8E09igclwdZE9Hv5/ui+PjgYbysX9clh2kRocNxQKWudUXaeQB62hTOR+Z1RRvPzYWY6AiQcH91Y3ih4tL73L09V06FlE2x69dN7v1t+vXuotVWzgrci+uLNMiLolU+0froB1I5e3/D1niyP5myKJeivwORRzMD92nCeG91rWeZFcPGsC3uzPrXuLZ3iWocAbe9+KONjbkeHwwysvgwqO74fndMpmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEKAAAAAAAAAN7sz617i2d4lqHAG3vfijjY25Hh8MMrL4MKju+H53TKAPvWXT9/zrymyQZFDedMYFJYhmCCfTanbh/DFfOrLJ2+KzNZmdP9SXrlqtuWjHmfl13/6hoCwKPzgj6w3YtXcAgj71QXH4Si3lpjLTCHPU6dqJfSBBPAn8dmQ/zspNIovfcihgSE4veOUP9Lq7BSzeME0dLJ9v+u3MmOcQxQf0wN" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAejYWM72TnapeUsLCVjqJLa6N36mouPyWwvTzaz09IYyNTG+UAq+1Nyr/vJKAF8p4fgM6tYic1kz+LBUwjecZ1jDolvuQfXINC7lSNdRUVBGKAquJgcCLZUarSTQ2qz07yte1fF1J7+domjhoMLiOL+PkhTYGvR0vQwXycr+oB+4HAazhZUh0Stw9mUpOdmVIlHQ/qn8T92Hc4DGVDui79FGpUT6Ia1NUzHdPX+yckruuxeu8QlNvA8mS+jI6Ox48MIrqz9dy6KeezeXiAKjo+F2+bBZdj4HFftYMPFJaBtj+OWeGLJXTPA0lxiI6fLRCdxTV0bAMvq+NHaFZHf8nQGqmmzl8ua6OpHVKVzBMDEh6Ed13EJ+edVZdKkN+LLQXsThB884ewxmdgZLvW4tDNZbs4fesBpnsDbFoRYYUhIzgRqcnep8luPDlMSOhwfpofW3nkbV3CCavmEawjnhP10u/YTl5Q/BrINwhn0W9jTLjxm+2mmc4qsktDZDa94Eqz6whU+DF3Qif/kaVR6oQCc2ip9SwpJEBcq7bDWpNeOHiDGXG23hSbnaM5tL2ekgf2WhbyfqgaBtPGZ9/tQ61irCMdkDfqBAFFhjETiYH1veBquppK+Mn3pjgVUWfnxgf50b8vcc9ZWTLi9nup6I8836XcLuKGCaecTQnnfFpiarw6R6Nn0SU1MUbaCJXhCQjlAkPeiV9tXDF0eOqnTFqg1EQtzmA6ZXXoZhN3SRofB7uV5IxGtWOgJULlMVrgyxKjTxGHNnQbsK0iH0eWq+xxz3mehZOKPyLtH774Z/21/5fKR9y/8TZ3xW2cTL+kUKJ8xi1nCegN+i0yYbVrvoYt2O1eDqx9+iQF/l77yQv2ncYzcnje4hpFFJIB26QS6D6PA3o1+Kz4Ageq5nGbJABq1pwof4Yh8BYpnVNqMSUBoTbdQSnnyBrcGMPfNtqujJlnsimdHYazZ6klqcOEzB+JY58NEdot9PGLaKwaRD3YXq6VSlDU5D7KD+Js3q8tubA0nQu/0VS2BpmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQKAAAAAAAAAC2isGkQ92F6ulUpQ1OQ+yg/ibN6vLbmwNJ0Lv9FUtgaANEL2TaY0fnS1rOjrMb4x3YoQNNPHujdFqG23UEVPQExY+DgBGzp07JscingpWuFZUqHRv1E94OMseK6BIYOgQOUnKlsjrW+o0KeOs3+12ir2fJOSqsS7YKvnQVRpHwYMFjRybBAfIm8+DSPElBKIsnK8b/kYjFIMTIrKdUVK6AG" }, { "header": { "sequence": 3, - "previousBlockHash": "A105C08B693391CE6582BC024E4C8BA2AC913A19F4D9F42A0D2AF0232275FE53", + "previousBlockHash": "AB5BCD7AEBF8E4EE206739967AE5EBF0972D767107E969380C5265EAD476F5EE", "noteCommitment": { "type": "Buffer", - "data": "base64:yEn7DjoLCL0zUi5B/1Wh4OG8nHK4w5OybBQur1bFVFo=" + "data": "base64:93I1+OKmvzc7/Qwgc/f8QjXBXcF7EXPqvd9iZF25ERo=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:HLhYGvZOrAPWEDufFiZsl4zjEkCUrn9TJDhakbRz/Ag=" + "data": "base64:dTffjkPD9yCLnHSrDuZpIF7dizvrfpnEh+7fQv9vQn8=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243704930, + "timestamp": 1698950271039, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -1048,25 +1048,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAArGeFY2sf19WxXE3QJawEA9r5UNyQQ8VzYI70UIHnzKB/KgeZOp2GfkRny43YE5RU7IMXAqX5MjSvWW1koxou1IWgWm3aZakDknvNFYaOymGsESIk/onFlOzhvL1lj9Tf7qRVp264jQ+hU5A53uRuAktKRnmPhLjNY1IiFBZghYRANOidWRD7nSEH5cd1FtQg/jxCv56qSm3IwkzImhe6CQ515qOOHXGaO82RITRHgGZvc5VeZHY31qzrNGnQgIEvzAMvUY8IppRKzWaYpZ1N03lAxa8H0QGenygjitSL6CC2xGHu8Y8zgdGyWZAFxVbMxdoSGp4d6X8XEGQ0hsiwEM5iipRBmjQffCryxOdpfgp3fvkLH3MyVPyDGMy9ZZU+7oirNYfSDVbI2RvSdriASYW1l8Zk/bku2DD9RaYzJC00PtcuR4YHL7JQaovBBPtix+yihKKeE1gbLpMv32o2P3F/At7f2ROxv2tHQwLE8Dn3zK1dAOFwTDYePBgMSN8it8Kn2rV4ynlU0Lhoq42Pb+MwO7VluSQAsj+v6P6wWx8M8aEiSIdKyho0ooz2JFwRsehoQHt3maxsw+/lBb4Givfgqvbo+lnG5KhMolMOwJEz9hqOj30nklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwl3FNSmdXGF/i7A4WMyfgm3RkqrqIjG+FogJAIXbb5sYdQjuU29ipHIwd6I8RsQBy+ueq4q92mt0ZYwBmClD5Bw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAtyKWAZZQfpGr7ng7CaOXkqyZEXwIidDBULluDgERGguQymMQIUDY4xCOF4Uf5UQXBnwuuE0TiG2kjv7TjOkqtKP/mo67a/h4JKCtcfkZ1ZyNMOhBFFHITJQeXZvmrornjyp41ROanwjhl7Z0F0NPw8LVg7Vj/4n2mRVouymv4H4JMdtt/4tuv7oSvJm086YvG2jhyS06+bQtlmyBqsN+xZ83AN/GKBfvpsJIY2dYFaaH/b229kHHCLxgoY/zZ/yJ4FaT5IInUtmBzWL4j7dB589+pgkaQC3gl1RQZkYQbGdDKrzXn8xZfMBodCj3vc8tQdTZwEr3jQayABQomkp0LPIKGTj9Ov00tVTkhjBnqJS2uUJYr6HIuCpJOCpqMTYwMUTgRTT2LpZc4+i9GK96m5C0BTMfoOwNXfzudqJbTynjLWTj8qxRex46+Nl5B0TLHmS18esg2Zu1q4+9dHByeW8IVz9qMcXRTQA+I0f/QQbVhsxv5ZkklZTDxcS0/OyT8QEJtg2evEAD6H5IX6o8hxW65wcag+cuuMrFaUqSWOQqYGKTBeB+L9tAFxia3LoGKcYcsTumHPR8tXiBrTeGBl3+zLOjm+2B5EItrcgsovz+PT1WFtqyuElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwatrE0JGSut4Z7UWm6E5c6qgF7IwGIovq3txdkex5LBgxXqZfsXBikQ7ZlhTz7LOOZc+i8fQeXFgXQ7F2PsUuBA==" }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk3AX8fPGDZfnvqTmHt1gubsSjAt3qvV3FjwUBM7+vTmSBKt1ruF/c1xEcmKEOz3Dn/Q18ss0p0gDENej8AkAz7sg7TVgAUZtlLlD5ch5r/SRYmHvxq6713xQcjt8oXNZJ8kg2lF9NT/4zTIlU+q02ZsKFIBQ82vZL+F7D9lp8HIE/rLTJHFDAVgXXYjBW4AS5M9wONm5jGaCVmd1RtN0GC/KHWCcIzxeisP6oCPrugmHKNStN9vPo7/w+80YpaGnNduu0sZ8L1sPdh1l2b/5nQs0vDi5DVpvVZOeBdbh2piDzrev68D7HmcTB2ocfLi1c7XijkoUqBKpGKE1eCzVujbNbkm4bkuqHhTHOr2B6pKOo7bRTHmjQ6bcBEwEE1g+rgfuAq+Jnau77T4YwwsQHIHEpBBeSNl+6fStlI6BLNsa5M+SjoqHAgY/o7PBH9tSTZfJDgg5aKtu9d6VE9dzluXOM78CM/nZOJ1TOBXjNt9+yoX+X3jxdK0W2igFV/3UIpazJy9bfG+3DO0Qsn3T94THzfiDFKcag2IBXmOcc82nePdJfrc4pbH5ZbE0WNR6mzTd58TupoMvx2sqHqwfWbcPrP5TteaqGFBq6Mbt3IYTkgQM1vM3rXJNxI0QnRpFfKUVPn5iyUuY8y/DUksXFRr0Vy6ot2bc/jcVSLJJWCL673yXKtNxpnKqg7u8moftEc9PXSxRmGsjDHHu7mxHDeMNcO56JjHZqZ1eCDtR0qOUWLkbSoS0SQXAYcXIe4bZ8FjfZOp0xw56VAeZ1VPz4sIesh7hKmAAoLIk18xpc7EEt8k8E09igclwdZE9Hv5/ui+PjgYbysX9clh2kRocNxQKWudUXaeQB62hTOR+Z1RRvPzYWY6AiQcH91Y3ih4tL73L09V06FlE2x69dN7v1t+vXuotVWzgrci+uLNMiLolU+0froB1I5e3/D1niyP5myKJeivwORRzMD92nCeG91rWeZFcPGsC3uzPrXuLZ3iWocAbe9+KONjbkeHwwysvgwqO74fndMpmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEKAAAAAAAAAN7sz617i2d4lqHAG3vfijjY25Hh8MMrL4MKju+H53TKAPvWXT9/zrymyQZFDedMYFJYhmCCfTanbh/DFfOrLJ2+KzNZmdP9SXrlqtuWjHmfl13/6hoCwKPzgj6w3YtXcAgj71QXH4Si3lpjLTCHPU6dqJfSBBPAn8dmQ/zspNIovfcihgSE4veOUP9Lq7BSzeME0dLJ9v+u3MmOcQxQf0wN" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAejYWM72TnapeUsLCVjqJLa6N36mouPyWwvTzaz09IYyNTG+UAq+1Nyr/vJKAF8p4fgM6tYic1kz+LBUwjecZ1jDolvuQfXINC7lSNdRUVBGKAquJgcCLZUarSTQ2qz07yte1fF1J7+domjhoMLiOL+PkhTYGvR0vQwXycr+oB+4HAazhZUh0Stw9mUpOdmVIlHQ/qn8T92Hc4DGVDui79FGpUT6Ia1NUzHdPX+yckruuxeu8QlNvA8mS+jI6Ox48MIrqz9dy6KeezeXiAKjo+F2+bBZdj4HFftYMPFJaBtj+OWeGLJXTPA0lxiI6fLRCdxTV0bAMvq+NHaFZHf8nQGqmmzl8ua6OpHVKVzBMDEh6Ed13EJ+edVZdKkN+LLQXsThB884ewxmdgZLvW4tDNZbs4fesBpnsDbFoRYYUhIzgRqcnep8luPDlMSOhwfpofW3nkbV3CCavmEawjnhP10u/YTl5Q/BrINwhn0W9jTLjxm+2mmc4qsktDZDa94Eqz6whU+DF3Qif/kaVR6oQCc2ip9SwpJEBcq7bDWpNeOHiDGXG23hSbnaM5tL2ekgf2WhbyfqgaBtPGZ9/tQ61irCMdkDfqBAFFhjETiYH1veBquppK+Mn3pjgVUWfnxgf50b8vcc9ZWTLi9nup6I8836XcLuKGCaecTQnnfFpiarw6R6Nn0SU1MUbaCJXhCQjlAkPeiV9tXDF0eOqnTFqg1EQtzmA6ZXXoZhN3SRofB7uV5IxGtWOgJULlMVrgyxKjTxGHNnQbsK0iH0eWq+xxz3mehZOKPyLtH774Z/21/5fKR9y/8TZ3xW2cTL+kUKJ8xi1nCegN+i0yYbVrvoYt2O1eDqx9+iQF/l77yQv2ncYzcnje4hpFFJIB26QS6D6PA3o1+Kz4Ageq5nGbJABq1pwof4Yh8BYpnVNqMSUBoTbdQSnnyBrcGMPfNtqujJlnsimdHYazZ6klqcOEzB+JY58NEdot9PGLaKwaRD3YXq6VSlDU5D7KD+Js3q8tubA0nQu/0VS2BpmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQKAAAAAAAAAC2isGkQ92F6ulUpQ1OQ+yg/ibN6vLbmwNJ0Lv9FUtgaANEL2TaY0fnS1rOjrMb4x3YoQNNPHujdFqG23UEVPQExY+DgBGzp07JscingpWuFZUqHRv1E94OMseK6BIYOgQOUnKlsjrW+o0KeOs3+12ir2fJOSqsS7YKvnQVRpHwYMFjRybBAfIm8+DSPElBKIsnK8b/kYjFIMTIrKdUVK6AG" } ] } ], - "Accounts getBalance returns balances for unspent notes with minimum confirmations on the main chain": [ + "Wallet getBalance returns balances for unspent notes with minimum confirmations on the main chain": [ { "version": 2, - "id": "867a1fdf-ce56-44c3-9141-cbd927bff63d", + "id": "91521c98-2eb7-43be-afc4-df3691d3830e", "name": "accountA", - "spendingKey": "9c9613ef817bb17fa37d03c21cda999bc34f9803aa2e826492d1df88e38f2871", - "viewKey": "df8a731eeeadaf572f0ecdc5869be39195127025e2fa806c0d92d27eeabf5f271b96aa6a36811b2687ec882b3779e34e12fa48de4297ddb01aeaa4ddf947a48d", - "incomingViewKey": "83d627ba37eacd4b54025179dcaa0c4f96482d970a2eb681f3290427a64edd00", - "outgoingViewKey": "e8d97aba3bf5162efc42de7e7a34fc00508e7acdcdf991d5351fbc50d83b0a5a", - "publicAddress": "1c7d98656f0cfdd09d341fb64d0df94030875e480d3c4e39c130a83d58362960", + "spendingKey": "a525071a780e430c94ab5a20856a06a7935481d704078328bb0bd3804beade57", + "viewKey": "bf0b6b5c42d63518b4a202506ea9585b3501c40a92a556e334b31cb1bf6ba9099c0f87981cb6c201a6a3c06162a83e5f678ead9a39c582f59da580e278b3a34f", + "incomingViewKey": "eb9a13b8b895a5a3e5585519df0e17aa8419e8205eab4fb217c5206d170a7306", + "outgoingViewKey": "aad24906e5bf534581aaf477369e575f353d8c7d9edd726d0608cdfcaeb70682", + "publicAddress": "89adc76958eb406d1c399205ec0d9695ea3c68accf0c834bcb1b1f0fa96921df", "createdAt": { "hash": { "type": "Buffer", @@ -1077,13 +1077,13 @@ }, { "version": 2, - "id": "efee9a96-019d-40f9-9d3a-23d0caa7f871", + "id": "7046405d-e461-4308-813d-8ac262f3c0b1", "name": "accountB", - "spendingKey": "e01b3e8bd56047f133539d73577050e609544e98a018efb20c89773fd7b34a9a", - "viewKey": "bc3dc7175ccac4efa8954dd7b425c58b1cbeea1fd7e1747444e67b4246719b9d6579b8bbec4588526e53f236f427cb8c81d94b204683089f9fdedd72f0b8f8e4", - "incomingViewKey": "a11b6dcc4c052784a528bb420847809ca90aabec60906b5d179efe39c93f0a02", - "outgoingViewKey": "9782104818f844c3dcbfa8c1d3a413689ce20aeb689d41f1481d714b7e06a281", - "publicAddress": "fda4f0640daf5deecad07a3ee90fbd14fa69917fd1d70fa3047561f2cf011e8f", + "spendingKey": "54a335e89561e30e16c0434fedf11a7900785f9987c8667051c5e81857c6568f", + "viewKey": "e390c0e9c71e36032635cded81aa9e703d715f0f64073640e7993b9cf6b963f209c5783d1eacb90ad9ac90494485f7e03b0130823ef696402fad77ef3c1927e7", + "incomingViewKey": "70b733a58b898cd5272e605f6500ec511b905342ccd64897f51ba1484f4c6e03", + "outgoingViewKey": "8614c895899b5d9aaeeab492a04a8df34c1848b33c2ef4c748a0adf7664f8efa", + "publicAddress": "8bee7467f1105440d0faa026c1c1ffbbb921e73cf42a4bb85be970dce22595da", "createdAt": { "hash": { "type": "Buffer", @@ -1098,15 +1098,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:MlWq3cvtaesi+AvgA9vg/E7vS5mA4O2W3gGkdnlRMlc=" + "data": "base64:hir5VMtFTx0hsLEFNRbJds4TaOD3ktHoSsc0GhDwWEY=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:pBbIq0CmQvn4MU8Y1o3Ia+CodfNSl5XGh3/x0T6cSQQ=" + "data": "base64:oq6jt705zY3MMBJmRe+TaHVBkK5ZXfPPJmzeVUKYKec=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243705375, + "timestamp": 1698950271625, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -1114,25 +1114,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAN82fMipc3LtMUcm41W+f5IRgqRRPXCz1hN1LhY8mXSeDxUwDAI9llZ/G5Nk6E9UzVzgtmmDMimqgSlq40JN5Yf8RyweF/MoGogxHVxPvJxWUrAHmaL7ITmgkziMeblmaSS6VWgFFD4W/CqfzU6+c3q+hzlpY87WXkLzK6EuVXQcCKyW1iXsmIdvitaCmNWt6EOAgkAqNtex3bW6pmxq2COnYPgd9lYU+RFMYerNh/UGxqTx1D0oXe7ZyaEWOfBsGdKmQDdppJfU/zFxIa24s7MbRB6XvoByPaDcW1hYTvQWPA/05kZ23uIIOpSiVW4C8NX5Z/phTw+WCHkvqRiHA5X0hF5yiWImCQ/gwWQUWrwvj666e/Hfsj3sY953YMhkzSYJXp7Yatj3QTd1X9glfh9Pa6VXxflUHqj76i2XrvEQdqLWGV6EroTNnaGe0qV2WGF2t/f/fipsH4YFhrDlE+wN3G1RAHunVSs3OJ5ZpDNrkUQoi+ksm/tbjhI6ZfOOkD1pgJBJZsdJg/iLqiYUguGN1LwiFyph3YhiwqEQ2j2am1qGrkN9SDEBghZZ57gw6MWSM/LDDHxHlV3C5U+wvusCk1p5WTPreFnzN7lodDrp4keW4HbO3bUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLUSQc5gfc47x4HoyMcqFinnJcF6tH3pQftEBaeMhvtoqv001YDhmPo0qr0w3Fth3pRo35YCMlTbG+Ys4AFqrDA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAZ6xhcVG3GprRO2L39xxy+hml+DNOQIP0C6wusWSS5Q2hXo9g5+hsOC7qkBl4hOvZl8tO7eNL7B3oulM9ErWm4uoMq2A/L3WKJsdcbRaUfDi2J6WYMRxX3eAXUiwNCdVqGI0Uw0Y/xBLsw3eP12ppTYmaI6RyndphswOykvNHAFALMjkoV/rky/pXx0reOYgCTY8+kigFiv7GvP47IErMqNxksBan3B7ohd8QhuEoRBiFaJMc0UNN0G9trOqzOa17cOqEepX94N/iwASyex9sJkphEEU9EJZxFT4OONbWMS3i+vEw+co5bmX2hMe+rrVYMF2hLBlsd057UPvPWHCM26FhT2JBx52x5i1TaQG4DMgws5Tu66atxSdeof3GjXBb+Z6w5PjdfsIpWvniUtpfhFyn9Mr6qj4JymwJlPTPRdMXY+Ypr1jTnDwm7zsr6ipb1XG0n0F/kh6pHbe7adE98mCZ+tfVtpurgqGjn+QWcGLCTWikbEg8BZ44fGFPq4Nv0gO63urknDAJju1p2KKItBfJ5uHB9byJUJzh5iQGrNi9Vq7Yv5AM5R31pOA/g+v+3xCFtW7rKt8tk/7T1lN06z4i+ukOyixoL9ZMkvmMNG66MgPTVPyxRUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZgM0H3YS0puFw/E5oTLJ4EW076oBNVVvwieZ5Z1XgkZ4Fr/pHPo101vNk0Htvao9cVJW7TGxHfu2HrhBXRAtDQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "6F04C9FAB17F06ACAABB750931EFC60CA4C4D9CE28E9C98A297DB7A8545F3577", + "previousBlockHash": "99DCF35FDC2077FADD57ACAB48B6C2E5B032854E70B35423D270AD0E96E62315", "noteCommitment": { "type": "Buffer", - "data": "base64:gUUFsGb54uFLn6hhyv4RK5Pd4xIN8qGGKtFB0qjWu1s=" + "data": "base64:cnd6UFJlMlF45qL26WVXE3ySDNlE7RxQ2Kaz59vaAms=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:W153AmXntnJJN0Pqa1GzUPk0RHOX5dwNCOUreiRrUkY=" + "data": "base64:qt+mOpzKexq/r224m/AQf+Mb7KhwPLitLLVZ/UuFLBA=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243705645, + "timestamp": 1698950271904, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -1140,25 +1140,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA4ZFqFo0rO6nPhA3Gqx/C/iBXbPRLw1xeLh7mgFueb9mrdHKHWoSjOWQPR42bgjCpervBhfzsGw6c4wvtsH/N0KxRJ/GdUiAcMZJLB3ZsAFKHgqVOTZ4UO0U+ivIzI7MkQcrfNHYFz4Juef13xOmv6607l+e8Ibpk8UEyFI4KNZwXUHofw3bMR2ECbC97fQvyp5c2SQB48mNzVE5ugSQMoNLyuhFnQfTMzZee6jnwI/aU2KMKbEGEBI+jfjfowxxe5fAvNb+8NQeBBpI32K6zwCUiFeroKA+L8C3MEVPleerUPrIltg1QVb+j3dxKINyiTB8VEhfOEHgQsnXPKQZkY1v28DG4iKHERjm3RpMRFARsfxoOHLg/ZRZd4/dYSjAeKWX23C9cTEUYOXwUrsY8uLJa6xD908OhdHQpWvF1ChgMzE2wdmaZ14bOXvUEZ9u/RJ5/SmBuocLHMFnAseRWBwJEgWlN8cniG7WFsp9+W3tJWWd3mT+o4SE3rR+buFaO964sObqsRQCQcBIm1QWyrCl0D7UyYgjI7ZOvx8R1FEf9UD5QVx2nC4PoSwLE6VI0uy0/qpNW8bCirl8tq4aA0cZT7Vo+alugYUns5TdSJAUNyQijc68E5Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw7zUMoyn23X0mtMf8UkymXlwgapjMEhBc8MCFNkoaGYxMe9Mlx0xmKOjT2JePtDf1WKRokP0w0FIEGwRCXzn0BQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAHhGr+gyM/IGq/Q0YLEOUbQA6DpEHKADhnXWgYILTSseQIB05SY7tO9FcgNRI3yBytlDLLRkFYuQmz2ilDHeor4j67OsxLLIspnVY6nyPtDyGhY0nToayXmTMviVnfDnXQ+w4gqyhx9DKglStduQzupluaL6FqRyzVmQkj60kFpIG6+c3P4STOqExn19ycYm/NF6Vb+Jb6NPUoW6XaWPv986FZS7/YZgUaHEbl/2EiOaF/2vDT7ClBpnm17zSkrySBDDYxR13suvEP5MQpzbR8VnHw8GXWHR8krJsYfhvnK7lp4zgcW6E/rJXIOXBglC4D/nhi+aNLVtCF6yqDWaG3zC4rwoUXkIOez/GKR4g63eL93wVo4i73pBJrkh37do2x6eV870HyqKxOizCSVXvthIuH/UCeCEhhmwFLGndGEEegs4twAl3ucqWCNdbGNpe+3U4YrDS9jAlbPsyb0jGRyat7D9o5DpyI3J1ZoS0P+lCpv1DJlPbtZ5Tq+f9pU00OEXopHZdsa2LaT/UN/onYGpqLC/RP6Xw68VHhE+g9kN5g/gQvdozRmr4KOX3zXP2r8NphQXBpynqlcLIZWnHpYlAaLjB5wWGVCjThhcuU7xn6qaKY1Iia0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwU+tmP2t09pkCzfCuvtH5rLKJgRC6lb8wMXIZim03EMzNk2POG9Qf5dnUT4sEWJbV90gsrg/nZWt7hDvwt8YSDg==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "03DEE028B232A55385606B9FCEFDAEB0C69E7242C3663A09C4E194B3235B5478", + "previousBlockHash": "BC11B5C5B253BE565D44F79D339050B0FAEB75AE0BBC177FEB61A5B80DA93429", "noteCommitment": { "type": "Buffer", - "data": "base64:cmet4isRPsWbCPQpjDV0nrW2mCScHO9lWELR4qsjSjI=" + "data": "base64:OBumt2+czPANmWrmwtPP0/AkalEQnIq7uUhHiOYYBHE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:zGjVq8dczdzTBANpW+uUJOGHzp90ZQBvIYSSQ11h4Vw=" + "data": "base64:2MR0pM+CFN8glJLP41HlG0A4cDAcoSdvnOstwZ3pVSI=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243705918, + "timestamp": 1698950272276, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -1166,25 +1166,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAPjOmnz1XLGG00ZTLDAdZ6S+qWFlCcilYaXfBkshHyU2BNPaf20E62l2vPlx0N5FChRP1twhuYnEaynIZRKcfQFCP+EBUGioA/uAggierQz6rO97TGgW5oIuDXKLNVDvNTAGM5PZvXwW3jADluxhgzKgZi3Zq0pBTANrBiZwd6t8ZF98xiCiDwg1nZqLGD8u2JfPxfEPOiNd1B3FmqzAwbFbs08RVNFGCrA/5Ybsm9K+J3+xQfyBxXFczmdstKY8BR8qNKdmtSLhF+Jx97JGLxg43dCSYLw44eRDqEQUMguo2pj/LbDKoS2Ur2ctfDCxlreZ0Zf3ODgLUHm1N03hmiK5SYhi1fRbbft/Vh1fpT5oSUwItLXrbFwGbVWlfrgsmIL4vzLt3GdbWnd4ihoGbQWwh+Q6hjuCwIYwPFk6niUJa+9K02PqjBab4KHW+2BpyuzSu0sNrZMcp0XqcIAgLhpoICoCSeCOI8u1vDfoYC34WmmId9iEIvMY3Dv4GrIPWUHSdCKQyuJKR0OARL+mjQz60dl8muu8DJOWV3nBMrqyscnSQ7x6GXSE4ykLuQMApJN255C9cESDxLQPfzWQDevd6ctmPLXr1peJzI31k5FCoth2Pk4UFyklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwy1qkRAtALx3Dz3tTnDkv/uguHSKYdiM9jYafcF8JjjGAIdFi4bU3ImbXVVmiJLNHMNoaMU0kglHjKRUaf5fmCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAwpXiq23n/X1TznpNrCIvsOvwICj0UOQdSXcEufFpnySgzJiuH+Ffs8sh+5IZSacp67snexPKAhfr+XBb/BH/4MGhZZ0Y1XYoDPNv7XWHSPeqoSNKZgzW3kxrg6y4K9a6tr1K0FxlkPWkODYiTO7bEopbbI8KORtdpAHb5yLlqN8O2CfYFLezCFNPx1dZU9LQw0XCzb/J1XeKY9YgLGarDNS1V2ap34Z4Xk91RLrLm22GxwmTQX7kZo2iVND8mXpLQbrsuea24VqJ6EQnnl7YZV1jMwSDReJTPm7QBe+cZtU5Ib4VTJQg9QaOO8L9JaKL0TZrD/zTr90C/k/Fae4kWrYmO5939w3uY72Zh03xjNvwp5dHyfGN7humBywEjOE5ONkrE5MPC/HbFH7DIAlkKK4rlECqCP5tWxDp+AFmEY0O4HQ/fi7Ttk9mdKPPZRA8h6ykNY/w1Con11UgaOqVMzr+a3T/RGObb3uX3kZZ34pv8h3WQhNYqF+juu8Qxh6hPZtlniM69dNj2SBo4R/NMZzVSG1u5mVUqKG48BelRgWhnrvBuMTZ5a71rXxlOAHU7C7FfmWuyKySQ8jeZmg5gYiJ26EQ4FBB1bBxLdhim1G9M4i0ll0X3Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwUiJbGhaa82fSM+U1b0O2CGoRpAiTtg4Bsu5EHxO5t2vkfN1eXFCoCZm46jrwOVpgYm3UXKaSubXq+xjrlELKBw==" } ] }, { "header": { "sequence": 5, - "previousBlockHash": "EDB8CFB876DDB169639D56F725D0A9FEBD2C874AA3D487971FC3C59906D9F5B5", + "previousBlockHash": "FEC627789099F1B186A434C3F5CB872448CA1D81461E816415115EF94DB7E4E4", "noteCommitment": { "type": "Buffer", - "data": "base64:4YL2tPVYE7qrIutelSa1D/qwAIxV+5zmLjBpKLxkChc=" + "data": "base64:zGLYdKPSCvPfgbkOL5eSo/jJDE9PjScmfTXtYXRW0w8=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:jEX/7fF1oEkp1d1iJbml+ScLX3qySa4JJu/paLQaro4=" + "data": "base64:uDM5Sgum/8MBDhZ/x8J/108shebpmo6iFxPP4CXBfM4=" }, "target": "9201866281654531936596795386791503876274441021197252859723586932895305", "randomness": "0", - "timestamp": 1695243706184, + "timestamp": 1698950272719, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -1192,25 +1192,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAWf+3hz4JEpfcIxIXavZDxlKgmTj8sk9ExOVSW4E47OKZsXWiVbxb3eHlDLKQ/87bRmu7tWVAPoTxZwZgpeySNld58C6gCGjhmhdfG6NCD2KBMYQr9tfVFK1mUGDHOze05OUWSqRb94PDIUCNdDmLuMEZAITPAvFi+hsJm5y14IUH1R3dtvMcIs33K7UuaDnDlZvUtEGlXE1NNGuJTWIK3Ou7ZDiJe+1S3rCjMi8g5+G4702k2QYxpT/m1VXPoQxIi5Gn6Dtp7QNjrXTpapbW24eJLo/yyJOzNB9o6IjqO8rexuaqPaCNo5QE2JHoIdQijip6BjDgJNL6r/W0V3R4mTU4nG7a+3a4sfKHInzvjv3BYROwOwOx7yewF69QVRsVODZrQYc5uixKwobtKVYUS2OpaGBCg4CN2vLuof87QEV4+5BlLyoRBXJp0mgxS8owBXhFD0vJgS7sjwSu7JsrU0jqrV1V7nqsvpavcL47OF4FOA6MgCHGzc1pz52wcpbaTBLaFshP9Vmv2mP43uD7eWGMNnKFm79/MmdgGWSPJqCrhkDykRDf4BpEf3BSLB9ozKyFWB5JIjMQqDW/3tPFIVdzkiXmEyxDqdhA7Br90pV+KNlBalJDJklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwoBF9T+H3ZWWHhUiFDYnkz94RAZmAkOo6FLt+w2Cqd5QN95aUIaV4x15rYrs2KrJAME+xijjZkipsVGqHbnKqBA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAGLn36pemzcFgN37tdiHgxqnAH1YiIpZpCtqdPP2GcRmRKssSXdeLUOATbonGGUIv6ragGw15QQV/razMcLxAj92JJcbJ8FYFOzKAZogLMrSEDYTP6V7zipEHWu8QSyVk/RUfLA0HLRit5xfHqC3d3bcIWHQ4+NOZA8v0V+4ghNAMyL49bRiu5Hc2CVL2t5NRSe/CsRMqYGxtwgh4CZ+vsqdUE5jS7mnAxn+GRrbx6hy0min4m/0dPp34Lm2xBrB2T4tES3ZxkO5lgo5FFf8XE6vmUND4ubnmH0LVRtcDxjPm4dnMsdq4VoGdE6ca5isy7BJKnggsnZNDuNlPNXr+wK5v0vKgTyEr64krVAZ1k1gh+k2MPGcdg17evSi2Meg3mNOKSvsPK4k9Y8qPjKICGc+B0wDTZpYk72WsS9VSN2vAHvF1cOyTulFqj8rKcxKMBOFt3lLg0zSlbE4VFG3oHd5zVFvFN9o7XcK7ZIf3thFKso9K15zwpJ2EXIIRVBzPQKQsZPK+1jOfxVIsnhDHoZ+HBz8lNDvcJx/ZAx6mCfK3FplummvHbgRKXCtXLCCCloaZOgY5I+Su8h1RQtyXZX3GaD4IWbsTNs2MZUhI++xUV8WwXbkLYElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw/48f6Dvl/Dr+4vH2GJ6KHWx+gEYWCz0dH5KC5XAImFfgIFpo0eSg3moTC0v6gTBrQu/XohcZ9QBPfneEXHlsCg==" } ] }, { "header": { "sequence": 6, - "previousBlockHash": "6555550885DE9AF2DF21D6468B8F432062CBEBF9D0A616BD393C25119F82A023", + "previousBlockHash": "2422D04E4DE0CA8F280B960305F3079FBCBE13E85391838ADF5F508731DC42B7", "noteCommitment": { "type": "Buffer", - "data": "base64:7Fs3X0LjfpG9Ryw3NHcgTyD58ZrtofQzbReAw0oK3T4=" + "data": "base64:qwlBnEclgN+frGp58yhpZu0QxNS6TZmmEqjKlPE5PwE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:5MWheWnA4Iyj9MdFhgaVksNcZocJ4J5LjIHgJKtWMDU=" + "data": "base64:P3TM20qYFE1jsG94HFwg40igjooBJ27zQa7b5ODSVr0=" }, "target": "9174987784651351638043000274530578397566067964335270621952759689537226", "randomness": "0", - "timestamp": 1695243706455, + "timestamp": 1698950273021, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 8, "work": "0" @@ -1218,7 +1218,7 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA5eNX0zCLhvXfqlC9pwsPUAChs0NT2onknviIDB2iSjyPCW45JSVNwreuD1N5EJrc7G/mw9yeINbTmXZqgYyH1ca/WdgYmE1+QVlO6HpuiK22yRsNpkym6nLK/Kot1q9zSw7F+Eh9tjCf/cgEFnIzsT3k5V7+0KGkvCcHgtQDwVwCTEd67jq5nK+AoQw+k5xX4rog3zNypjzXhAHS1hckECpW605Q3MfK4+y4pIxAJ1eXa0UudKz137vHZHYdUaqICIqoNAn48lzeJQ1cCf1kOQc4LPlFVEnH1pfQLTYThIP8tupGmAGm/jNC329VKM4sIIMQAZ6JpTuJ0fZ+ZRNYXaJt3LfKNRM967Ystrd1zj5QMlZylmdaYKFAfMOH0xFAX67GQsV9C73RZI3U/fdAMJ8EWoJM63ZfK9+/EFx4UqVhWGmX45WxaZdcjxEkwbtYsqrnK8iETnV8yM4Q2PxQglmgo9lNmg2+Y4mXtSm56igR49jGCn5+cvXJYk8QNmecJOnuJ9HuYQ9DQxw9XmIdabxIy57BLRfFUVtVSr/TjGUkouVOpvTdaNJlabUDMaBJqNSNnFt8yrmOFDDqLtmy5jjRM9u8Qfm9tZ65kRp9M5dHGDwAjR4hE0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwDI2e5MuYE7NGV7NGsLz7c9RzBIzNwDph1pwN3tmoReEVMApvZYMu4h8qsEy+PPiokvQbznRN/0ata99VlbmMBw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAkB8UyXC8dZGX3S3pjod50X8hswG9tfCTY2txdbHZWG2H9Sx3G1As451NptN2nGll7QJ/9KfV57f0WQc2Z8i6u+b83Z3vQPTOpN5YfITCoh2rNdyleLwAHxYd7LlHpnWF9WjkpQZl7TU9I2r4sfgET5vHuI1ub0H1e8FqQTfDO0IYJLKzkF/fEVgIFcA7BXwYfqGW5zwZTDdFxbuOpKEUyNMZbU2QSRDZ0cE/Ng1shJ6BcOhkPCgT5//dt1fYui0gXf8WTMM0v22UXAbx8T3D1j2PZah8pGyEuZsOYrWYpUPi0qcyCOV1tRWP78ZcI4DvtJzWjpKQbyD4lCI7moOzGVthXr6ji7y7J/qwkSca87hFRFX6m4OpgQsXPGy3siMfFHL2cPTvv2gg+BQrox5fYkHAe86n/twDzDWMzkQS6Kqpet0SDCbDe9oH9kaU4HLqY0vFtlcUz2g4Y2VRa8BhfUPPQMkyFyO0kqPy7yt6HtDy1MnEJhK5NDy7kv1Yk5eRkoS592tbg9BVRLZgAiyGQnyXU1BG8SjA8HtOpPnofnXog9g8LYKFFdmBGtGU5VLle7ACHtJ2ZOMHQgMAGCXkv3H+V5Q2PwAawuXuK7Lsg6a0NJcp2HbNNUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwtdlXoTXUILbO3MHbUXMsoAQlHBPndro157v788nH1rdVOziXRoSbjTL44Peew7kc61zyenMHmqVKqENRjd2mDA==" } ] }, @@ -1228,15 +1228,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:ewgtwpgipv6jkR2mKydB+d+i2KHI2zDIO3B2jsOWkFs=" + "data": "base64:QQCSTbK/1ACtQHAXDetDQqT+zyJSJp6AjBt8B+/WJV0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:LDU73o69cMv+t0Dq6A6anEvI5FHBGgBc0zlULghNpfU=" + "data": "base64:mNrwfXx2148IkISdwFZecdlj6L3HY0iMOW2hRQxHqLw=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243706730, + "timestamp": 1698950273390, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -1244,25 +1244,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAe48O/qGfhDYtns1l2az49nk+kmp9u5pbX7HnU21UZeGjGtDacz5GltJJSPCbxls+iSP8cVMhRPp5qQlB0WEb2qagbBv6lNaJx3mQVqTknE+EJCExg9VD+5UaKOgS5ImA8r3HZ5fP/RNmqMUvqi6iHcskSaJG1MD/43oGlDc+m+QZaubhsrZ/z9Fn4iC3OPv0i8BGZmfUkVge4HpyNUu5R5RAuH/hEp7vVNwTLdsCOviNz+XD+4ThCg8dewd5pL3BBCFyXcDTEIvk1qr5KxXxIPTiucQ9v721AyaQmSe/g1zgymCZDiBzSL3cU0gNZ6hyFWObY3N5UtoozqSjX+EYyWcYX73eGHdq5uf8O7SLTgwpOonuzY/vdNZFLpsdR1ZucOJkYsfEStL0fcvt7+1eSMvqSUE7vVBsAETiW9Mm8I+ng9owvQY+tEdv8YcUiR8STNuAN6/MqP2StxwG1nZcDktJMaf5kWLrrMSu/TVjPUJZfEGVsq1QDn8IRH0VMuwrpks2rU5X6RQueuI8w7qF9dg7PYsZTB1+F8ZKKNbFj60HkokiBqs0bs0fh39kITOqx7csmZI43LoBK4UNukqGqQnI+Cu71NIKx2cOQM53PqktfkjeF2a5Kklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwpjR3nzuPkOIPwr+wMT8V6WhuM8m76DLgITxp8wfUeBO6FTgh36G4zLubIyV6fwRgNWGoGZIxmOYpW2rQ2YCwCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAneGJq0bypIIpvGOtRib6LETeLn9DzV2Uw18qHl8vsCuUvo9hDQs23ZhGjqpcJo7RMcyTohhNQHh3Gc861KuNwgvhrmTmrwaW5jTb/+Db5kq5kA1tazbF0+K92XY6QtmkKLxLn1NSxHalcRaHcazk8i31x7w+vHG6fqiETmtr9m4Pk/nMJKkmxXyd2sQsklbslqRwZE2ccRz5mTFBXe2bvURfakyuvmkfbN6yOclP1Eylb+lHPtr7pVPTOLkmXqhyu9+Qpx2U6fZdkb0JZq9b0yQnCShAKPsB83pa1Bu+z9yOoS4IEsY0B/v84L8HnSh16+h0pY1/aRyoCClhwbMq7A4rQtLX+QcdVojHxYK/w6XOVuFAnzN+0fjEYY5d5zJhpnKVLOt3QVuESL2EyJmdF1Uhi6p3W+Ii8yuqA75AMYtce1Q+UwJMKthxnRF6yOUSAcI6UNrErpOMxn0aDmwva590g9Pv27g1+NYrVQIhoXnYHYjH7JpRbujDzXP0fnANx3V80KZjbDDPIobffzaEFtK8BnEX/foOSMlEvjK16Fb7B9PCt2Oo1k90nm/poqoNdFSeGp73f86usjQR+5mQlT4RLAVyI4AsRu+xRQG6/TmGTHtDaUyvYElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwrSFI9D7oygyW6DPhtJ5IK0e4S12PAy2uWuUBRmdLR5nugnRkHIChbQdfeUWpFh2Yp+VgwQ7a7a+ZCSDtqAJgDQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "D2B09B2C3E070CC7DE86D5D9C36B3ABB11E29A14786D678B80251F89469F8745", + "previousBlockHash": "49ABB802100451926702942335B00CC518B0E1A44174E8B6EEC4B91B17C8267E", "noteCommitment": { "type": "Buffer", - "data": "base64:/nXq4YeUAhw1TPm4i36p5EbUIVUeX+4sENDnIZmWrmY=" + "data": "base64:ejTr4qVq9N4qOBqSdFhVmTR4kAGmA/gmQfH4qPTfOhI=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:8rUYDmE8VFtuFOtCIEQrMEPF8avwsZ6HMvrxOy4UGWA=" + "data": "base64:/T56vQ3Ga+LiiHf7muEKMvwu6Qx6KWL5M/RtfJMFeHQ=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243706998, + "timestamp": 1698950273682, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -1270,25 +1270,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAGeEncRd6Ujj9bH3lXR+2HbruFhU9Rtrt7oxQ3Qc9Nde5LKImkMtCDEZE99tzRfWGynSYAPH3daGfugO1w50+nRWfQEy8P8uwvXR3FU5pSqGuSi8pkYxbgTXAIW6TgIVixg0Li+Xtt+n1Mcn7U1XqptsfBnuO6o8TM7habXDRH0cNgn5FqQ5aeGlRXXAcad+Esz4gSgMvPWQTQq27z98v3m1tw2uGHIcBmc2+SQFWdx2AC6kjdvzWmkbuj+gGFa5YnsA0wFPTCo96B5D0dPpwxvwUGucRdFNgmonKY/7uVxxhDfHvfrUDU0CsufIvWEjDdP6FnCNPlEvKZL7XspY0FOeynbMiYAggbsa7onB/GZDC7wS3XZxja+mIImRy9XAQ1IGczT/YhAM4vgtYpk6qwbsd86S3apfyZ777+7+fpuIXSN3V09cgvByJZVm6ckALkFlILU2rR2JGbPKUUHCOHshE8Onxgi3WQCvFQR51OYvYRP/fV5XzDuoyzHUHQWsqSb6bb75ouRu+xIO0flYIbOCrUsFiYG71c6CzRXstredQxtrVeBCNlCA15ebm2r3wxCiY92k0cz7qTOQIk1xSrUACiIdOUuzk0+vUFjGsFgdzN3qsSLMVRElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwsGS8i1M2nt8fVMm8qpJNnn02PdmNcXOKc3V/VcmCQV6XHhAliRU/NsaEeMuyPxHkdPv8ZWB1FGQ9Gs/5TkRXBw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAASGs1iLBEhZe738g7qCQlgOVG4Lj3Ehf7vOfMGj/itM+SV4ZJEjWGfXAnD75rqyxonEANKnUOb6PPqtO6Ps2gB7OQtf51zD+9zDnSE2KdXR2S2zVqGAFAcm0jjNrgAB1vjxjLehrHVRA2t4UzP1snWBnd/Ahify1QikWLQovDnVMJESz5b22SAoie9anRC7bb/A6IDMSgF0IL9XegVL6uxJYt4N7dqpHhx/0ACRzqb2KpEzrgi6JVfQHOVYZfsRwSucpjdPUkzpl/Z0iYNAvFevbD7f8B+qMratwTQVqfbsemeEglVZaJDyMShVHtiLFVaBKuPVEb71GAg3JHT+kRAD82ENjR+y8mjPjcXAXPM+Pl0UR4dwtUs+odIau7KCxivQc3yBX8oV1P8r8ZwbKawyhypfOgW7cKJULg8tQmVTESYqLC4pKh5Xjd/jLZezmKWz4+CytH2plbArsDU3OQOwpidavipvKkIwkw7X+KNd7WQSEViKcuy4/hZAYMP3A60ch1criRVKow0Kvw0RfbceKV5VRjgI8sopXNFKW6vOj+cn6UaAr1chJ3hmmZ4nKCF/DR8VRWOaeb9OfN539drSDgQehyyC0+ViZtegkVkQN3BN+T5wx6MElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwsaaFx7bywEBuXsnr6kAjw2BmQ5OCNm97pUMssMeqU9YsKIyvyFrGFZ3T6QCgeTow8uGlYSDBcSmn6XZyfqhYBQ==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "11C21E8BE790F0E81E2A43A56EA691DFC2AEEBA9925A86BE1D0A4F8933B45290", + "previousBlockHash": "5196A9E5541500F0569AFF0F35A0A9D87187250F03213D981D07E1969D9FDBDA", "noteCommitment": { "type": "Buffer", - "data": "base64:8e5kDGKsj2iG4hkWtLP2n+TitRpTVGmG/Kc8DdA46hY=" + "data": "base64:pukwWZ/sV8aRJ4+3LOTxshD0TjUEoztq/J+7T/mNGxw=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:nIN8Bnvfc9GI5cfiAEF7h6IZUfrd51gzDbpNo50IjpU=" + "data": "base64:Vihpub1En7eVOSBPqFEZKMOcXIXv/4wFxikUiwwML+4=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243707270, + "timestamp": 1698950274025, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -1296,25 +1296,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA/AaE9NThPTnDhaw9bEKhrW6/2Br6RAe9+7g6iB1sM0OA/W//n9IpE5kHY0SASB6pPIDlGm1qwkVOqee1tuH9CuezZagKsJwD4SyfgG5sQFGV7nVNeHz7NW9infg8W6SbS85RwCzIJR72SE62tpVgPyi7HoDJXHPVrTcfUWBWFY8MjWqus8Xst/9JkyOIgeJf9/Ls5HrzUEOHxEPgFkqFmnfHe9SSdK9XV9ZpwYefoieHjmuJUqRZC2Vbkgaq1Wg1E5i3N4DRMrQu5oeyb+2Ro48pJMoLgM2NxSuCMXPS29QDE/ALVNO7zmU0H9/5XOQMWDfa9mHDj5l6cy8exYt9A3i0N0uhcSISETDs6hICvGnr5OcvfxjzvuRNesOF0HwkOPNsq7C6RQSLgv/rZ3QIigmwqqAoMMHZsbD+yIvQxjs91/Tmn0JmnasTMWYgU53gIuzdPiHY0QFaeamStGvWZtADk1HEtStc5ctWC85+i0E/LGoQ3Ew50TEkOjZmWOA/8ESbITbhclmswJ7eKm2vT98VteMiWUg1s0u9Bu5U2aHhmCWxlGSNL5dRx3+IydsyBCZTXIxOPIGuQHcOHAHcr5hd4wybpWiIE8ddU4+tRAPJ9wNppqzpgklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw0Qy3yQwhlzJCfsL6KMKnJGeLcA59UFlr5NgSWU5XS94TVgW/FDHiXQGww9UnInAtIgZE/RXv0PoRlkZzmOppCw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAt9Gt87U2a9HeJlV4uxjTT8KSA7oqDfCNcqQTl9N/acm5RiKrRAUHjLzZJRqpivKOU73Faudx1YTm6rb4Z7iEr7jp8FYP3kwmfKGBo6znzRW4Zbbwn4FqNrEbzvShPld4cMb3n2aihdIa+oh0UI12+FadIKgO13J/xrSHL9hblZsDmpoL+jZqr6N+hzHuzvOuP+79w2PbrpAur4Id5hfCzyh61gSE52TqBP9zEGGlSr+UGbErV7XvhjKa6LgamiWVpAA03LpGl2lgORywYcy8eVXu5bqgp9jmAkBoTlTx7DRNNDOP5F+Um3SCvvIFNOW1/9ASJdzrulxnH1yfFLb8ULBd6ijgm8UFShQ4ivlF2zbVak1bGrIDv8+yPoyIwOcYahmob9NS6ztRtq8r7NvWPCpIH3e32RXOjnC5oGggZWt2/J+w/fTPO5/qYFISec9WH0s/wrxHi9hbKcZrWA17X0Jn+XaUbQgLrNXOop6bILADbkbtPtNr9bS9YUtmNIEB6GrM1uSZCbWSMul6HvpEhxaNDbr2rM2XLVcVhHIX5xNDKIfjRUf4NXcS93Q3h3svZiEnennODttLr/MiQ3l4dYkURdUJKyEhSj1EckfS0q83BKbi3jvm7klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwgsUjJWQWnfjCdOJ5o7aHiLnEcf7WtLy+iTewl65Shxlnq0ETb/P3ua3XYVmWxBnNLwanjIPslBV2Ua6ebVsUAQ==" } ] }, { "header": { "sequence": 5, - "previousBlockHash": "FEC59DC91F0A9289AF8817051523542B5C71C0F98A4E4CA23CE9AA0BB99272B5", + "previousBlockHash": "2DDB1F5C01CE06A6F750B6F53C5BB5976E224008364BEDB97940C0806E368D44", "noteCommitment": { "type": "Buffer", - "data": "base64:oECX1KAfR1tmULG62yKtsVRAgDPR9zA1IDOJ5NK+LGc=" + "data": "base64:K7a9fpAivitIEWwPt8shwwS+f3daTlpiMQo8fhsf6nI=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:1LX3dM9vNd9qKuwhN6/KYpjcs9ddR9bxuTL6ZttMlxc=" + "data": "base64:58zQ8A2K65q/XDJ8cL1r8S7HQ5ZVzwfkLCpgCOxP3Ro=" }, "target": "9201866281654531936596795386791503876274441021197252859723586932895305", "randomness": "0", - "timestamp": 1695243707536, + "timestamp": 1698950274477, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -1322,21 +1322,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA1idl1UIDaTRmxIrDD0aYADKxQzmW9hBhUlSG6TY1sMiZFxCxlOOMwKpJTktGGjqWvrV7i59b5XHC3dt5DnyUthp4pgclSfhDJK2x7Z6zt/STNP0s9cfdlTd1MteLXh+jmmN7Tb2xOV8UviwdQd2YeJ/m5j4IOQSgnxezg4iNwoIXI45+rlhlP5pJ/3yyQgboizlFsumZd55ax7/z3ftwc7dXILnnDA+TDp3iLlKadQqut0jFD8eALo9YqWGNQUQOmm+uPKE+1MLexyKxR8tG/BInE1n1AElH30EF9+S4gfxJ3zwnIiL3fcPZKNvmsn4E+juWZuUTzL8pmaoOLz5Ex6ffSXnZlzkCWC7ROwfZl7+17RboPdusRUGrCyyyWVJCc5PTLXmfJXB1IduG/+ZC0QzrwREFKYNiB6GeP3aLx89KLNg7WsL2SeecTMLpDNsIU5OhGBTYQxfxz2AFGcZhQON3K8o8Z0EKfOBpOpK4szPw8vrJBzS41CRYj8RjZgfzIFgrBLdMP1NkUEPBjaTHTIZ/lWrjAy4G1wD+3QTeBa21hyHLz8A6TM7qQFZpWCdiPfVav6K6J39u1PZbbT64gDLm3nu7Pz7GhJoyyfOJq+IrQq1zn4TVgUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwfGfgr04GuyObwzKxMqUKdjTECPzkDE5LyYpG6SOXfSU9R/hd1QkItR9FXTyYA0efrXM2Dq4xda7TtpBHOT5iCw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAPcsQThJX5pSQXzN0itdUQlwrslXCyGs69oFGwZ1ujVexicJ3tLe5iSj1mUVU2Z2L87BnFkmeES2KEePJPC1AENo4rm4fmtT14r8yG5hZHF6oRW8t1E52B8NzUj/s8N97qL+/uAHug3/iOH/E5lWDfaI5YHylVEKYo/qKTosKMoIJk3SnM7MNp1hXscKkFpB2XquZzQ5/DRTOY1ZwISCjj85hTwkzi5rMRpHN6GcpS32Cij3KIXveAaKFzSuaFh/8b8MVXHsciJhs3AJH7uWsCubH56Ru7w380/azrtwInSJmo6jnVfCDYMiRUl16ujqKu5oc1OKH7mPwmkHzgjBnMMniScKgshca0UsWeBiwIBmHbx222q3b872LbGDKZtllZR7u1ztDAOnBcUhjRxWdtI7pwUnUzcq/Bfim+0mKsouYm1t/P4pHHKIJKLjiGivHeU8MtLTJRSUTpeKzyW4Fj4sFI5zm9JBFFt7CbFibVQv+HvDwhFfkYnvHr4bjojR2eBfLK4axTPFp3UQzpvWogyO8+fOwsGUhHGF4WJo5p8MQ6hxtz+bSMDbmtosLwptwPaYXO48MIUDxplZBbKh4lxPJQPp+g9YO484fgT9l4XNG3oxht/uBCklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw6RLPf0zm7Yrv8Z21pfoOI+t42vzQNYcCkzxpuGiEP8sV1/95MWEAZeiGix7SC7lztRpwp3t1NZjBdWeUihwvCQ==" } ] } ], - "Accounts getEarliestHeadHash should return the earliest head hash": [ + "Wallet getEarliestHeadHash should return the earliest head hash": [ { "version": 2, - "id": "86baf23c-a421-4770-a802-70069c4a26d5", + "id": "f53c34d9-d032-4d3d-bdd2-6adcf64017d0", "name": "accountA", - "spendingKey": "3c6466d92ba431874ddf6ea5ae5eef752f150af40ca741fa98ec2c47f54c20a9", - "viewKey": "785d5d0c65541e58c717887589d02b5bb149a557cfb56813c7a57d416a42e5f32c295be54cdc92caf69dd313553ce4a6e71e2a6450c10e6fd45d2d6e06b6ec8f", - "incomingViewKey": "e84fce828c70c070acd635c346fa8b3175914bf85730511542b1b3513a2d4e03", - "outgoingViewKey": "9ac09b931e558e359364151e76d45d994256c0c33a26afb012e1ea83a4902172", - "publicAddress": "335f2dcc1eca4a53facb5bdbda0a860956ee2ad2da5422f05d665795d18b0687", + "spendingKey": "7632abd05958d8fd24054e64f3c903746d0af77acec1ac39ccb865c13a479fa5", + "viewKey": "203e6cd1e816d9e63adbd4ab4eb0e72385e805004a0001f9ebb60a4dcf332ead188bedc3fcf7566e74f4050dce3ff4d7d9cfdc0658191ad4a6cefade766a72be", + "incomingViewKey": "fe52def972af532bbfaef0fbace7a71f79451f24578d46c31207ad52d04acb06", + "outgoingViewKey": "ca4d8fefe21a158a84c67a0182ac92ccfef04596570af1092ab8a0339b24a206", + "publicAddress": "e2d3f5798db0ac45cf7546141c0664b4c4001e1a1c82979fe375f055f8bf4f3b", "createdAt": { "hash": { "type": "Buffer", @@ -1347,13 +1347,13 @@ }, { "version": 2, - "id": "b9396354-32f4-444b-b3a7-40be38ac5ff5", + "id": "4bae6f77-f586-4f84-a042-5ef887ed7fa9", "name": "accountB", - "spendingKey": "580998bc3fcbcd92e92a9a1388410194a702937cebd7356b643bac5522633e7c", - "viewKey": "f74dc9bfece55132b6c5ac1882a8f9bcc75153fb80e610421c2ab11ae16700d7ab82ea2341b1ff4f1d524d947c23e729441c17e3a36d93b5f86622b718ac006a", - "incomingViewKey": "082e02da102d9e34c09bd7c6d5811f63ff0a54dccadd96a638f668bcd021e607", - "outgoingViewKey": "e9f7e19bc1626fd8fd5b0b2af4b9f41413e1adf2682c0d08cbc6528bd378cc08", - "publicAddress": "29a40cef110a589ac93f2dd86d8db5d1e50476a675f5c80355eed630cf6787bf", + "spendingKey": "f8c6a770283ea08f2c2d588dcfd22d4490a305a75381991eaee78f98b140c7ee", + "viewKey": "4a2979407a85861c78383f87715b03c4cce408e9436f48326d407a914484c48e592fef61f0a41fdeef4d06d2c212c6931fc496afbf9d2cb43ee2e96ca486f939", + "incomingViewKey": "ec4e4dba50a24e74e003ed7056e30fed7eaa3707326b033745b9c3ba54235007", + "outgoingViewKey": "5bd2f16fe5e0b99251db5961e42d2e25b7b336ff4fa3c3d62a92135286b517b0", + "publicAddress": "65f5e04c2d79ecb9104e0234f3a338e536dca16111c42f7b9b20b6264db8d4a7", "createdAt": { "hash": { "type": "Buffer", @@ -1364,13 +1364,13 @@ }, { "version": 2, - "id": "ed945eec-bc1e-415c-95f4-832b582d4d00", + "id": "077285f8-74dc-4196-939f-1e3a9d707e52", "name": "accountC", - "spendingKey": "32c0418d4245b8aada6ba14b306134243453288fb6adb793c1bdef21aa8ce17a", - "viewKey": "75c9c9610c40d17caa5fd6725d8ea0494e7231944e39863947aab9c863b09f91adee1c77ab0d3bba27ed8b4bd6d3dea8ff85e732022110b6b9a6c1c98e2fd560", - "incomingViewKey": "4f41508b9628dfc5e7eba36c2946a940e21bea218f3ab0efb26ce463a59a8103", - "outgoingViewKey": "cb5fd8924fa4230778790343234354c64ce3b0d72e658d100be76d82494e6954", - "publicAddress": "5ac5a9ad08e88b0c391c235a17e2465ed54cd850df8d80318236432d0ba03be8", + "spendingKey": "f5f317f8b800f1742b051d758c184ee7f6c72f9149cfb0011f97654a0761fd7c", + "viewKey": "7140e64e596ec6c48ff92c5a216e4c0354e3b4cb44ca64901ebacee7ae49be5584572e87777241a663f0fc517ebbc06855f9fe728ea13eda0ef3f029ad984f1e", + "incomingViewKey": "aed95c4d1e29f2ff57f4a6bbb2f1bc1023447556dbd853357d74aca099771803", + "outgoingViewKey": "66f0e86c9755b6c57e7da535df46ce06f05e371ca9d567eb0a8fc03b51098366", + "publicAddress": "6b9a064950432f974750de3f587410221506478dfa09248797f019c49eed343e", "createdAt": { "hash": { "type": "Buffer", @@ -1381,13 +1381,13 @@ }, { "version": 2, - "id": "3da81e0c-fc88-4e99-bd67-aa6a60f24baf", + "id": "ba3d8d7a-8dc5-46ea-a8ee-36e189302b5a", "name": "accountD", - "spendingKey": "d928437fbab6d694488c1877817d23740f4dc560c33d47611ef30b08a1661d6d", - "viewKey": "21872a2ca3e6b016bcf33328d376e253fa8aa06d2996ce1f819b417b8e40e8cf1b42195cd8c7db70b8f2524f0edc45419f966c89473b4d81a29695a432b1ab68", - "incomingViewKey": "a5949680ccc55ce406e2fe8a1488d24c89866889b288aa244d5c9d94aea73705", - "outgoingViewKey": "b922d118095a61b38cd5631597c1c994b681ccb6ca1168cf12accb7e16a8eacf", - "publicAddress": "ebb0717c2321f1586cdbd81acc6d001d271eed0051b567423b78e6000ea051b9", + "spendingKey": "9e3e10e3cbe6417385f3e9fdc2db9c3f219561fdccb066adb3405fd19f9be76e", + "viewKey": "7d92a08a7ffcffe8def8172caa02b2fdec02e8c4ebd6b9478bf38b75c88a1b0cf1560fe42ea7d87845766413302fa7fd466f98b915f545bf0c99c5f88300cab4", + "incomingViewKey": "cf6ea22f4008e4fc4e970c3ff2ab0b849c173fe7df7443474f79de6a9fea5801", + "outgoingViewKey": "88bcb41d5a3d0206406158c2411bfeba6904363f410a0bdb13cebe914e5bcf26", + "publicAddress": "05c8de8d10e76c455e7ad85d63529ad6c08da0687a34efd5484ad9df7b62cb49", "createdAt": { "hash": { "type": "Buffer", @@ -1402,15 +1402,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:Ojg9jJ5Z6WEkCVqFCkdoib2OEXwSqGSavhWmxyqNYW0=" + "data": "base64:bn/wYGEalAP1RqCLy8+IQAYhLMaQNpiouEkZ4Evboxg=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:nrEsEVHvtaiU4pF59FQZ4ukVG2BBT4vfxAWGi+a/K+c=" + "data": "base64:fA3E/UbQS88V5czAds7aGlQ8qRbOMiZw6ODDxh7pu+w=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243707939, + "timestamp": 1698950274957, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -1418,25 +1418,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAKLWx56m+tD8EFV1VtdcijJjLa9LqIV6wv/c7qIfXiN2BAo7YVawnPeHxFsc5SIkYkZJh9wA0eQ9K8nrESkrSvFmJMC4srdFyAIFc4+Pm+VCB+f693vikH88UxiXImrgrEwbKKNDIVOtERGk1D83Gn5LBsup4G1VbCVb0BlPgeckA7ROx6q42ub1oOtEWMKX7yOrF2/FqshK1ECNxF52/yo8U8dPHsVlSAw+lFe3CbcuUxHaqcfEZ+E+DwcqMNRYMPntaHZEQzRX5BRBDl61jUa8JtlsOYlUOlNH1086GNQ+8JTFLp7hDyNzVSqV+62kH09WxTZevSrMwt7kubNZU0MuHOQ7hYi8K3OjSMdOH2YbK0HGQQQBUeWOyzvmn+RUh+qyyB9pZxA1373pcKJOe7OHXJPPq6nt8jyq2kSaBf7aBtoCAiIKcZQ5bakkKElWgm732WpHoB8QF8NS3VtvdB3sNPUaeTG6Zkj7XAW+Cfr/MsFORxFgOBTWQClQOlblhM8yEjAsKal9KtAMuAD9yCzguGKv2IhseQi5Qih0r00s946S6Rol2hXUqYrle7+iD41dDoUUIGzt0XH4AQ/wNqLmLH3/zWEfDu8E2mBNeaSIRjBi+VC2yGklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwHi2z5QKf9wsBq5kbEoXLUNRBaDQH98R1tZDc9aXJ7ecBPElBFpwy1Ipsqq9KojPTrMQzcE9GpUiOJ+Pt6f03DA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAFoBRtvbZlcXWzxfWvOIw3ZqEcVrOFQgI6HYdU8ghANCO+KXfX913aHDhBcCfbykWr5dczAImLo3ANG/9pTRMEvHc3lOs+izGggedFdeqW6uNKlpf1iEV4EDNkk0CNpCE1nJwIhkWDgCRnxn8cYlS9oDSU/BofNBKyLNyDEp3eu4D543diS6k1vUGu/ZY5aeK3zcBaX3lvECRU7QCd+pG3RcfYhxra7huArY79vnHDRK0dvrjKSORZVIap3bxbBDcP+enasxbq6T8KJe8LDar1FqxjKCgicoeAvGKMQHyHD/23X6PqEIXPtGGhxIV5lj4gWvL/ga7hJ+7wL09r/E0qEpOLweDlkQ2DdWmHmVIboVaUzrnwnjl2B0Awuf9a2kPCJOuu68sgLu2vOjignfcVsL/VB3Lv/pxhQTDip7KwmF8cHpYplafButDOOZTxsOa1/GGu3xDrvy0yMp7Gou92zUpxGRTmVIAItumZA07iETy49+de9VSHt5owH9XhwwSNrV5/dw8p3388lUcixSuDYKcruu27++7hK2Y6Y0gRkCKI1+RktaDsUT8kESqqpyF2ihO2dA2T4ZNqvSrrlU41Xe57bmtja6OEKaivy5NVi1mt2y0St1TUElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwX4DRiUDTKQipojm49/2MFAslfrMe4P0Ksvb98dQuB5AfS6jRcnkN9IoVq71U/IRL/9GRhgeP/60SeOFyNMdDDg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "FFB59CAA779314527E71D560183755B0E1A2BCA1992B9865D1A3DD239144569B", + "previousBlockHash": "F034D15D737046A6783F27B91CDD9C065B7F9233507B513F9DB056797FFBE413", "noteCommitment": { "type": "Buffer", - "data": "base64:33abf5X2TnfdOS0KFb2V7J29aw7yH+EegeUv/GLhRg0=" + "data": "base64:RZuWRgw70nlVxMNLuNslt0bwbE2PWZC1wUJxejiA2Cc=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Xc6qqpHnuMnYgAWOkKnXlBmsw0mRISjcAcoMIKSwIFA=" + "data": "base64:+i8fn7g9RHEnJPhozPAopXAIrsGSgPsOEgOx/ZD8/Ks=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243708205, + "timestamp": 1698950275284, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -1444,21 +1444,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAqXB5+2hBcGUJL3Xb+NhXWegBBA3nOqbXtUnzBMllmMKO66VrFJuQjsDPLUEysqq6kHzWitaBHs5y1dXnyIRPfxhmkT+WN4AGQhx4J7Yew9ixrZJYzKX/rv+Zptii7M/yKg+RpqXUTjm2xRpzjxWqb2CUxWIXP+qEAGK6KJskMWESIiJSVzyDn6V3uSA1+JqIyO6LaWolimTQicHUqIW8X1gnH87R/WMU6EdMUgRe4quM4jG0CBgnW1/YDg1ZpIcZ+U4a6kbiANyROxborx9LQDMfiUQlR+1xwTDB45nHJ5UWMlUVLT3KkLRePg1z4Wx5hI6GkR9wIii7iO5M4fU+uXZF8U7SOBmBq9wXxk2mDmmpf/aQqMiH1CfgbcNmW+gipNxsUvn4706vOFA5raWNF12eYBdnntIQ+hVXMUyuh/IwTXJ3JFOnGEr/0BSJDNts8QPQfljEPS9vjptuCAoZw/IHFRGUGdzS2zVEo2iVIr38afZ7X5cD3l0tKTFU7xMYxXsC6CveKUi43bTfg5/wLD6LDGMyFY2QbD9b7Dn5yz/DV99jkXBSTO85kmM8xw/PdeFBPlGpzAhuk+IJ2vDAXh/SWwjqH06QjFl/vL5tGeDruXi/kdxWeUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwb6HlnS+w7JrLl/Fv0AYSGLfUAsySsc3nhAgRayOI4TI7mfcMtXcXUAt7BjY9kUaks2n5pZO8JPctDjZdAnkdBw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAASuT8MmyO7M7UdV06y8oxcYGk4Xt+AbEn4VFIBqCxCaixT+RvsYfhKn5f+R6FGzwPE1vZOsllm0uC+zEYKWKqZJh3amzjaqcpDHCMJjhR3Kywd4cWQMXxXCiANrFANmxUZG+SyE1ZidPqcZ1EsJ4XhKJvLzyOtho5GXaGOtjQyO8Oa+C+bJsEr3I/rvuEtZUZHlVd3wY7HhHRGRRKi1iHgtmLRLVt00KXemssqKYGtK22oTaawnVRY8ncBjnLXQ+tcEOkc1Vc49XNZ2y2hMTv9KpK4Izr1g8uIap00FR0t4SNdOmGsjs5rsBxHAPiauNjp4quxzcbFa5bRAIYPKzFnoQ1aKdpbni5bPdFgf1HyIVE3I4AcTPQPcBep9b3X4FXijBGaBi6ilEuxL0ykfNzq//ZPRJSP6Eqa+sEyM72BQSzgSFKpmigKMw5HFBydgSekrHD1aumEhKBVsVX6T7f0Lgdu0jsepgwLAC3zCrx3FhI6sFwARLYH+kceGtaB3bZLe1QVQ05pVFF/wJNr7WeIENyLpDix8dha5e/CfOtzx9hBjpnTKfeY+NwXPV04wTRz5aRSzzk1BW8sZ8h5ab25NFtOZp6ZF+d4/wDOhN9y+3aoqUa95DyQElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwiI8tFPKFOAZR91t4255/k+7yWbKAgssFS/2/x2rrC+KIbJa1QMAL6DOvHLA88HtBtfFQNp9Xid98QDnPLVAhBA==" } ] } ], - "Accounts getLatestHeadHash should return the latest head hash": [ + "Wallet getLatestHeadHash should return the latest head hash": [ { "version": 2, - "id": "f757b295-3c1c-40d0-aac4-1ae4602e938c", + "id": "8984c7d6-85f8-4472-b7da-5456fce55a86", "name": "accountA", - "spendingKey": "ebd3bac9254b5abb39c0ebede4b756b1fbdc2fe6e67f4b22925f0d2e1ea21b73", - "viewKey": "d453be97c1ce66b6a471c3bf88626c95dff75993d7b0971923dc00cedc2591d7b84dee4ba83e364ed1f20b83341fdb81ef06f216839e0be406d60745d7ad6631", - "incomingViewKey": "3457821d5a9a10a20b9dc3a676b2b396bd43011137e278ef742de84de615b305", - "outgoingViewKey": "10afb0fbfeb71c0146a6e7e375baa0a94b1eee1a8e7bbcf400ea490e5b912e70", - "publicAddress": "93d06699bad0579f250a1a728f783a69cb62222b2ec518857b9f6adcff5f5609", + "spendingKey": "cb84d5efdb081cd41a4bc5ff8033966dfc0cc4d0a438c8c172c861fc6b54c411", + "viewKey": "f12b1c6a98e3d2d175963c005bfcd4313337a9dab47cd90a39824a82ab5733019e2c4ec8b1f52abf8523a63778e4986a0476619b97bf46ed5eab1f67d4be83c8", + "incomingViewKey": "0b006095445a3dc831f7997a691b2125ab0d899d7e63129b8836e7ac25f18e06", + "outgoingViewKey": "c8badcc0bcfdcaf6a6644cbf6f6f2eacda657346b45e12b9e748bc3574b76522", + "publicAddress": "e82197d7f1237c587e08811748e6e169cea531257984a5a9576b17bd62aa3a13", "createdAt": { "hash": { "type": "Buffer", @@ -1469,13 +1469,13 @@ }, { "version": 2, - "id": "5a2e91f6-9382-42d0-abfe-3459f6ce23b9", + "id": "2beafd68-e688-423c-9578-33547a8146cd", "name": "accountB", - "spendingKey": "aaf7548185b587007d1e9407ac15e5f1acd7f7549d71510de3569e86b6ab197a", - "viewKey": "ac8d12a1b072f94f30e99f7c920b558a340e5357e8cf8f9df82e21a4a7a623e937fadf0206a023579658b388e47aba393f583925e4301ed5cdc1d0db16b99356", - "incomingViewKey": "73be91aa917a72a8cc9fecc7570e42148a4881a2ab329a67f8a5b37950105600", - "outgoingViewKey": "3682ca1ebc22ba156db6e8dd6f9e46e0170cf70a027462ef8311ea333e294b83", - "publicAddress": "9ec80b9a5bba93fe409540b9287b6b5f72a754729ae528c8f39c714dd9c83ff1", + "spendingKey": "baf1e27009d07f8f66d784eaf3796dcccc6020260806beb6e14447df94643820", + "viewKey": "eeb9b8c3b76f82c3fac9e7150823dfb50ad9aa6d5d6a0018be826ffef77b43f3dd61fd2cee61f5d110cbe112d1158c3ad9ebc43ba40eaf5edc6e36ed0dee6647", + "incomingViewKey": "5c599750df3e5566b6a43337fa8a8d76d36310f5be97e6fa2a1bce419d5c7e03", + "outgoingViewKey": "51066fa513fd1c4d43c3748bca4c4deae3cb5779875efd9aba727b083a51096d", + "publicAddress": "a4d4d3f12e5cbd9ea76e8c3cf60205ae1092179311c2256471da23897f0e9e0d", "createdAt": { "hash": { "type": "Buffer", @@ -1486,13 +1486,13 @@ }, { "version": 2, - "id": "2f2014c6-5389-4dcd-87ef-3dba36744152", + "id": "eeb3255c-9301-4165-b7ea-005e3eecdf0e", "name": "accountC", - "spendingKey": "baca5151596ec27be82e6d77712fbf92fddc638ae869eaf136db3a6b14d44870", - "viewKey": "6136f8f64c68e19f40bfa5f817fd49f4ef67abeb5b24a95d20985c3d2e7c9986fc9f4d97ca655b298566a68f8a52c700033ef24b2bef98e63d5d45ce293741ca", - "incomingViewKey": "c3dc45ed4f6311421b2258b03ce8d23e8ed1e617f32a8c1175dca41e6de2bf04", - "outgoingViewKey": "6a184332d5ee5b4447a2073913e574288ec6dfc69da8a938d4c4be85a85ac315", - "publicAddress": "8db904392e2245d8a2261533ffb8d03e4055b1ea9baaba1a569c2f995fee9ea9", + "spendingKey": "ed6bc6fd857d8cde9d69bf8df2d9d65898312e63c4d7174653392ddd3447d7b7", + "viewKey": "746df3b5156a54e95e2c64c1d22f72830b35d1d834f7d77753c69b5bc555eeae84ff2758644b02c7c73a5a75d5aeffb7ba4682a8e143ee70cc063ce5acd15cc8", + "incomingViewKey": "95ec1e69d417d1584ad1cfb2c0238f24c947f537e1de359dbca2957c92527104", + "outgoingViewKey": "14dbd683dc21fbc9b38bdd4f32f55931bf57d257228da43076b522c03e6866be", + "publicAddress": "edb63f39a30343c58783ae23fa82340add30ff33aada0b3690d13282edfaaea2", "createdAt": { "hash": { "type": "Buffer", @@ -1503,13 +1503,13 @@ }, { "version": 2, - "id": "5d929af5-687f-404a-a3aa-9f5e588b4836", + "id": "1af7394e-ad47-4346-81f9-164014abbfd3", "name": "accountD", - "spendingKey": "a5bc4a1377455db9d6ecb3c21b379078131a7195e0f6a3df98b22ce9d67b14d6", - "viewKey": "d46ef81c9ba0b9c21aebb389718cc8f511858fd2290373a887a857400a5e4fe8436917c629ca32215f9b11877f83daf0a81dc6ee94009281c88ec25b8ea53be5", - "incomingViewKey": "9eb697948b0945b79753f003bf9e536effbefed629ec3e52211a44bf609b2303", - "outgoingViewKey": "d4549bfbd6bbea5ee3802e9cc094814675cab933d38465424cd50f4493ce257e", - "publicAddress": "3067c7c410015ae475cdd3a02133048c1d1a21127d9dd24e19aab8f5f7494e98", + "spendingKey": "56cb521a1c31a8cb52ca86430e24b13d7702350e0261bd03acaa8949142340ea", + "viewKey": "461615ddc5e41370eb7dd488331d1e23b0a1c63e3b2e3f7e90fcf183ac9514ca7aa478ac7a033eed5430435287bb31b1b22e935e2ca3a8ced20ff8acae03bd0c", + "incomingViewKey": "50e8a40519dde3a2988bcc95d4078ac0397f42d4f6c5295bcbc433ad04bf3a06", + "outgoingViewKey": "7c3831d44327cf2d849c5ed946f04acfcae22f0f68eba4d8e528b697ebded1eb", + "publicAddress": "46f9d6d551a95b6036f8cd1f851da97c30e4b3581ae3e9f9102a071c508e4f03", "createdAt": { "hash": { "type": "Buffer", @@ -1524,15 +1524,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:lDy4rPPEa86QQReKfxNw9tk+9qMk9hAMRx6u2o8MFBw=" + "data": "base64:vuxuxG+5HIcEKmM3xGdui/1/8H55CX4gxZ+FhLYOulA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:vON17xpxMygId9M4UXI0lSBCdyWZrPrnyblgQI8Hd5g=" + "data": "base64:Cmxn92mQ204qk4mgsXoJgiOV5zec0oDcxMPCH3on0jA=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243708539, + "timestamp": 1698950275617, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -1540,25 +1540,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA7zG+DcvmSVR80bHuIig63VtIoqleSwd712U5YXF2+2Coj5ZdRrqgfwaZWPR2sjRoytc9P/IipTGBE0XDBb6gDEPhwRcIrREwHo4AdYuzhJuVmJQhDIFes1X69Jrp6tTDHEG4Swb6VuScT8ByGdgndzBzsYL3UjIX9cURx3RJhRsJb9Gaic6RadPoM+oqk+bCd4wRKbd5qEvVaUP0yg9Nj86ET2kNVL3QHLwcvxFcu6KBHREqGAFGpBtIt7WE+i9CaDVsnhi3h6MN7OYz8sWLsThCueUZYzpC2bdGCgOca0Rnzo1gXObl5jwQXhuWYb498O8pO8NuR5Sdmx84uvV35Ys040w6cwqukJuJhIjYXUuVsRGfi+ePM7lTffORj50ACA7Amkth5mGxHV8QeQmOV/beumrZCWR+9a9KrxrXc43QMJBgJRqZtkkI3oyzrbvMgC/TM3njxNs/wFoXqegNmGEdolgI0WTKu+0m4ilGWA+0PWR3MjfuMp7YITPByC8WDCvpuTLdyaEtOViUIEZa//X+mi/tBPDH5kID7vhhBeZB2g7Dv0ST7zPAPXAXZWs6MMeiLfUawD5yCF++589vznY5vQy5uUN4+Lrv0VAKcXVI0LER3czJUUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwmnMevD4gUNuNvIIo9ZxGFmJwT5lMM49UAxubILOOImwUHe6ZirZnPgYjFdHBprMr6z2x/zeQfyXMAXckY6kLBA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAVPoOfWOjvj2fpqT3E1j45Uin+7RN0pTkZQoHU/6TYF+Y6n2j2eT/McX2K8gI1SJvBkIWNG4JmhY0/qDKc0QCR0BrvEJxvs4tYFjKRv86NAOYM6fA3jrtdzCBoeZCB0TwlIngDTlTCAg5mv5MrrgUDtBdKWpcRw2+13XG5YLmNVQJdpmaPR8a7DHLcdM4+z44Vsoh4rlJBlQnNa5gL3F/4Ch+wwKykE00BmRjXfeOE2CWY7oJcllla+vdQBk76mcJTSVLGuiTzl+4ps+rl2nax+n55+d5gE8k4Or2bMSYqRI/dNL5JVbQZpalgVf4Gh+hJo9nckv9QGxYimNQXiLXSqi0wfvuivxwyEfaTrHvVVTyQfqONa6so3GsWyf1Nslr+au69aWPNFISocX+gwJYeVgaEpvt8acjS8Db8FpcQnAnGlqGTcWZvwmj5p6L/a1LeCqoP6ayyCZkz23MSTHCf1GruqW62XE3bXu7CG39YaJ+BmJTR9g8vTAGdEJOPHqOZMjAxtCsDGkr7k02ShMvFKVEuk7FuDQy85oWe22DKUc+2fD1NCAQ3o+DXJjcVnmKNSL2sh0uFr4t1AibS/63C+OvQTLDcgqT1wNH+48J4i0uzuyT9LBF8Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwtmQevDRqUlOcoFuFXuzcMnm7TxRq9IquC4CJ1uBMlEdTR2XVueSu8HuSdEA0AvMDExL2Bm0lVlSCv7H4Me10DA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "24BB6769C3E623603D9223B757480EF4DF4C559999F71C5F823F86F6BC608567", + "previousBlockHash": "4C0C67665CAC2E54A65A1CCD497A0CFC87148E52EC241079CF9296BAF31ADC9E", "noteCommitment": { "type": "Buffer", - "data": "base64:nMeuJNEvI+toixB2Q91w1Z+2/EksY/zj1FDWUoSGf18=" + "data": "base64:xwi0lrRViWk19X5BCahNVjglJuzlG/5ZOo4+J0IUNDc=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:0MHOIovzuTplRdwMqXhudKQbPcBKFgjuVOaCbeZFgtM=" + "data": "base64:xvZv/wBjc5D29FglrlbBl6VQFVkVBPegZc88ToPSNGA=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243708807, + "timestamp": 1698950275939, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -1566,21 +1566,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAigt5sqxJHuFuHwbOE4X9NRp4/3ebqofDBkb3s+ChyBGhkJ71uYGCml1XP8h6+61PszCMkOfLPEroRUyi339AIh9eRLd3zunK7cQjoKjdhQWpdECGSm0Y5xuoXATMr6Y08JSlfhed8MkiLiRVUBLdT/f+3FvyhWy4lSHTCtupu4ABmyCpMyw6d768EfJ1fyNKYx6b5IZjSDo6kTEq9i75KJUrraRMun7kW2uDhhiQoH+WjxUzcKhfNwXgQNis9FDN+lZfHD3DedNylXPeGzqe3qa50q1G59yZkll/7PT8eNCjtb2qJkRH6cfkEQGp7DPRcffRHyUmmMRZfqAak2wN8qj3kc+DCvsX5R74V8PQjRVhP30ji/APtRLrLIB57Co+yNPk5fmj7ykc1ZQTm+PkSAZIwI6Wu/zM7c9wfHUs3QBBd7Xdu83BBZvu5A4+gBP3LuLlVZ3cgqBcvrgw6NhhA7Ojtx9ZYJ4M9VS5XCrhBRj9p0QxJZ2E0gvBFY7Vz2Ow3xY2WyF5ZLh4oCQsMZdl44MFvPytyNdnsAfD7FTtAoa4KMRTMM6rV9EJFeZwc5HL2ZhTMS42aOgWwpF3+3i9uEIZN5tU3rYBKOhTXrDxi208ah/q2rQoKElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwVb9J4MEzlSw/QUL1ZohOUAAj37RN4bloKoX0i5H6jrEJHkUvG6TFOCnQfblQwAd/LFGbNfEb8/fnW80q35wpAw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAwdbUHOrJVqSULKUIEx6Cpvdgr/YXjyvwcM2cMy+T5FuhCnnAQGgrRs5i3AopzahZHkuJzwFYG5lYwKC0qaYnn7/YsIOtj2RxtzONhdt+XuOl/sWI2cvvsnBZuxROnP74vlhDmZP7+4BNGUoQsX0hB0Rrev0jY8oVM3fUZB+Umg0IXk+4X6PCAOE8Dxvex9eVy6AKWYXxx5k3Fm0WsGXNpggaccnY5+Wmaw2o8vvltCKZY4dD9F2oU6/FSVxmLi0gEYtrdp16wejfXhQOXcp6k7DEwlVOaF2FkrJkCld0ccOvRTDTvc+tD3iGADaYwJ5ZVO4n0/HnFifYz2xyZMky6fChXxoNG50EfyFdcShGf1xBSf48+yn4ewXsZwmBr8YZIVxD1Pkb+725qm4iOwVo5aDCXmoZE1NF6mKo3rJsZAUpEQMkgdifiVifWZQ6nQdzYtf6N3pNE/jZ5Il1PoSzJoHyvwFeucIdHnGh5Ve1nK2qOaNsTco5Vbx/iAKpc7lobgpcO0Ez+sc7kipZMNvSwIQAHmOWXHGNAdwIBFCxfN7Q50PPqY3VaGZ4Y2P8Rkvx3M6lskMXwaQR3EIbAH2WiDOfjvYrwMyh14T6mciw8tVxIQxU+aFE8klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwlq/foPKXoLCS7b/J+pZQ/br6fisJ2S8gmzyxx5AXVOhSvXtAGIbX/PaqAW5bAEfgea8rCDB1Kl6FkACHroTEAQ==" } ] } ], - "Accounts importAccount should not import accounts with duplicate name": [ + "Wallet importAccount should not import accounts with duplicate name": [ { "version": 2, - "id": "841abb17-465a-4461-b173-80c7b955b2d0", + "id": "387335dc-5ef1-4545-aa77-f37e46e9c597", "name": "accountA", - "spendingKey": "bacc0edb378c83c00d010b1d89c48ab403ad1da427b5a40662ec5958afa2c75f", - "viewKey": "9f0531ef13ffacf87681c255c6ff99435cabab8af5da4131425d1637375adc4acf378d53e7c91b16b31d77613eee7252727c71aae47ba6c7027b94861881e5c2", - "incomingViewKey": "1dc0047a0cda31a09e6a604ffe38584cba3505b8006b273f77de6c73f95c4602", - "outgoingViewKey": "4067d2d0c78317b1d4f874eddf5cb49cb99de1d942df59b54442a76b42b752af", - "publicAddress": "02029dc19e8be66d9caf209f637ef90264f85137d4626f6a1244d5bb3ecaac35", + "spendingKey": "2cc549c4d8b5b4b5b82a12d3c880776ca67dcc43d562309d0bf7b2671f68c374", + "viewKey": "bb7bfbc4e8e5452a0f4a31a38cfa6f5ff3ae171e809f79e6d3594442d31af6d112a68dcfe2f21839f5fbc13caff2b53ac988884e95472c5f605773dc4b7cb5e2", + "incomingViewKey": "cabe7e7f66700108dd81486dcc1dea84e83a0a59f7cf0d557adf53cb551e0b04", + "outgoingViewKey": "f0f195a378eb3479f03287d25fb7ac27562ac378ab7385b7117ed51a67db6b29", + "publicAddress": "fa3fa1f33229bf4e7ced05155e79cdf14a5bd2de20b1d0d1b0a6d457efc7daf0", "createdAt": { "hash": { "type": "Buffer", @@ -1590,16 +1590,16 @@ } } ], - "Accounts importAccount should not import accounts with duplicate keys": [ + "Wallet importAccount should not import accounts with duplicate keys": [ { "version": 2, - "id": "f281d680-acc8-4956-92d4-0b83675c4bc1", + "id": "4cfdbc11-ab01-4445-8c9d-5c3fb60beda5", "name": "accountA", - "spendingKey": "9d6b7a099057ddbc35452d5c2d97a52c1c80387324c676c6d3794724eb60fdd4", - "viewKey": "3395a3267325a8126f9e2f4b07f3bd6dbaada2c1277ca8af9caf75f5c64df1caf079a15428576fa870cd4f3ae7671b4ff189758a0d69c2ff702edae7e971c4a1", - "incomingViewKey": "c2b500faca33a74c559493f2e23124627891ec3a636e8fbb2643a52bd46ed600", - "outgoingViewKey": "2ebe44a14261a9f98e98629ec9c7c71e5b74fab19cd8a65d2289d65919658c5f", - "publicAddress": "e6a935446470549f96a0273b211396936c624d1e285c0ddc0a32f891f28e96c8", + "spendingKey": "af9a80c492117dc647f96e7df01689e21ad89b45561cf75a9c692137b9ce51e7", + "viewKey": "9abcd57d7eb20ffe83634256af8859231843789c6c26129db52929ccf796fd202290d874abe3ad6ffcd4c6c04aad1b89451a6603b58d76a24acc29664cf7d005", + "incomingViewKey": "1381dbfd77f24402579b758c688cc9cb140414138ff625405e4005b839274905", + "outgoingViewKey": "0dbbbe0974438db8673ab87e75f5995d8053554bfe8862efc6d25c0eb2e2c084", + "publicAddress": "76fe5e115079dd6d286137f0c9a023c2fb02bbc0a45d4c3ca57c2759908c6de2", "createdAt": { "hash": { "type": "Buffer", @@ -1609,16 +1609,16 @@ } } ], - "Accounts importAccount should set createdAt if that block is in the chain": [ + "Wallet importAccount should set createdAt if that block is in the chain": [ { "version": 2, - "id": "28227ba3-1c6b-443e-bc11-0974e1a4f434", + "id": "2eaf323c-6502-47bb-a41c-9fe50d81af33", "name": "accountA", - "spendingKey": "b3fa556b18303dc4652c1a06cb2131d1055210ffbd3ab17d0d4f7a999e1fa1fc", - "viewKey": "d1492439455af52f568ea025111988d73db7e9c0142e96fa23eaa49818cc020632801d12e73c83058512544863d29d7a7782aaf8af106e5c6582ff591c87a52c", - "incomingViewKey": "e4606b2d2df7f86fcc8a6b064bf61e00ae6c421858871ffc23f45aae47bbe305", - "outgoingViewKey": "2df9030ecf5b815fd17a72fafcd418ddd1ae1931d219c833d71b0c231fe20f35", - "publicAddress": "c140a07b17c2dd737c62cc57843b773f28c04120d5d9c14b04eca94e072d2266", + "spendingKey": "061fcc1d52c53d70cc13d6cbe06ffc6a92cd8cdd65812b86c457f6bf2b62efc5", + "viewKey": "dd26b384a9d43722623ebb65814065510ee9c3e0e99cbc175887dc4082412db81732f6e74784a55ceafc5561d3663e07dcc17dd51a7d75a62f4b4117a4561e96", + "incomingViewKey": "bacfcc9c0f16bdad7b470924524008b5be6553e6d3c2eeafd0fdc1b7e9576800", + "outgoingViewKey": "1254bcfb53f2880e7294d5caa976624513c5e3ed37bf6d3dad01c5412aefd855", + "publicAddress": "eb5aa9987bb24a569332f745f29f4b8ec17762348c9c84f5029797c1b03ab56c", "createdAt": null }, { @@ -1627,15 +1627,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:SgTFToIRxWIg0KM20tcKei6LfyhF/mmyXVkuFDyTnFY=" + "data": "base64:i0wO5YF6+LObmNvYuChdUATouePiWxVOllJ5z2TERmU=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:xGiM9gF4PCSoXuLD//36VuY36LQu045TGdiFhSswxYE=" + "data": "base64:dLUs9VD0eykIEurmnXP/DM3EgegSZrmdfmOKz9/Icmc=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243709462, + "timestamp": 1698950276569, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -1643,25 +1643,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAujXodw0Y1RLVy1lSK9QfJ/7TUkJvynlO+qJnj/aW/lK1DpOAt8MUJN0zIxfy50gwLi8jnkb9K5lWpndHW2TKcHw2yRX+jIXx60uDy/8q1A+SOoJCeGO0wMIERzRF02sQV/Stc+8F53cD8qN5RHNoYhbxL8lrBhw9P5WoTVRY0+EDu/ILJlFuxHq2+E3oBfE2QoDQYnwfos4Gp7YpQ/oLsUw5PAGZX3y1xUkEroQV+AG301QMtUgYzI0vjoVj2o4Y09nCcZ3ed3M7VlD6WrWS10LsqcLSELfSqw12kczk/PRdI3KVnWvVS6g2C98rHzqYKIeklxUGdSbWFeKzn1fuSd3/q+70Wu4T4Xc1SwHhZWdVr4onVSTFyvMU00x+jyFRd+4PY+kBMOaK+tBPRq9K4ANmiDWHvCS+zK9dYFd+PUFtBv7mSTlexELMLfULd62Tz3DGv2U/QggnIvNH3+4KsQ3iBC16c+K42sO6V3PYrgPnwCnE8J0jADs+tJu556IGDbpKps4J/FjCnmdM0W0fcGCAJ9a70di1rcyFHHlVy4CCKQrBMvXqJIabyDg/nRCuWa6GhQ1znPVKtVWkH9laqyj6Lg43TX8nPNleqaPvgCZsOob0A01+N0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwrMduaNnJPIfUuMN9YzWfdGfxQ43kTby9lTwYBsuseMjpZcj64ExonigkhFXXzi2KWp7BP4Qs6wfwjGxei9GEBw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAApDcDr8fod0vo8eRh0Ul5+XTU4fHy4O3VlBEjfIVgeN+QfK1fin+cjwKTYFraNP5yz5dOZvP3WvjZVPkSsam8qRE5+8jaOjx+NXdw1Mx7G62szj8aWvWaVSE7UjW3gExLgH061b4xFTRwoYqPEkjwri410y+Y67GNxVPYY9/YdFIHFysYY5uAhXxHBxIHI8WsheHjQDk85u0hGQ4nB98CfH9DybpucObmk2lZlnkohjq47rJEhI8vvqXrX4lw+LfaTPmxkSpI2F3r6eq5Qy1Od/9jwrjS1S88msTXEExccl/1WyqRKNyns4J73G4X3w0lEBM5B5lPO2BnfCt6rL/12aJFVEuLg5wMNAQ7Aqm4xOIH4uKV26G+mN85RfcQsoJIjU9eerwIEgNvOWIDiap5k61cEduhZEqpSRGxdgaGoAT4P+b0YVz3tpBwX+Rp9/DawIuE7j8jqorfAII/i0OnwntRvn2CQm6FIMe55ScCQ5FZeOECT7Q2mC/pMg0SMacidNBukhK4Gw0EDID9havJ7ImT7LHyls4QddmSfA61qTGimwpv4OIz+gW05a6CpeaL95SsoK6QY5dGOFtzINmJimklKQNPtY8L/egyan4P2cT7YIK0FKvoa0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBOlKIity8i5iVqaatJX0qryDw4ZO+ltewVnuvxxhuG7/xAVOkp2YyLk2knGeGKePpSKQzKsfPPsFzToHUSTqDQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "E67BF2A323A010CE3402B186CF74A00FAAAB10D7BB9806713C6F10292A90436E", + "previousBlockHash": "BEA33E437C5CD16DE1309CA3D749BDCAE235D9EF2A9209F06574395E07471846", "noteCommitment": { "type": "Buffer", - "data": "base64:uiQ8+1ROVAcLBWyR1XEXFlHuMh2r4b8DKYplNvYjME8=" + "data": "base64:DvUSguOzQWNq/7mGGfc8kFN6454qsvdUrqmoRuUcBTg=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:hK6ioeFCm23mHp+reLnOQRNAxclkI9GmTH/2E/kLLvY=" + "data": "base64:bYfjWHCuuYd88GMB5daaYpUtiBIwDJ12rh6kvOQPkXk=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243709748, + "timestamp": 1698950276862, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -1669,38 +1669,38 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAKsI88OXxYfM5ulybC48qlpYvO/GbYFB17tb+cMnKNzCzt/uu5qkMwMxmpCrMIwV/CciNG/zWrz7Aqey2KMtFXEzP1DsaqtZ0aLyaFrq9S7W2/B5nRdl3Nw8/6qwkpgRIEJ9lLbGcLtW5A18apDZQBjeLpMy8ncGf6Qa5+cPZ3eAFGfb4RyhWKTrvEmOUZi3Ruk86Y11OSJKKOV0n3runino0JalKJy+kOkl55azAPNqQkfUASAJQo0e5OAu48i6eXerhc0XMoBMHepmvhIboZDsROzV3QQjsOxOwk1e26e9njngKJiBfiJGwJbsBAImM1kEo3h76ZjrsrA89WKAcThw0QIbP2PDrnjwmfkfvcNcezzBKpgpuo0ak9GB05MpTcDOWslCGOoGQUAJtzzChJRY6Va+97yYeN+PjEkjLoUTzgtgKSHSltAEZCxxugLWGEjqsotoc2qkY9582yzI6F6+Sl7tEwFDnl1TbHgYB9xtBAjT5jh3wTC3vWZI1zBdudAbgDX9s3PRMw4m0lBEv0GeW3Q/LLROhFPjIXH7mS/KkzsNj1VYWINwh7J6wHhoFwnSfNnNm5MFphzCPNfoTqzkuLCKJoxMd1jKeeVld3ahDjleN9+bBnklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ35itvRc0FxSt+nYalbkoFPD6F9R1q5GT/65OPbotwiwBmGhIma4fUYo0Ht1uv6+PpiqbSarTLH+nHF8Amg7DQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAhZ+CSpqlzw7PuBDmlDyA6dq9iVwzS9wZ1gXS/htMxFqEnjYhoDjOjApyckpdiG/YJX19EU2jKTIxT1DfB0z+JmAK0xw7/nJVYgwvtaJx7kqyKJYnL6jxsz/tQbA2Iex4pVX1fRUcc/i8bG5OwlVXy64Z84OPpVYnuuTzUIemH80QobDHU/quKl+J5BAVr+5UNrebhSkoFZ9B1nOseD5vKP+FCtqICzzqJoxDGfMbW4WuoLSsf2ZQIBYaLoBUkR+vxmwuWTgonXhaAJXA4+RPH7V6hxyMCx0sPr+i+AKU4kQfAzyImnQt2taCLKtSD77Mn5QjZ4k+Wouca8RysWo9Ee8DOIIHsxnUgQmC4AP6jkInob6Xnp8sPpYjOUtigVstS8Fim+3zrEid9V91AQuZn7a7djVr2lCvYP1YBeT5Auq5EpC0OQiq8mYCuSADWbdmdNnM1VwMBb7tWEjOVDc674/ZLi7G3G6I6o3tCzDF6nroWr4q4BBl0SDPbW0sDCDyLHvrrGm4IJwgVNQzjjHo97ss1QQlOh7w20JKuQ8o/Xy5IKnV16TU4Cod6OHJ3nkLF6aLTtpZCKk0vtduEe8O1AStN0JrZJULOqzx4DfXxGpQtZVtv7h63Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOodzkTJNFfv7huUrd5/d0+jEDFBOR/89XV/pHnQ9QHG0khXB49QTwt2SPSKREqVkGlpT1C7CIlybXlzAZlyABA==" } ] }, { "version": 2, - "id": "9af9f976-6908-4c7b-9dba-ead621a30105", + "id": "b1abb849-00a1-4e67-9dfa-f434712da5db", "name": "accountB", - "spendingKey": "23d1880ccde32b4a0ba2a97bd87ed5ec2e0a3345b6c93e1351b2ef189ad99dd9", - "viewKey": "4e1e5b9b99d3f1b18693da8993ddab96b13f5ea1f974d680d1b3a1e84d01d3140402cac8917a6448ca7a8a8687e0322aa20097b8ac02c6e8a4006d1cb717723e", - "incomingViewKey": "32c3b3ccf9b13afcda8b1725f42a0d429f4e4d5a4036634050cdf2ea009d3704", - "outgoingViewKey": "f2d1a138737ab47da0fae45dfd89dcb5cf542a9e6b5596f1ebfab1fcab637c19", - "publicAddress": "076d8a84c226cd2f3432cd33aa82701d22598c39a175c9f290f32471dcdb5316", + "spendingKey": "e3c58674c608192ec417d6268b6e7003502a0d7ff0f2618f0c34008b60034f43", + "viewKey": "2bd45ea5909691d6aaf1c56328bb8045fb12441efa0e90a5a6c475154a110e72ee3c7bd5f688643319543d105b607f3862765ec96167f3fa0f7f0e401d49e113", + "incomingViewKey": "b1afccab98c89f40f0f7b55d88bbaceb923e6e8b4abab4ae79d4a13147e59203", + "outgoingViewKey": "93347a7f726c338f34b274082cf39e56b69f2170873bab3dd8a47987c1aaa795", + "publicAddress": "64367f527de111ade884055f04be718fa79fe0f88d27e633926928325cc9ca41", "createdAt": { "hash": { "type": "Buffer", - "data": "base64:QGuI8iB56e/BU/a7AZv1ZAZyPiZsdOfdY2gZmhOE0qE=" + "data": "base64:mN6MxeETJ0XqtZtc3/u5ysRIO3Soc8jK7+odPyzG+1k=" }, "sequence": 3 } } ], - "Accounts importAccount should set createdAt to null if that block is not in the chain": [ + "Wallet importAccount should set createdAt to null if that block is not in the chain": [ { "version": 2, - "id": "e65c1318-c7d7-479a-9fdf-7cbf5949a8ed", + "id": "29b320f7-3e2c-4775-bca7-7faec4aae989", "name": "accountA", - "spendingKey": "5d76c1381a9fe9064aab78c0cfb1dd04f7905ccea5101ff8ebdcd42db66d9ee3", - "viewKey": "85c24adbdf8278b04a9dee6aff2981331499bf8eb8245cef78113c6447f234eac5d808df9ec8cae09ecce2f06e91abdf32aed80320fd4743bb05d5deb401a721", - "incomingViewKey": "d991da50a16b5db774e24a74579e18c3705f0dfa9adbf30bb3e4efa1dcf8da06", - "outgoingViewKey": "cc16b5cc5525ac6f9dd3a93d7ded2685246a9171c72c1ab36b90097f90ad60e9", - "publicAddress": "76ac33ce784165d710388c86cac038432f075a85c41b288d31e2336882ce76ee", + "spendingKey": "6655d73082d60d7fa90f5c4155b95aa7d586f302cc4c587700a83734e905bf30", + "viewKey": "abe86c43c5e656ba5549ca2e6af59a11f1f1831913e24866c34d9856a5a446a4ff7ffe2bcf2138e0f336039d162eb5d066a0f77852fc2186885a4831418b3100", + "incomingViewKey": "f3f8a425d96f33a8846e894f7813f47b2b0e7e01d3795eaa70626c469ed6ec06", + "outgoingViewKey": "14c11e3f7b3a0f057cb432441155f5ea824e54fdeaff44d76d74dacd8116f8f2", + "publicAddress": "f587d7821c94a9bb17a41afc07da5cb91300af2990d2acbe5f33bc0fd9b6f55b", "createdAt": null }, { @@ -1709,15 +1709,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:zRZ+MHI98gMHfzQk2KYr2gi8u71mGVDc7Sht4E1i5wo=" + "data": "base64:USWr++t3bKZLoVie3GYqoo8t7C44dx+Ye5pg5iDGoHE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:KJ7J04s4g/FAeK+y7KCLHSJsIo52cvpt2brg28aelOA=" + "data": "base64:nJJcvdKncPWstNDzcP3q2WdRoRCHBHzldAsc32berpY=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243710186, + "timestamp": 1698950277292, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -1725,25 +1725,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAQCOcmMU8WrgmwWKPdYpX9uVpeCaXPw+xXBHfQeybwViEvcmo9IdFpN9pk5ycfUsLEgDfFF9o0JiBLtDZjwBrbmG+oxgjk28yN88chVAevs2s2yBJGNoVY1/NK0MOi23tjzgEVht++3WLqPihhrMgzoxBfiJnZHKOUSGpjopLnksLnSwqz5KrrSmD8Pahs8W0L9MJpi7t07gUL9q/PTxJXqSiUZ00NKYHz7JuG81gaZyiP50/NaGSYrBGNqaRHj7KF6KOBZTuHnKTWQJ4pW+LEm/z63Cob4erem3W9cfykv0G7a/lK+6fuM9/BRWpZrhe6BeYach4tvt0+X+/Hg/zKs2ZLXDKSQ0dhH3h7Jijp0Wc5kVZzBA2xSX+e18rsG4QSewGLr29Tme1FMsQkRAAw2pkhX9DmdP+Hh+y7Z6iuIFLJQhK5ebydSejjfU9zf7rvcE9Du4sFfGQR+RvA3XvYhoKp6nZVYztm973/9gSLCtiIR247QUni6sMkzrN5cvtSEI3R7dD+oUQCj7jVrGwhplHjKe9ALRlnT6+APxemYWfnKnEOUSvnlJaS+XAn1tgq5xK9bXyA7KG69+OMYlmKaN6gmHFPkO6eT+E3bSXTorSiQ/1S5V7ZElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwuHuwuziqnfHIHY9m39DD4IzzrTQaJ2hlYmqawoU5W0BjAgYWP3674zWauusl7+gqkjkfZe8iaQZISAfIkVhuDg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAB5yUwxU58H++NqAv3rr/AOJtRUdzgDllet5MdGPFS+23qJoSCgwoYNqtEh6N5xxL+FIhRSxuAZST2kQBpJjAyUTNYLmAMUE155By+94fOry12+v47hGJil54Spd+/QEdSlDBFH12lhrHwqDZzuPqdWZTAqMn7quHzb+2WralaEIZ1mOm+qu6E7JqSMYnNiWNMKOz9ucDVrGPN3tNB3lY/APxy1zT43Q/NVMcPY1SEUuQBrf7hVecE20a/wEMmXvLnc1jHFgKypgzhvmEgmP/yd/tr4CfLlmyEJn5T8gRQKky4LXsPiZAJ91UgE6dJtOZtwSlsHl/q4S3qdWNIQJ7pxjnQ3Y0Vhv4z/uxUgnPa9n578zrgO3UnvPAF7OSHttgUUp2Y/+NUFMn5VAYWaXeHYug91PW10FBMcNW21augZTUgEJv9ChXp2RJUSVcgw7qSgDmWZMOTruWKgKq/xN8wPpUGj5oSeRdo3hquVlI/IUJv610QyqEXgHOVx+rsstWKNFwIpthXefVs/8Kktg9AH97GvsFMYxeEtNY/yvyD6qXPAFXQnkPbrldb3QJQBJ/GzpHg2bU31uNHfiil6j/FjepufqYl4kgQb8eZ7EIoxn2G/0D6Dhip0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZFOfyPziYG2H5PLVImyQ3OMD+mXlQlFIS7PHLmDYli1HsUlTmWl8IdvAIuVov6t+qYOAjp+9YCYkPORk5HMnAg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "81A8F0F4C1D28A0D66E94964A90DF0EB1E4252C8058B5E6CAED77F200ABC6CE7", + "previousBlockHash": "13FB9D5B18D18A99E4AA3E8887EE8B88D522D1F3B4669F44C3FC879FF0BCFBFD", "noteCommitment": { "type": "Buffer", - "data": "base64:tg8ZkSsCE0JNuhtM17W7R6VqbSs53D9bJEJoClSYiRk=" + "data": "base64:YVeIC0FODkT2TF0EuSOOxJGbunTC4acY2CkM+RPc3FA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:vejddRQqvYp1e8uf8AwDr8WrU7eEMRnQ9s4TtEoAR48=" + "data": "base64:5llceHJ3KRrE9OgEFZFrYIMfl98RQWN0mDiFGLWm8zc=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243710467, + "timestamp": 1698950277577, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -1751,38 +1751,38 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAa6CVe7WtigszxxDk20Gu8bNy9EyIcU2iZiXSpmqKqKakZgVcRuGLiS9xtllSbGS/IIroZJkFtbHGrQuB4c6IN2V/MTld4zPpOJ1Rngd+F2C4X1HmR9hoL4urryeW25YAbg21McoVsmxh7hvclQG+PoGuNViMgW7IfRrbya5sULkRR3ijjdHkaze1KuSwxbUu7xOSObV9BFOcMEg+uWJ4SbP/WPvXKv/h89c4v0RinoSWTCOHnIUIvwafWo7cz1ZwovKcqGD9JtxcjsMjQuixwrTkAT+Lvcc8Zthk+tukWEFN5InBUKEkkUekN6T17fINXtDNfs6MN9D9YS0ZKRh4tnrV6xdnbGEa2KqTbEnha60aqdHz21bXaO44bYIHB6FgxSpk/DtJhPlWZfA5THADRvFp69Q5Mz7kCQf7Gs7I1tq9I7UABeEkOmnGAGlCpznovf8yiVKLSwWkuGbGyKHybFDBiSdnW1wjZRls/vKdg1bkZuL8/iG37FZB8bl8uNV4cwTgFcV48T9Tw2rYDK/cEjdMI4kjPNKdBk3nXBD9mY8a7soYAAXZx/WUy4n9j9eE1mh7UvaYs3dInCM1G0gc+zKThjJuu2nKZw+2+F9PiGg5BI15PkjidElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwT/U8EM7XKC1Rq9og4L+M1zuZUEj6uPDFHE7UU1/nUsLViWaZSbQkHJPRDBWPvn8aqlBX9ftZLRPz1XV3fVFQAw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA0UGnwUMW46xXWqPhRxhDYnR2NJ2GsSLKtcNL0WjQr8i4K14uBSFQq8mdkuE14asEYFXyRxUCg2OmR9Nvxk93ufQkRKZtTkRxvX9L1G/mYjOoVNGrXc+vsKM60V4EqQBTKU2j8lST4/Vkm6tVscbygwiqLvN2zrj6uTPNodVOxq8XE07MqtBcDitLBD8dqDPSx7/xhD2q/h/pWAjf7Doow2kOI8kiW31IVlalor3KxjWg2lLBvIbxDMDDcjCFnCM4GYHakpeP9CVSPpksmgiypimkz9E6vuHnWf0DqL4B/xtJtLkk3kbstjCc2dEPllrZIxHJ/T5DqNjOhUWG0U7yWoQWwOiD6QBltTMRWNhBOza0vv7vp0wswUGFVru+82w2BLwBW3nB9+EMJy9Y9iX2PowgbNdiSINxgas157F0PNWiD9Ohn5TZj1q2ycsKMzUaUx3k/mF9mlX1ycIvRBctdgJwWpK5mgdTJ8KF3gFGGUbaQ6r+1Rt9X0Mnkes1ipey2cDCfjtJDpQk3ul7n0NtrTmlJuunfYWcqjA0JZuWmGninxu8xdctLP1LPHJKyHddRnQf2ly1YWr9OUzVWtqEW6gUmg0wZojo1G/lNfoRa1sOphK5S8sLYElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw1MTNIsapdd3ETW90a2sLqiirfM2i8Ly9BuIZmVdnHe6L4gEMwuO1ygXrtHh+doMaIjRfD+kFEbATBcXnKwaUAw==" } ] }, { "version": 2, - "id": "567f91fc-19c8-483c-beef-2c82713694eb", + "id": "746b7857-cbec-4e79-b7d2-a140ca64074e", "name": "accountB", - "spendingKey": "9ebed5a98700250773c4bee012fafc0f84a2eec1c1665e5321f0ee5f2e235d09", - "viewKey": "914fb0097443249a5ede44a49fdb0865e1b4a7dd360b4e8cd49331ac02dbe828878caa44df721dd46aabfc62e8471c5fc3cd9173b5acfa5099a5e076c56a1de2", - "incomingViewKey": "e7a840e9f60891d0af39e39146018ae7180a09d936877a309af3624df0112d06", - "outgoingViewKey": "87ac93ed8f1ab3ffaeb1640eb15e2bdade299743a733ba40c3d0527dbb69f67e", - "publicAddress": "2165d1b995a34760414d20f6c0aafd9ce9cfb75c0d451aaf156d91c189a58c15", + "spendingKey": "75e98c89baa133b91e8f8cb00e82cd0758ed0976acce22cf4268906198bcb7e5", + "viewKey": "cadcc4e450bcb4095d43039e13dc1dc521a803ac315811493bb7f748791939097438f271b9077998b845cdc474309a3aa10840e67709935d29979d282caf2ecb", + "incomingViewKey": "bf72505e35d1cce8599d1ebcac07de4d24bd8220be991fbf72c145ea1a475d07", + "outgoingViewKey": "90617a3ef1890b21721d3df0723e886bc70c82396e18dfba3c93023801261af8", + "publicAddress": "e6fd087fa6663c2332079448da103a13ccdcbdb8fef5dcd9c2d42debc4fdf0b0", "createdAt": { "hash": { "type": "Buffer", - "data": "base64:URofuIdA1SUcmE+wEiMgWrcMuIeKb5dG8nUgmuL+8L4=" + "data": "base64:rGuoibt2LGlYiRWaibhH6HuwrqcGGCJxTTIK6uD09ls=" }, "sequence": 3 } } ], - "Accounts expireTransactions should not expire transactions with expiration sequence ahead of the chain": [ + "Wallet expireTransactions should not expire transactions with expiration sequence ahead of the chain": [ { "version": 2, - "id": "e301ff11-77d6-48ac-b547-5bd4398c95c3", + "id": "edc3d251-b284-438b-9727-d4204dd7c696", "name": "accountA", - "spendingKey": "ced37329db3dfe8c1449fdae421be8df910a234cf8f784b478d29cb7662dfb53", - "viewKey": "6948fe17bfd332cad49c70224238b79907954181486b17dedc0bb6454ae490aa0e9f73cb8aec91611962cd8c41bc0467827a1ac610dce8a14e1966e2fc68edb0", - "incomingViewKey": "3579bf51ed8f9ff233aed153a107fcffea12559fe958daa5287594ab51327701", - "outgoingViewKey": "5d3dfd2a2273a4b4d003f3f91d3a32ebbad5ce652a589e06e6d43bb33d7e039d", - "publicAddress": "fa066dcfc238c9cf568850143eab3bf3c90afff8f7d57bffeee35598ab3ad792", + "spendingKey": "ab6c9bc6f3b7bc5cd53e4c9dafdc8b1cc37ac07eabd1d8c910c1aa9084e45a8b", + "viewKey": "2374c0357f5a372e6c3f80206769a1858ce455adf03a9d04e1ef7d875769270dd29f80fa21f32c0a940259c2c2b4b2b5a1e4c2c1354aaee7225c660eeb497a29", + "incomingViewKey": "169e19751b4fe0ce056cd13d5b0e482abf6613031347a02a1c8ce8bdd37a9401", + "outgoingViewKey": "ac4fc20c793a08d17881d5a68f82945f56db3d32f7f4d5c57375b92bccec62f3", + "publicAddress": "43d347af0a005754c3c8b9710b3f8be182b98b9ab9df8f36a69aeb4fe5ed63ea", "createdAt": { "hash": { "type": "Buffer", @@ -1793,13 +1793,13 @@ }, { "version": 2, - "id": "2a6e3eee-567a-45d3-89cf-567ad60b7932", + "id": "1e658ad4-1c8b-4424-b12b-1d0b336a9da7", "name": "accountB", - "spendingKey": "a2f1f1044d17b48698a8b4dad7e97ff230d7173e7052249c4179f699fe587a74", - "viewKey": "3d197f38dd1c6909fc2f4d62e355f6b08216d090f904a8090303dc6b04028709d8a3a706545a217dc1df88058f228ec50af8e24266341433e593a0925da2afb1", - "incomingViewKey": "7892b59d522f55f44c0c936137a01d6c3dfc8afc1dddaf1c022c99247658ef05", - "outgoingViewKey": "fd10489ee6e191abddc4d083118597bd82bef1c6a529a1b8a44fd2b5ee296e2c", - "publicAddress": "322f8b709f9f03f1d0d88caba41b1315055a44a34bda10ea8d14d7f40ad47d49", + "spendingKey": "492794e20def74d8bce518d8ec55b530f4f699704a589e81dbc96c237d15da1a", + "viewKey": "5fcf4f65910b303454e419491a05ef5e441a64cd1f0d56a50511b0513bb89231ee74da7d1289b409fb987912bfbe88b979b455654c487851978259f72c0aa794", + "incomingViewKey": "a8e2e43df21f1d0b35c1e739055592528ff4a2fe8c11067fe68101c34a103a01", + "outgoingViewKey": "34484ff96077984029a030a491436b06e9097c898b72b2420392bdeb02ffa950", + "publicAddress": "e55b68c7c576a91c60513e0a160235eac0f95b4549419c42e3a9df22488c41c2", "createdAt": { "hash": { "type": "Buffer", @@ -1814,15 +1814,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:R2pXEdw8nHPHpTUeXpMbcq1FwCOLb/QtGpl9KXVIcgc=" + "data": "base64:UBAh9/eLkcBfv9JlHexkBKYkdMtZgfrprz+SyPV7MVY=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:GSl9UkrL+aQwTKluIA944/9MVU6QoLVDKiDRytfh8iI=" + "data": "base64:/gwFLm3fNTrhzggd/PnMFv0j6CDRv4mN7tlAxerzM2I=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243710814, + "timestamp": 1698950277937, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -1830,25 +1830,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAL368TOlOwPKKaRsHYoVmWsV6pH913Tn8taonDWaqrF+CDSg9LxfDkoHr/gc9nci6lLTT/rkQAmBQB1D4D5O43WBVUAi2Od4ezSYMRkZfKniHObYS6azvOcqiM6alaleRiLmxyVzSioMifdJAhRzac+qZz1fr+zm8yT2A9NssQxwYa+Rg6I560HTXcCcevMWQbtbxcEBC6Vfv3IvgFn7M6HUD/JN71CnPuftS6PXgjNqKlqKbnNKkpJTlivBcC1rUIFnZA5tgeUrJHCmejqMyZ81HOhf8p09aEjdE/ckdFXFyRowJQe5PfHQ4+VKYBNuGIhARlsaJbZIt924rjR6QJdXjV8MutYGiO+4HIa/b5J5TTL1mjbVw/xqq5NVWWZlOZq/6RHh3brbMW1d8PT/TqkWvWque1TwZBZrfLhZ5QSbTFkDQzsxubbz9aCZTLtwbXTQwdRnn4s3emRzZWt5OLwspnMNPuSlk3ahQaf+vD+ORKTefO3diZznhZcyA34OXBvd0NcRKFpqxikb4lbtlCPxFgZfKEG8Se+E8d3qOWgCe7j+L01KlkKzzZt0LZAsVhyhkvE0QKuzGx8TKYkFqHiK6MS9iQO3SjSnkoNZomwH4NTkV770yLElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNLoSGY67hnutG60K5JlJEHtKYf0lckr0oAfZdc2gymCftszzwjAnuMQTqmm6cWR8VQgedWzQjafa+86q6YCnAw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAoJd0VBp8F4bK7LO/FU/D3R8GP94JDmjiNi++vaI+dWGlsUj3PvPcqQ8DTzY4G1Pk816fFS6ybi+lGe0ofUQblI+2YQeEuIIkty1FBv2Tzm+gC0bC+y3xtNDBg94g2UJwgWG02BoXyTd2IrnYRwaBITzFubXK6PnYpwXYkie5dJ0Sl3t71yEELMcVC79edcjpK4Gb93BmBNMAR5HPH5GfP2ox8NAhRqBcG7LARRgAXeyy7iVbI/923nCcF3W7VVhpmdWXhRfZ8yySARcxnBzMjriY14gjWV1QuJLy/bfaEnF0RW2Q5Yj0HtNW55GHBjFUwSmduc0zD9nDOUaQbsHfB2f3HSsw7siAovR5qaWelmMspVa4+iq4UAvHQ8TmIhMa2HXreJtcTPcyP+h6GGjrPsgF8tNeHmxLQ2F042XJvbYe8O/1eyFiWL+PvLgihEZjdLg87ewvChgFvws+61xxbvjEs11FX0bfFrBNjJI/j+uFhiE6YQyuoPdsY3rvcNV25LhXHuLg+kPRbYomIL4wVBiqqO98ipnC89w31e0f7sxoxCDJtr4qOf8N6uXhazV3KZkeU5mt3RA5nxVQUrR6M1W8QjXHYyo5SIxaY0xCm1ff97K4xsIkBElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBhpDrwWqbKnJruYsZrjwJ9xXhO864vEuJlzuCJpq1O2IOXz1El+v2D4DHadTumK6mfVDzUs23Pjw715wyG25Aw==" } ] }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ], - "Accounts expireTransactions should not expire transactions with expiration sequence of 0": [ + "Wallet expireTransactions should not expire transactions with expiration sequence of 0": [ { "version": 2, - "id": "af3f1d25-e476-40a6-8f59-ce1c6f2f12c5", + "id": "38da947f-63e6-483c-951e-39dae1c172e1", "name": "accountA", - "spendingKey": "59fd51f6b0fe192e8fb8e9146bf85ca7f406855b4932c8dd981699a6c861795a", - "viewKey": "b83ec7a368e6ace914f40ab7b8193494d76a00c21a3f3091ce40f14d7614f7d30e102a8d98962f2f55afa30bb24f729a277cf254c2f8c98dfa51e8550aca2717", - "incomingViewKey": "ce5b451c565b680c6ce148617d729884552eaa457148905a2d1c0e43ea8c1e01", - "outgoingViewKey": "6af4823d9c03e8c69d7e85ca567144a15f501dfaea33523bc0885f3d2cc1078c", - "publicAddress": "c911e84d1763c51dde228b69f0e0dbd2b31369fac64f327b3e7c764a85d245f1", + "spendingKey": "f11943c88740ae44397bcb68ef6e401522bf5c626548e6899cfc4ba74b1259df", + "viewKey": "08e5837b2f6f393f15784f123b10986c3f8f681c9a7ef9d58699e774909cb6100699eb82c879237978a7f81d50f3ff5f1ce550af253f69c1b6d7336eb6ae6918", + "incomingViewKey": "ed1ed3502514180d509be586e6ddccae91df46e3aa01d921a87c451a9f1df803", + "outgoingViewKey": "b35f2e3774b97d431f87d9b7d859d6808c2296195f9fd2d0e5a32c55fdb61081", + "publicAddress": "9a6a8807c97b05b2acb27184d3dec146173747d59d0d13fc935610bd7ecadc11", "createdAt": { "hash": { "type": "Buffer", @@ -1859,13 +1859,13 @@ }, { "version": 2, - "id": "e432db02-9777-4064-a299-45d272cf2aca", + "id": "003ec8fc-7d9f-4f3d-8858-f283d26ebc65", "name": "accountB", - "spendingKey": "1ec907c742b23dfc97f530b67328a71f5f277e21d5e50997a7ab8e67f056ac60", - "viewKey": "40da7de89fcbc5d714cad128f306947e1b50e60529d1b7074a2c05fb880467071a6406c41bff73b5cd48fcd329d4182cc8f795d7a05495fa7cd7b48f79084231", - "incomingViewKey": "a1e3d7040dc573b37ef34082a66699164ddbd140593081e371e545a21aa8d405", - "outgoingViewKey": "602240844f1f2bce2bff6d452a1ff2c3d9afcc628a6bcd5f96f5c1764f4dc38a", - "publicAddress": "f288a2a201d44f8fc3b780ab13fbeb74806fa303f0b0aa0883279b2188d35d0a", + "spendingKey": "b6a52f340ff178bc9f4fb64e108c4266127abae51f64bcb713615cde71379d65", + "viewKey": "57a30f72352336bee883fd8a8929814eaf95f2456962d4f661d88b063f3c0c0ffae3047f740afc00014db7d54a82fded9224356b1ae97262d97ef95cf026583c", + "incomingViewKey": "17fd5b59d7a3e8e5b94c74c57469f5b4615dceaa2447ca93b8ea653af29e8404", + "outgoingViewKey": "141677758858b1120ad4e7c4734462b9524b13a988ce477fdf18a55bc3e71b11", + "publicAddress": "321205e55db54e27159522a03688f6b8fe1fdb28c00d429182074a6286d3a8e0", "createdAt": { "hash": { "type": "Buffer", @@ -1880,15 +1880,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:XYPJ/foNEHo6xQqAIzzG3d8AcCnNKNLeUNs0RHq4QDs=" + "data": "base64:TjpxuCUS5iJkiV3/m3ul1Wdd6rfRr/EE+FZf6e/5PkU=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:t8FvD/lBY63QbbUwN8XY74/369WqOE/A7cZgXblGFIk=" + "data": "base64:mFh5HD2NNZy+XAXmpB+KehRJwGn++6rz/YnjaGS4W/Y=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243712237, + "timestamp": 1698950279477, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -1896,25 +1896,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAc6YELaN5txIyHL9GOf7dZkGiosl4Kf3Agxh3VZiO09michaefeCzGTZszn1ZcgS5CJU/z+PjnIHkwfuFh6oqNr7ys6uLQOaR6COQhws37/6Hdo9KcTnKak1Lnx+hZl0LW4rHfran4U0GI3C8P/VPKUU8H2roPZMiLUciMBfw9VcGBq69Bj4Gg0+zEuwd4Cc3T2dK+qqR7bTIdZ1D3mb7pKGzXQzU6I+bgfC/KUfMVaiK6MKE6zLWo05Ui2EhsfyySxKO3bfUFfPXTONCnwwXDtM8Wn+fTsd4mSFwfTobl7D+rLNcjaSYDhIEQsHRnj1bl4P3MlLwIy9uzotP1UINyH9/faQwY4vb+3GO0DTX6TBhugOanqjE9hPc+jN/ZvwfM9KJrzVqjLcSXl53hpSYNAXp3mKJSGkGaly378jITo9Pn51cn6HVR4mB5EDSSfgxUbomiZjZdl2SN7rxoJiOADbHMLRhoaCWG6i/Ah7khkGfmcXqS70cXCr3qpvukb+ceJ44AFWtFTPgNC0++q/ls79Dj4gvSuTXH7Kw5bg3YOnghUNJc0V+Skrx7GrsZ1PYhdObQPHiYYJq9dm0v3T8lcUImNh7GDXnqM6qneQalh71ZOFLGQ8Iy0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwd2XzRbmh2GW3jF11fupT59l0XiUg+3d2zD3PuFODEFO9T0WwU/1Nd/asCj4RtabOkah6JYgnn3Z3XL7Uk6zJCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAdBbmBPTG2RaltWxNqfq2vjpmGrWWLYFbh+oczrc63rC2WS9bYwK9QTWFH2mo65P2AcsxS8ZGxErai5LeDUKdz9+q70tSBlV5Vp0dlNjGdOi1fkIfyBubMklUcPD/502mDS/kNqupycL+Bi1nrvhwqJt8sN1LAxoYH7BEDS1IIjkGJwqLh3PMI00MD/T3z9E3MMBJpe7ITSopKBo7LRAdzX77/jF3j5ZJHPB4g7wa5fCBrvp0JomhHHdzpVLsUyVh8LptLLzFgb62k89dLOuN+MhrpF3SLiFXNnWRg/Ap0UcXVv+Ivst57by4IKnadXprVysUpXmIZCJEM+YtMcahETO4OztB2fIS2bwSdhfpWRnNn2Aao6RthmKS2j6AUp9d2v1Y9HkyQU0/RhyOrxMAKdao/IAGvzi1JEV0AHWe9pAA+8VUiS1gjS8NyHtRn9NKGoQXvZU+d8wzqJGG5AOAGAZUqjN6RR3bgh2yrSYWPqYnbjPNgDyaUMgb0ZpwC/GEY42lPNOEbWUbcEqFXyRtMpAbvEBWDrb90TfO+fdpCIOW3KWR0kXysBdb3mb4bFQwHeDVNlXe6/GJZ+waYhyWtQ/fp9xqR8ThdVSo5uGmSfJZ4n72TuHX/Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwg2pFrleSr35iY2VIfVOduQgKXyGy9JluJlDW8wN6iJyiyV+iNeXhkPqm2OBYU9+eOXiCl2Lk7u+B0FcQV0ZECQ==" } ] }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ], - "Accounts expireTransactions should expire transactions for all affected accounts": [ + "Wallet expireTransactions should expire transactions for all affected accounts": [ { "version": 2, - "id": "2b6397c2-678a-4210-894a-f08eb4123d19", + "id": "07ddf58c-3605-4d80-8ede-0758f1607a15", "name": "accountA", - "spendingKey": "4e8658520cd830db179a798c56b2760419bf43b47ed3e51da8ca0625692edf40", - "viewKey": "f55b9cb5b00de440acbbd3c9f6e7bdd9c3cb6dc48ee03cc9bc13958faa250ce712e117cb06899b5c076f7a132c4c7e6617c868aae24073c12dfc5105edb889bc", - "incomingViewKey": "907c20a85ec4fbc873796b52adf5645107fe1833503b4556ab299deb083b6205", - "outgoingViewKey": "b8f9a1fbb09abfbaccd0e8433238b7d3b93a8b02be7895a8886397532faaa763", - "publicAddress": "7dddd8a4c08091f657308c228e55a470d3b1a52c5b6a68569869683c1700670a", + "spendingKey": "90a3f932a707ca096f41d5fa073a85a702d7f0b5ca6af8afeea6e94590d3c2c7", + "viewKey": "9be2ee707a3fb47c7b4a993bd640869c098cea4fef1b80178dc6db6651f5b1d0caa52041195335206c43f65f9da19a01d1129e4f97139a395b17f7cdac53ba40", + "incomingViewKey": "8c92cec8533e5b540ca5e36ff06aeacba5505259cc4a76a4a4c41707f0a4e407", + "outgoingViewKey": "0eb67f7597d1a6875d7c3bc5e0d5e8e619c5fbcd6a74a8fa22c4b378d05d239a", + "publicAddress": "b4ea65785dcca7bb37352f5924227669bdd357ef5a7e05715c11ffd959046bae", "createdAt": { "hash": { "type": "Buffer", @@ -1925,13 +1925,13 @@ }, { "version": 2, - "id": "a0bc43a4-f505-4592-9dec-ac165cb3f3d6", + "id": "ae22ef8e-f690-449e-9a38-d81773a9ec87", "name": "accountB", - "spendingKey": "3c03880f785b990178d7acce06c502949925c3765605bb5d0c62ae73b8d6c7bf", - "viewKey": "78dedb3bd6138058ad5f89a5e293b81bc48e6c1760d0267281f77191ea64c0515adc1cb0bfb8467517cbbf419fa8c1caf17fba42a44ebd1b6b16b1201f2c2e82", - "incomingViewKey": "732d7a0354558592d2fb28529cb9f75194be6aa2b135ed34c459403ad2f82f02", - "outgoingViewKey": "477a56c08c7efb91f6b8613e7354f27598a800013ced17c48eea97aefd3aed26", - "publicAddress": "7084ec0cee4342ed724a98c31bfb879e7b6c1c33a6c65833ab57ee5d99bdf1b2", + "spendingKey": "cad1989b1d7f7f993bfbb88acfec7eca7ec202ff9334217e328d1ac4351f90b6", + "viewKey": "472ae9618130ab6143d652e8ad48819785f443bab8a47c67bec125889f3e35cb8ce11328b40a17c6fbcd973e6ab2366c80a62cc3784c50ff2331eee4e9f1031e", + "incomingViewKey": "41a485d74c70a2103344dfe3126ed07a8afc6eac815e5f0ce503fb13a296a901", + "outgoingViewKey": "9062549daab7e47bce0d427913b310aabd86255b1e195e5b483cb8124a813a63", + "publicAddress": "37a3ef52fe3228a91f3c6481cfb6a44b6f47258fc372eed62106a15e2b2ac762", "createdAt": { "hash": { "type": "Buffer", @@ -1946,15 +1946,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:OOTFM7WWXvyVuZxITBi3hcYlcdh8XRO4BA3apCG8wDE=" + "data": "base64:E6T0nhl4bcDWS8zPM14mHqr1leztR7pKF0466RDgEFo=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Kd21koQWqXORYnnPiWd0ubt/X4cx/e6OE3gJVcPJn2Q=" + "data": "base64:RMcOKz/JlJxTSbadPpq3/lryfLfuhN0niDJ5rAF+0X4=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243713667, + "timestamp": 1698950281045, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -1962,29 +1962,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAAJ63pVgqbE+dYkUfYm1SQsDmJwOgl6H8YTCwCobfatimypHndDI2HjQ8n0Pea981ron7HEJv6ZxHClvXIKMlE+5/hqVdqdRkNTFTA3sRxS6moRxachNJFOCy5PzJAOTFRClA7tm112qbR6ZpWf8f7S/DB67M1gbJG9yGHiNlv4wN5ww9hP6dgYrLBDPci2IS1ZNZSP2xJivuJkB/LYqJwHSNhRQ8NXbTYwEp7FNdatKGrNJTBHMKRiDx92T7ms702RES1s5aJUBP1psGjiROyiZdz7WScB1FM2GmQFzkttMb0fJx1s1U3sJy2aew8F06S7OrTIrcNjKMF8FNpUDYpFGO+7vD0kOGwB+QytvncCkBwcdGWhMm5zLio3EzK1pP/g6oKcoxRlCns9b3/SZCdOZIrnSYYjbX5Qb3/0Snvq6CJ6eFndmQfA+DsIDJVJLZFU1h3sXgc6+ZIqFriEN1V5Ep/dnSrSdGsr5+e1WUNz5qj4YmEd5B0N2hyI/WJwSODNYhY92vwediGXq9emweZr0qNSXhQTeiX9OnQnO6VPM37bVsrcy43RaoNZR0WR1pCbpQZIkvYVmMvW/dYeVp+Xzp3JkmYPEv/KTshNUS8ZKUyoFI0QvA70lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwa0D7vOXURsWyl5mbGsZyWA5c6t29KDJISchgym63Cu3/YsDg8xR+jaQTrGFCrG42ixq3pjdpxBeKjUCdndevBw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAs98f68GX/SYwpOfY4zmNx93ChHVMNP8tuHSd+8BPn26Nre3vZRnOXiBNNbhp2Gf1wXaz7jSJHeMhe4Q7IQu539JgXPVSCOxXSimiPMm5K6yIfvK9jCTh1U6H/1x51j8lSuNI2BRZrLEmRLzbMEt7kZ/M56mCbcC3om1SHriDfvoT6B03wbj0mB4SyMarYYjojMUju2esq4Ku4dSA9RL+HD13bE5J0Avkf3efu/U07BWZQWI6yybF+OzGIhAElLQJBspetdVVrCITJGQCTv/pRmXDZsAaCrv9pDC7EbXkaMEvL0ofbmlRtsHJf3pANwnerFmGCGHtPKMacDVHLM6Ut0fdmn05TudngdJ8MkUXfLkZAHxjwmgX2T+q+jcTmgFqrOqZY4WoRdzoS48/xLTsagvooeIVrLgItPclqhWsu2uWwOS6sX/UZnxnaiDBscKitF0VSptPOzaYU793fdSBPbe1qnN39ncBfPjiPULphkIKhedsBnNg3KjazZlqSdRNHZsM4mWMYHEOSc49EFgOYcXJeTVNrYWpVgJUT1alSAd/3KSzabkXwwIfDY7BlAkuyxE9sTNVcjKakM8itxzMEFgoW+0W/eXiu7QhSvJqnyCMeNkvYVm+sklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwxEQHJ0xtiqlcns3jvZ7yGZcKkcSbVZo7zWGhApo50u9YqAkU/U9zb6vBFVCjZwaAljZywwA/J5waxXc2VGJeAA==" } ] }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" }, { "header": { "sequence": 3, - "previousBlockHash": "4022E65F78E1908AAD76FDAA870BC1A3E50A926A4919C7D527F19FA0AA892964", + "previousBlockHash": "73B26AD55090AB4D58EAF868DF1B8DA1A9DEE4A885A6B5CBE1B9A3A7EC218A87", "noteCommitment": { "type": "Buffer", - "data": "base64:sqlhngXroKwv40OEAFSWp/oOO2Fd2TYavX/l0wbOUiY=" + "data": "base64:HoVL6hZYSNUG1UYNN4OJnw/LkUiFlOsMIBPO4NtxdGs=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:E/OeBmfJnB++170XqLAr0uv7nwl4Ym1HaQTfx8f9XyQ=" + "data": "base64:V2k5u4JumrO5cxhUJbffvOGgc5SbKzaIIg5ZvtpVGME=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243715028, + "timestamp": 1698950282601, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -1992,21 +1992,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAT4kFR8N3XwykPNz2T/H0Pzkx6h0IIGpBEnnsQQn6spyQk6IqXZlNGYqFPFDLeLYHxUfvnhSsAhNeXEnbpru3ABVbONgEozxkaAbfCkKJSJ+BI9/2ucxKth6RDAWRneeH0hxaNjBYw/3KU55WO+sxpWF7hlx3V29vX7mHcr+SVPoCSY3CrwM8w3PKY9iU+nBH+jbe5KVhwxoatpEe3l1kgS+Srk19jB+Y6sQZMqdAjHWDm9qwT/C4wHxFRfPp4CD3CQh3MOUMJZataHkLIPtdnNMa7SdNU3BGWTnUibymZkwp80yrbxt+kFd7Cqnm2FdPTUIdVrpBKPWc50Q5PQMnz4Tb1jZkMSwBStZFgPLDwXwOEVZkPAzVsDVnzilnJtdrD7NmMD0WTz270BxZPFa0as2HgN9EfTs9uZaw4JJYKVqtrhO9EXrDOeG9huzhC9etJFbJxmPYR4LtWoKc8r86Tvf2WfXukzOEDvlpBzIe7wDTRHC14iRXA9YAo1kiwKg4LoYKvb0D+CSHXEprKlARfvmwbpkZSmefagLq2AxCDP90b5etYfJK6onuqOVq9K4dd8EoZncLtmN/Tn9x07KzsR2vicK0cDMp6r/MQcTVHpn1TcBjWz/ArElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw35rYmYB3Cb3VpV6qY4sjCGgwwqMOcdVgzKyq7lOi/9jySnbGaXDecLoxVfFJ7oNj/VGSWWHpjL0TX3Yuod49Dg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAZUIVkhaEB0eVxN7zmKTYYYQW8RrbABJ++wxndZjFKvKB5T3zuo3zPE7AGnLuxQ0+oKRXzauyrGnqJBM/tLEKn6t6+4emmMkzgd+0tqN71nmQ/Mu8aQ8pL6yq8KQW38kq5HWJOQuEwm/H3Ai6Z5yIfZsA20B/+YVcdyLt94bj5v0FAAYLwt19/QWBLvbqltQlINmVtU8tVDP/ov7t2r0/0uv0LmOAy89PvpuVHvrjGsKWzf8Af/zdXVIyCvhuamJChK95yv6rWofJOF13yQ/MVWUOqhzlDXPxcMUs2+Ol7BgbsfCDh9dZQi+aeF7y89M+macu4SJ9q20k906KAWnyDc01eZodOM2HrNLJyd6HfZNlVTZt7/M9x/RHvuQmiTgbNhtKk+gx4c5qXqlli/n69puNYIc5S/oTrKNdz2f7fYjwD38pLgCfI8xLGFNcZ7xGiu+jGh3oXdCEwu78RnOUU0hTDTjLD6ql6fl7798OyIRm/L/34dPXHtdjKnMuoTFy1ApOUBEbye/dDaV0kn1bO5DKo0WlnwolZiLXQE6rRjvQ5K5d91tcTDnGY5IoPKmRS1lsh08ln6XBRTFlDUNL+UA5t4G9f01n7ijhd6JPAzZPGQy1J1p1r0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLGfkGMgq2AyDmtaoODDz43EJTpkOuVnVk1YT0vii8dO1R/43RxYgRvqzAZdW085/S2UmGOVjHNevMeo6fydIDQ==" } ] } ], - "Accounts expireTransactions should only expire transactions one time": [ + "Wallet expireTransactions should only expire transactions one time": [ { "version": 2, - "id": "18e4b472-f805-4320-8fe2-69e7b3f7304a", + "id": "1ce3b3c7-d6ca-4971-8e65-2915267c81f4", "name": "accountA", - "spendingKey": "fd05a582fc3417216c8583f30357efa5588deb837ac145dd72112d55bbe5df31", - "viewKey": "cdcf765f7557912ab3655b70010918a8ed012377bc4a9a76cd1dbb2868e32d8aa9cbc587cbae7b5e9a47b61c8d2d90808895be1d7e0a73980b8625e01183a8bf", - "incomingViewKey": "741a4488332dd8eb8599a881615874d7d9f9982a04cd68acd7bf3058e14b9c06", - "outgoingViewKey": "2e01c6984485b79a420713410d691c71ff0464ce4190deb5f75e3d614dcee4b1", - "publicAddress": "9c9d196ec300fe24fd4dcd476b59d8abbc232cd0f7f6036b8e1b4b25d3ce5452", + "spendingKey": "4095fc6164930df6183fc7474a63e5b3f5b80a580b53da3080ab2aca711df15c", + "viewKey": "04cfc30f0f54f0cae5e84bcfcc38ab1e8c1aa66c8d4b16f05bd672a6cfe9c63408a8a95a138036988adf8a4d8d69abda8746dbafa868e8d73232b2474c8f1334", + "incomingViewKey": "3a6fc1fc736945abe36182a19a4859d24482e9b7d87eb02442c3d34ba8e96500", + "outgoingViewKey": "f8bf5d44c932da59c46008b2cdea6f77870d7be824cc4b2fba4fa37a665620a1", + "publicAddress": "3a0de724e8fe87750ce48656a66f143efb9d161dead5f2d39713efea059b4d0b", "createdAt": { "hash": { "type": "Buffer", @@ -2017,13 +2017,13 @@ }, { "version": 2, - "id": "e936fb46-e973-4a9e-8910-e29cdc6be6b4", + "id": "870015b8-9012-4911-a922-0c6acbe73720", "name": "accountB", - "spendingKey": "83025692ea4b9f66818dc29064ca5e27d5e680f75cea97476b31c8f98d92cbfe", - "viewKey": "ee20adc6218acd1e22473550753d690caf119885608d357c00435470975a15af57510bea629369349e0c727cb1825220ee09d9a657f6ea3b1ccd01219a432439", - "incomingViewKey": "a3cb17329ad5e299cfac69cde9372be95c31c5a6c00523577ac3778041deee00", - "outgoingViewKey": "7274c8c9dc03f71d7ca46e373b4b0b553ab0d7c6091838debd9d2e33e823331d", - "publicAddress": "f1884802f3ef2ef4565c645020f4db96eda4b97fad6f30a1b5947b6352e2345c", + "spendingKey": "5c3d11b1562e748c11ac47e83af9a9eb91c45f0aefd98a206d9c3d08f10d7333", + "viewKey": "c90e7cf1dfe2ae31ec5f9f99d95aac083f99809bb7da265169d64d22e820ba2dbef61c55b1f22a58284f814892da83210f57436c80d46f31ff303eae3c81a612", + "incomingViewKey": "7df94b1117dd40a6ce04cce057076b36666a4e62285ff5820e076889ae6dfc05", + "outgoingViewKey": "86c4667fe6d8b491e38955f1721d231b1c7e8a7f77c33d59d6006b9ed11e4747", + "publicAddress": "70bbb24c25a65df583232eea92601863235590590d8b18899346bc4e1dfffec5", "createdAt": { "hash": { "type": "Buffer", @@ -2038,15 +2038,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:UaLeK5a5NwTECjpu3vYxu/nR/57mNM8za2CcpaPbRQc=" + "data": "base64:m2/WBdOKxV5PRAkSrwOAc4bucfZz+MvjYU+mrR7EhiI=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Xa8t+DXYvVzl3HJ6ftAXfPZpDLsuAzbCVj6jX73WZiE=" + "data": "base64:FcAAP89OfbUoV+9ab7duVEYv6cMnIxqVtcmjQnsaiNQ=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243715366, + "timestamp": 1698950282986, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2054,29 +2054,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAQYBTkuUh2de75mcHHOQCMEjP86dNEzbuSeaJu9Mv75qH3fIdVFKA9/QxdlLCWgKoighCs2DopuN8uwdofiAdTNh1rfN6HZG9FrAktTyx+DShJNwfTrJtcKaemAfEeVJTLLy2pBhwR4b1LYCZXKXbXP0Lmciw4DCknsYt7GdWB7IPLj0ZNxyhhc2m9BjSVa1OrzkhNmuKIXghgLl/vLqs6F9amp+c9d4X/I9rw/05bKilCkQY9LHuTWn01RDtKTss0WuNodlBCjAYMEZ6VcQ6XtWamluIjIULWYKknWWw0Ecfl0ylAWIA2gnaQBwLX7JDHP0DPJr1RdcOzuuXTs8slyJq2Tw970qsaiOSkradIgwmSYFHhOA/yVijDcxBIXhr8Xd6NJmKw4MHfaxQ+MGiS/qJ/QnV4PQ6KnaD/Jrmvl7D4Kh3PsRzAlRWfWzcIs16nyhijJYqYFe+pnddiY6zyjzZKa2PZmjoVOdC4DTdBJgKR5vSiqNsaVOMiSm050OjZhvBWNY/4IvyTjAZL1GyKFiTRq8xsWGXOVfeA5EsMMDYeFE8rI2MlQCUt2PzTc2tf8V1wuS/RjE4B03YSJwivHNdLuRi7eAH1rZd4WBQNaz9XXeXbnM+CElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDtpw1JPTS42YMYo94nXWg2xaBSBgEt+BZ3uLmBzRYvpNP90P63P6jb8IdsF7eVxdyiULUefPq+t8wlbaVYVBA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA3r4KK3wxkkMiBSQIpps/PBPCNluomE6qt1RnK0DlNd6157Dl1wa6OQvGy4j7WpTku4Z1o4T9NOE2ClRBBOB6e6wkrANg7AVSFsVXgD7/Z0Kw928gnku9kowPzNQLlTV5AFQB2kWQ7ozUfiCTrK7Ndd5MR43xthHwbn4392o9KZAMAKL1xcHYJXXhhrgnzy4m0BkVjnW+gUhbL3L2J9ZVJfivFnMTLAAJL5FQdqzz5tKWiEeMndXLbuKz07oAjbiqJmrZMizHcPHm4azk3jmKwku8ig53W+86+uK3VCk0mWGOIHu8T1EclWgIhWFJhgLYXaT1oh+stOo8FeH20bf1a4XkcH1/S9XucQolIcfK/9C44dZD/wdfpE/SwlANxKJGW6hPu9WKC7GaqdKgRsuDwEVgVuRStMhA473k5Dv9ipmVBWWGk1dWXzU1YWjXk/FPbdE1SAeA3FjKaBQD8HBoEbgEtUfHljzIh3HIWYc9ldNgFozFBmtCX8h6+Qz+m9WkKicIPDQE07cEyLROOQJLdxNBt1izZFFmRJtkFTISdZ1bYS8wkXyOFj7xP74kI/9UM6kp2XAxuGoZq0cv8f1F+8uF/vPsZ2KrfmThn8oMDC2pyJ4SiG7HxElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwfJ8d8h2ziev29Yryw4y+xztsLhW+cQfGKrvbSdf7z77R7jegIsTuRC2YYQbpEgMVfpoyk+NpIh6YaJThGAcsDQ==" } ] }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" }, { "header": { "sequence": 3, - "previousBlockHash": "5C582C900802E11210997DEE85D44E2619866CCACFB6A843786FA2CB295F4504", + "previousBlockHash": "0373355C7FE7E8354611B604729DBF82DF79B05925E37E3F7FE1ECDEE4B14A38", "noteCommitment": { "type": "Buffer", - "data": "base64:GgLe9ae4Ge8+h1XmPl7y06qkCd9P7yJPH5qn0GmWrD0=" + "data": "base64:ALK0fuPmYzB0lbcmu+0Oyhj5wYXi3Z3TNo2SKHOgnlA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:UVB9VFwN5lGxjjX/pJG3ny0N2xErw86eD6TQlMbwbKw=" + "data": "base64:dM0stBmrbReHnZeZOcER8ezMoXzzkJg6opNv9L5yg+I=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243716701, + "timestamp": 1698950284564, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -2084,27 +2084,27 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAWgxa2XTfsw1LffkVvO56yzuuWOX1vtz5iA+miDWlh5WZji6Vj0jmIYwpOfq50OTzRwDndeZRNFoPDOqx6MaU/IX5uea19Rk1rZ5vFJW9vJyDKP3+ewihhUaGCO81EjEAPp0xQqLY2SgruX95576Nv+++DUA/pGhb2wQfsX89DEgUHXwHWasf6xME4kp/RymN4RFfrW8prh8oekdCb1MQBCV49MvxDMOjr17i/XMHLVeXD11s85HLo55dD2ArcMD34UTeHhA/F0Is9J3/PY9j2I0PZZW6MUY8EBG9CL2nXSzdjv9OnQhY0LDOrnsJmyJBUUv9saLoySAlPwzpLz6JN8nRK3X8fyqby8my0703BJ8PlTHbXKgf9nls36HjKbFepO9ydnelbwKciVmtMS3+CcjJFCwGyYQEQIsBYG9CKxw07BQhU1d0/Y/eBwrLBi6W5NVeCa8FJ2IPM/pW6HlSQySPPT55ro2Q3W7Gtx4m8cW89DWRd+ieGfdpRljtvFn81mEaQzj4lcdYfKs5qpWI8u+Bum53vt2ViGGK4ntyTZyVBrx5/wWWWDNQi2rkResaPdwspWM45SNmKrVj2ujF4BTEfSgt8sJUmDPC0rGq5321O8PrCMIj/0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwC7Dfow3XlI6eMtvh0edUo+xqmpDekF+aY+3k/QlJ3++OLaQp1KhV8SC2gyvYJK0S7vtYP8Fl6VEzF2Ov3Oo9Bw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA/YdC/6VNJKrXtuByZ0vPI9+rPy3R2TkEDXAFsU9USVCnaPt5NS/rv5XI1nmfY3QM29UBURcZ8aE+WImpen31Sl0C3joOzsmYIdFPS/NiGEqL9QQA6HiUBq4L0xgMy8Nr0yUpPQjjfjCF9j/OIo0PZx+//P9LozlaeErMZcFKSjwL/LLGbaXApJ1GgMx3qkQoIqtdcMSJVwCa8F1v/ZaXlafmTSMbupuTJMsQtLfaElOOtSyLcFycWEGO/LYTIRoka4xo7PTgdG82d6dqZSyp1hw0lxEtLMuLYS7Xmw9SU4Bk60LBmI2a+Ynjo303U7kRC90VBqhR+iuFXwVOGHjnkNTTzXg+6HRg51MWRreijp7Ub73yeiC3GsQp8IjSKnVSBhAchDHGc6c44JmLITCOUtJZvShJnDN+5zF+TsWnKW0UNcXoYK0jX4VkER/AOP37cn0E0hNThM1O+yfHAeaN5/4S8c49fKCLGTt27zGnF+QBalMwYc/GZnx3v8XolICuGnGLxvaYZPj9OiCwqvD02bsgduYxRtJ1AXvjCIsY+Ca6gNDtMIwUvd8tvjaI2Dadj4H/cfjbKlmpM3HZXbxK+5gyoMbMce/IxjmggaEB9QnajPE0Xp1600lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwq7DGocMf+lAG3TrkiIbLSXecQfRkM+uZEjemKvZVfJKNepGb/LlOnEG9VZyZPDU6czpDEq4rxML9z0wvCPuuAA==" } ] } ], - "Accounts createAccount should set createdAt to the chain head": [ + "Wallet createAccount should set createdAt to the chain head": [ { "header": { "sequence": 2, "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:qZNfUVHxS+QUDTtNQgjjiQgaBvaZxIj6FSXzUXsU31E=" + "data": "base64:i0Iq5LzqPjBoYSnnY/6ElAnZHlTgFVMYLfNPWSB3EhY=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:mJPc9027R9uzQcAl7G4YHn3Iryyljy3zowEx7Vd5K2o=" + "data": "base64:zZYIWs8QOhy742pGRKOst8A0zGAefFJnCH7ZKIt5wAk=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243717051, + "timestamp": 1698950284984, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2112,27 +2112,27 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA8/383G6wJq9U7Byk2xhm2s5cl1/FS9GE3nuoJ1iwMQ6rg68/IQTlH8CqNCoQNiQ/yrXZrIB32Pl+/ruNw2436FSqHH7oeug1mugsSo/8Hk6x9NbOMggWnj7U44yOeXBF3zf1fwr2rhiRXm8zzNfqAV05ln/4JN6QmXi26DI7hQUSDiy872+yja5fZ623+x667UsWFDeFe14X5FJIbxhHr/q1mhnxBd4XF2k6yn2zB9aPgMActbUMkY1vz82RfprEclELlO7ihKDKOodmKYGfdGcGNLm2Uz2hOyTn5E5AJiC8KkQC5DnLzL4EJQJhSbrWfpGjqippfF0JKyt/X5M1mK6OF4GEu9g0XVSYUXvDj8zHdV773io0SAYKqkUSJ+FrycWOEQpXGZ3Gu2mCWSDZAyBkt+8j0dr4env8zDno3myY/wQGY01DGyxhPi3R3cWKgFLqjjnF3wZx8owwEpv3MGBxVf8dM2P20ixxYjAK74fzgsVFPPZU9V4w6Bsh1AckoWYLKVZX9j/OIYoONY1VBdudjpbj87y4S9UYcPy0BCLSPAm3suxLEcfttVxyiFOU+QnhfCkhRLtXqjGzhzPcbKKBtHflf9J/NTmp1Py8vXlslCzsRZcmlklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwDLnDs7O+hXKLVFz50YnBkS++O8S/KbyiEDJxf4dt0bsDGb7TVDrSZb8e1hH/oL2A/XNlb4wWpMfR0z7ebvSBCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAOPs3DkCMcsKWbrhRNhZrQKvFwh14DXlUOpXU2+/mopuJovEVZIoEIUbvj/x3eJ30BtyMBi96jAp9/yutSpie5gXQRhKKQu/fmgauln9pVMmpanNePU6W96/EGu4rIGnSQaj5CRMIpAdTwbRLiRL/QRqenH42uJgPIVRGB2jodSMN5ZzEb3LCYxqdIRhduVHGhUy7OtV4que6TpwBXS5IXuZ/CMxt62TTPpTlApM43VSATdW5bW2UnNgnaAAy5Dn1m59zD6W6+deEvJCAcBhuW6sE2Ynik2uDzFWG5ompUC3/5Hfhr8uEPnkGVdTdDbVjDM1guae7SmcSXNNNjrCJPxP30jhmMdtuwBum/gXVNyzQ/0IurjogLPu2wGB1uT5nmg56PgWA9NbKrwr53EjkAK6xGbXBcn7LE+4tYUn4IryMTjXkW/jIKJCmC0CX4Xr093OikQCTcZ07LI1GcwDgh0gM1WMJecp/QGp1ldC0mZ/JuG65iV6cokGVI5jVgoNCweeqwUvlkAkwQz8NiLZcRe/ixcHyr84icEfED2sI5r2pOpldv0I47ThzxIf3Dxti/Vo7W5rLoxWD65xe+znKvyLHbNF5F+JJ3+t6UevjsKW4yVQjrOYQKElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwE9JGEr2kXC86S1f9ET9ioVkYz5l5mic2iWpctSalsChiVo8aup9QqNL4Ix86RIPtd6OZ9CKhBH4dW0U2eLpIAQ==" } ] } ], - "Accounts createAccount should set account head to the chain head": [ + "Wallet createAccount should set account head to the chain head": [ { "header": { "sequence": 2, "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:EIQGoZrDyebM7yptCVZq6EmyAWugeD0h+dt/0AkxuE0=" + "data": "base64:sMZGkhbpIWxxOVrfiFJZe9gJrsujKlB6dIYO9WPp0Ak=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:UOxNGK4seDCjQXa8kXVCFeg+WvkfHdEBmODb9aDqZq4=" + "data": "base64:mdfQqWL6Ap+UTSSCuvJEDafqqLLND75ElzASD25jdyA=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243717391, + "timestamp": 1698950285354, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2140,21 +2140,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAArcLs9kaPHr8gAjfLd/XEwpFzxU6RGKv+vPsevMeurI6g2OH9LpM1t3JnXJtTOukuet8/mMbr0EZw63UUhFUBRCtsRgeWedr8rrO7khZA9JyoPKmCzAYt2Ec41+AO+mB6qpxxbUVr0yma43SEq/aVSGL0wdLi0wNgfM1Okwu69nYWGoq8t8RSULZZrV1WSa9fExB+F4KPEXn6FD67n8R6xOYRq+2GGd51mMm4Y3HBDparOi5uWMLIhhBlObDNITMhtbVXOFpccDITvzk2soxFb8yc/kWBOYOgkjXRkuAReKK1rdQ+vCwnQ9huw8/2VEsA3Z0mCbKidWcBnVoJ8z8nk/ewr1nsxord4ebdAaS6WenH4lByDKfaG5jiOFWGBDE2O5U3ZrPU6EhlmRtlFoFBRrLC/LlO3NA0lCBqq8GoI83E4spwUG8/eFJR0AMWSf4a0+XCYYYtSKOtJK4KDWDqn5QBVnP0q7whiWxFgSJmmUpiCrQqurcOs0ODnk14ZwC8eJPGb+S0tqZo5c6CreUJJEkA0pUt+zoIP2olO4vCOV54GqrIsaXrrV/CdSl2zSoVAqDZSIlgFcwq9I67vadzPQ5Nv06aBceeqkY8P5UNyegIyZq912Oem0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw9oBQXGrQpxAajSmEbtb2BV2QvCiA4FaCQfJtt/8zPt4dEFPUHfpx9q9E+92uwgYQn/i4NcswY3HTjiDK6+M+Bg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAw76DCHJxw+OuFxBrTZmQvEQY/GvukWoURxoJAvOObbKAkowrGIsMTBed36s4vL+cBCMw5AJa1FOC7MWDX09R8+7u11R1r2hXqlMK+1aASpODaQ9wIXcfIIn8LMO876bkTQq+e2fv7oRKQwauMXo35K+kWxJWpUbsGTZHMV43x2EKVWkS5iRPGJRBWHY6hOWwVRz7hQgNozUv2B7Z4cZ6HZFfJWg6Ctq5iv2Q2MJ9IgSxQPzZzaOT1PLxyEK48SwPnaa7jdIpFn6oD6LXXOJ7KDXoh4E0rc8/hKYjrBaBN7Ee58+4zNqw46lrU1O/58RdmQk+hhXu9LAuDHvP6Mz84IZw3LNj54amea/lnczLES0X7e1Z5xOvzsPxMqyE1+UAHVHFMwtT+JXaAKysw9IpQgxl0Zh9g0ubUCJQi9uZAC7riNjmWqQxbwINko902PEgXg8hgBwbYJNt9+fxGp84IOrowhMpmFtG1uobwBUT1PBFOr1NFxRtjfASUbIyh/0bJ6kWCFVZqKpS3k0wSeE2KNBNZerIhmG9/eUeuRQF7o3/M5AgBq1GcS2p3v/WmAXJeAtDcCn/Fx8wZQDFYGx3dPe4yIQJsKY9DqB3h7Hxlu9l5SzCLCBooklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwSzyOUFuK3tKo9Yh8QKQ85ePbA3lRN8UnSDZ5qqBV7mmOTJqLr51qGBsqLlUEQ7p9tPzoA49dQIP1OZ2g5qCpCg==" } ] } ], - "Accounts removeAccount should delete account": [ + "Wallet removeAccount should delete account": [ { "version": 2, - "id": "83b1db75-50f2-4c1c-92ae-c7d03534f210", + "id": "ce9b914f-fc75-4472-8dbd-9879755de59c", "name": "test", - "spendingKey": "2ab864b8dc26319e5882b9894c4668865c9839aa7a56c860e0e4f0dc0b9c8895", - "viewKey": "eb6bf77351877b680ac6e2f10bb8822c81bc0e1c8dddfccdff1ec1baa0b97c13bf6e5710603e1f5c90f10b616d6431de4974452c344a2332f29545cf8071d765", - "incomingViewKey": "bb57ade4da56711e9ca2c3f967cfd9ea05ce38e6c3c1297404845de56bc28800", - "outgoingViewKey": "ffd57b684be44bcc964e7c4f796ae3cdb46ae1f3b1b2fb9f8b257ee103a08793", - "publicAddress": "1b1f89e2263fba04e76d4a53ab250ce1ed04a5cee7642db8dd989dcb698cb065", + "spendingKey": "9917cdfbda42b23751368ae2f7895dd2900371378be11237fc3e14890962fc19", + "viewKey": "c891ca7de50f2fe856fda83b5e4b25dc6548b8140dc441654c94ba9fdf985a8b588fbf1407d986bf55b9267bd185e09799ec6dada259537ecbd3d4603b40cba3", + "incomingViewKey": "94650bcafa801e9268653ce662ff4a152c54cd78dd4a15ec1e64137630485e02", + "outgoingViewKey": "8c4b9070834d33d9bb718143d052c0e6415ab1856f68e9aa1d6a53e97e3300f1", + "publicAddress": "9ede8e43605b81b4d1d25d24578ec2c37cf4aa81a42140117805adbba260d073", "createdAt": { "hash": { "type": "Buffer", @@ -2165,19 +2165,19 @@ }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAGX9mWEeaZRrVsmV6wyFNo9Oynk5L4N70Q4hRpYdV0tWHISz2lz7O2MfZdj5DY/+7sYFpYjsdCtcFBxEH9lIwUGTMSXgu2/NyjpYrnbSkWZCKe+4aomO6UI6dKf3M/m+A2ZnYf0Br2C1CKxZ51cOVf0/17AXKwD9xVZpXSC57STcJZFg4AaQ67RG2chFsLUAM6RQ9gmCq+0Zy5owviiutXPg/mDE65PjAaUIW1D+SzYaIX/v1cfpv/VpUy4Eip8HfQvJJSnwUK6ZqASivmjnI/goDo6IAGaT4ClsWy1IXCDEdnn5Stmqu98Gscmw67/dILNCrP1lyqn7UjHzzx4bkSYoIiSJ9Mppw8cOyLMMdQLl3vxIjQ7CVD3oycu/vqcJVxZt9+4/xJUenL5IP7zvsqiavm/Tw++u0pz1zweqTAIRa28Wbhwh++YbEazLrc+tmH/YYl2Hp0T6Hng/Nu/WLjC/qVEg6GeS3NPlacSrLN80M9TCZN0jxo+wl6kswicQhMMVFaCKPua5H5wEOgTCP1OB7HBbLyyB9uH3U2RIQMbHjqP5TE0ckkkm26naZ7EnKE/fFR5TfHfmLQ/kYive9JoSY6p63sw8woj4eplr3yxST+TvBtLFXSklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw7WZv7RZv1FS2XfC3JlmwZrfH5KHoXn9aWvv+XwotC+OyhYPRuzM8qlBGgW8PmLg68xYBxSoaCmVJXyShH7qbDQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAHmL0zJpuehbze2INCErnVhfvJBoocrZwFcrHCkuRacex6upyV/oCBfJM+MTG219PMEToHnTvJ8M1rk/qxTjtBw1WQYuH4IVVRKGcsPuN/oa3r+CPRtLcS+i/q7JqsRzAlIx4eb+e34meO9Brb56nzokZ1dblclLHD9GRejBY9PYGAI4GOVddV4fN/mC3KZoe5BT9p1VLtgVx+wDOGCQ+Hr4nO9FWu0pgOpP0FVdfpLKHkOZf20206MCvJJFl7N0fbnFvh9AZt75DzQR/4h38+03Kq2TXZZ987alchaxco1vii+3Zb+OalvT68fu8cAXn2f9dCwdvLzOD+SOqpMCJX9i1S9z4F3lXgvD41udYjjzglHS26Z56j2FuvtsmM8EWRc0qCqnUMm7yrgX4bd8FLWKjBLEhs8IzzkgebSN9DzQNmnCLp4Rrv33ulBlc3RstLi9ctSjybgcDh93eBspA4MZAJhDEp+dn9Mv1rep5YHHWQSEz7QG/3Ohhg+yK1vQX0z978jDH6pJUo6VqzPEMgeT0wyX7DsznHPq7NIbnD0/FPbt0rvt7zGFe0s9pmT4xsg9y4R9ORxrhIRTJHpnBqYhOOD/v4fo1Rk4DtMS8OdZUdRF7k93a7Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwXqiP8WsS2Qpw5A4FmXEnLO063UXaeXLzKum9eY2XP9La7HUKH0MsaV+M9h+l03AGKOlWJMIEUyhIDOZhH+iHAQ==" } ], - "Accounts createTransaction should throw error if fee and fee rate are empty": [ + "Wallet createTransaction should throw error if fee and fee rate are empty": [ { "version": 2, - "id": "b8163def-2e93-4075-b918-00b2ac285df7", + "id": "3106442d-c8eb-486f-a52d-6e8dd973036d", "name": "a", - "spendingKey": "8bfb89dd37515d1c58a7be5a6e6cfb3500ccdd99494b14e37845576ead91ab4e", - "viewKey": "23aa02422e06f12a18de8f125642f7b2e32e6ac0d64d6e8f5f5bc73f3b13743294b6e2df114b2f979f7d9925da05872845cbb117755068e9a8470a63c225e429", - "incomingViewKey": "4a59d99c390133a5f321abbf61aaa44795f4704c1345b414efb4a8a14f758406", - "outgoingViewKey": "39c8cedb41ecc27699b8799618a77b17a76af673abd37a93394ed09a0d14e48e", - "publicAddress": "85cfe51aefef4baffa69fb12790f98268a4a3beb123c05151735a21dd3a632b6", + "spendingKey": "17e603863e60ab554b1cec2f42a4a6df32f0188cde0cc939b0919a702966f7b2", + "viewKey": "16dd35a0953c955fcc851a20b6c4c946b6af4e054d45c42ea6e64c6c822a66c5c5c93beec4badcd9eb4b8ee2376ac6c0a47f9093755a65cb2d68e718e5acba28", + "incomingViewKey": "3c7bf92c05b4d125bf9588da0cc953ab97df17eff6ba6e74260aefe209863a03", + "outgoingViewKey": "cd39b128680a773c79107735aebdd34216dcd534d118fb550445f9533259f713", + "publicAddress": "469ebdfa744f3781d13a70d4448392538dd630636877c07069d2c0478903bbaa", "createdAt": { "hash": { "type": "Buffer", @@ -2192,15 +2192,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:d3dSWHZU/GE8pJBHE6myN8GtiNK7AU704O6LWYHKpxU=" + "data": "base64:vZI4yaBiLDFd5eVg36btdP9TXMdFxI+4RS/F7xqw0gQ=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:UywOyEY7HDwPquXHJv1rCjeTaw93wY1Bcxw9XbDZe8g=" + "data": "base64:QQjGUXucNI60QOShcvYpAjmzrklxJk3X33XthPHlofY=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243718060, + "timestamp": 1698950286170, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2208,21 +2208,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAmuK3J0ZwYkIJRreWw+NPAV9/78Gyhx+20Upb1pVx6KiQORyU34dEOvQJFVm32zEv1rzUzaY7E0rV+NJDVt9Xow+pMSZ1m/Edzi4c5EidLM2HQ6KuG49AmvtMTmkl1xU5RvPJDDjTyjzPCuJ0JS0Rme6XjDPY1yu+AQll2s3FZ3oHEUz1CgdphbJgk1pqfEk+DqIbA/Y+RaFqqHEAA1zMY0U9a0iX71KyTX6P1HuKKMaQqp9RUQQ1vrV35DWhrRZMGqnX/+sAopSdXKOoHrYqP+LAwRnb5qjERvPqTCRmcDZEqWmaMN66yOyyDuU2otcxOf4S7UtJrgYhr/0RQzkdlGFAAiadS96/zWKzSpZw7NPyRqsVHS4e32ZS6eBUqP9xy4txN/1zq3969X8G9/OYTeA1JcSAVGjuErY75r6rRUf5LVftADPBkSRddXedGJlfNPa+0Em0YSdsOhN4fxCfeLing2shcr9gxe2XxsO6k42f4JDz/5vvgEtOmToYqg74fTAEyfzJQ97wt6/HB7yilr0QbRsbyxtvy/mgF6BI2T5rUmLjupMa5QRrF0LXvTqXjwsaIP/VwC7sN45i1t8HUM3FBo6n2gkTDTOYJMeRbSqjLqLlWaYTrUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw/72g4WrRrMTgo3yPxUGM73HADSv99VNm+kYe7K1Oq4MqBHHc1qJlTlwZLfkGzE59qs7QMjx1iTtgSJtjlyqlCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAfCqUrrLrOiavrunVIporQyalpIOmRnpAvGqFbbSP/7yYRuXbBEQSfyvnba7hGKLY/QlnNWdMxGnB3+1RneuRFwC5wn4TlNkQCKwGupPLAxiq8YrWBZF/+haFekNz5TslhIh3xD+vmm0rugoYkHjkPjHDoo+Tk3liBg3RP1D7tX8EqK+UJwYoTEPp2ZVSGSKY8wFD5Z4R/xSJMwyhfQI2+/Zv1sMnXR1Pi2FdyAqGbaaRQn1dpTwYsEyrIVNL2tpYWcdVIzzsWWTVlcerhGfE3n1z7ee/2U6oevs8Y5TpxsQ07w4SIu14kl7DQWEJJP5iRyYwhFx7cW2Kh5+c+s8dntNk38G9LAwTShug6gd6JflQ0LYXJ1fh5l5gmgCi3vM3jn3UED1e7H8GL6kSWhYw4wvV4ri/M17ajeDAVJTp0Uch+Jqt+QR+qVNkQNGwL+5JVZPD5H9l2wEMDuXvqAONxy1b3W/k7VkGZ0OeZHbqXlfS9rlLqGVmAPlh83NgoaS1eQokOI7q/2M+MMJXhE0mQstLR7tNylq82BDwhyEUISy+gj9vNnBT6TXbOashcIQDqoeoNVnD7raUe3vBBt5dZgK0Fdpf7geNHPdkz4Arc1rKNb+ne6p4cElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwPeu6nox0CAawteHRLrqIq4vZA64Qi7VQkCstHVFAnoEyZWmGHrohab23GU+cxXZMSVASX7uQAtEmJpXSp1voCw==" } ] } ], - "Accounts createTransaction should create raw transaction with fee rate": [ + "Wallet createTransaction should create raw transaction with fee rate": [ { "version": 2, - "id": "e9bf4023-77f4-4655-a1e0-55c8d105dad2", + "id": "1f720688-d584-4745-a70c-db5327c94584", "name": "a", - "spendingKey": "190d43460d63738ad3781e8ca89c6182a56756456a9551d24de8672d1efab972", - "viewKey": "c023a99b13ba0fe36457ee8445c16b414e290543e3ea04a2ac25324f506e641c2c40884e04dc99554bc3f9c60fcfb9a1f2a23fc3ea48c1077bb47eeeee7868e9", - "incomingViewKey": "7b6ab733bc87f8aca04716da396dadbe004c8712f0ae7b9fe1d9257f003a8e07", - "outgoingViewKey": "4345e007f2c85059be907a4354f48eb76bedba697ce5624cefeea49fb64e8279", - "publicAddress": "425b67611e61c4d6420d98a1c02a52fe1197627550c1d656f79b37fcb8612983", + "spendingKey": "847351160e1f352d11c9132849acb8a9bd48c1504786f4a0ff6107954120e99d", + "viewKey": "af7389bc2989f4d47f74822a503ab131023526d9ca209c9a0ad65c1f96f510e87f52d108a4b5a16932c8ac7ce17570c49431d8d0d31b5874e29b22dba6fa9207", + "incomingViewKey": "80162580e7a819ac71a4774ccc531ecc16a70e10a43b0788511cd90d445f2204", + "outgoingViewKey": "015eb67799ab730b5f965371f9071be4e5994d55869d8e5c57c5f010924fded3", + "publicAddress": "6ceb921acbfbaa8d081af1ee50344b922b084dcd70c5d55e296a38a4f444e2a7", "createdAt": { "hash": { "type": "Buffer", @@ -2237,15 +2237,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:IxMqHr78sLfzHZIeCgCcyGuaAr0YlOD3T0pu9WY8YgE=" + "data": "base64:t5D+L0/ps33LvuK/K2WwBTFIOl8/5dquNMBtSBs6K0c=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:v/K0LaWh5feeU3XlJHas8KWxaVzyqmWXP+ThFXxq3cM=" + "data": "base64:wManQp2qPF96yCiA6sEbWaPyjltusNRIhtUVhGBApqo=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243718420, + "timestamp": 1698950286528, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2253,21 +2253,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAA9VtXaMuPVBJayA98tRIuGPLjFQr/PXvA5EJr5Hn0aSVPL2ykfjoMprhiRKdDnXJ7FdEhhAGCbisLA0CshDHOMqtT3uAEj2pELGGkelxf9yjZ61u9KkVZMF7ivZ254AyTWKYPu1MyzvANKiFooZt7ykyjFAapz4rfSPlmvGudXsXwQb/8JvquCjbjq4ywtfhEA17TTxf8/FSvDV0C/5OhR1mSBQJMD0uHbLXFGuhfEyFb7hoPuip7Xztqwi/EeNeEMNpf2zgzPmn/B4GnWoIZq325p+NhadytwYsUGKSzbtWKKUxCfgdc5C0Ks+shrAK5sMWFG8UzBIpmhrSN82l5uXis/4oK8gn1NX7hWaxITmQuN7uVfAUk/SzeErjGhpR7A34mf/VAUYa/gejUJBAiy34jmH/fvuqm/i978XVBoOFijRWG+H3PI1MINt/tF4IUd8Lx46VzQzouq+6qZHcc3/arZyFOnHT2imTYIjzknAP+H2gz5wPNguLLB3qCWX1OyRyTEGpgP6knM12bGLBcbjNc7mu0vZzK8pRRvlziCATkodqkyNIyDrVC7r8Kp4SmaIzDuqu/aAdDcAUuQeBt1YzQYK6hfTzBww/RHlmt7eIzPzLBDrNkElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwkf5GEp1kISCAZcr7vrriV33CU4WdRIcaxttzYaGRma2aLG8fFlv8p9e0KMjgxAm+mbCjewJ3ggM7VBpu6UxsCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA6Z4K6jTluCfH+zIurhdU5cuQK1PMC8jHztoE3SPvtW6gbTqlmqwKA80O45kO2Taz5L+tbpmpmjnHGgRIAV31u3q5sMoD2BWGyNlq395TE1KOfurz7i7jnLq35+FRZVpvSjPI19XYBcJEQOQo17N9tsOUw2WBEPHiqTodgbnMoE0Ki//Zn/cr+O5vT2Fz6H7Aq7TgvRHmnT5QKJ//cl1fGTXzwSN8KAZRP7z6St4YodCABsE5sMrM9JTzzkSOfxxcG7xhPB0/qnALAiCwGbUr3UMCZWlEAFuYRrsUgfvqBaEpT0a7L3UvPXxhOpnPdMU1/OCBIfBikSo2g3tLhxy2KXCZSeD4VoDXF8t3yIRJcdTBqF6yhrB7O/k+Qz9RwgEhnfry7LF6llFWD/Y4aHzqen1ul1srAiOo9IJy98S7Veu3yywoxHDDzQNswSPn10y4FY6+ymq+Sgk3bygdI8jJuis28PSF0v6PM1GJlMzfj0tnCPAnEE+vTnj+mXqTBxVHcfHphAhG1NyBeVx4BNrixGnHAlepvQSl76k78asOKSr8prenCyRIICAVqr9qCKtx0NRN43f3dNOMEThRtlImnAzC2kYIoXl1rUNHpGPHs0vWJo2X1PhZ2Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ+fVbz0WHNhOXP+GZW6c2vudbwuQkeGjaS7OxdhxlJvIZbHhf8hYL4+RtmOaAJKCck/FcJuavZO0e8ulJw61DQ==" } ] } ], - "Accounts createTransaction should create transaction with a list of note hashes to spend": [ + "Wallet createTransaction should create transaction with a list of note hashes to spend": [ { "version": 2, - "id": "058f3d9f-9fe4-463d-baa0-0cf337f47f49", + "id": "927281ec-66d5-414c-9b39-574fa307112d", "name": "a", - "spendingKey": "f9ac7d00ccdc6b2b057664c80e6c7cb1d2f4a703f08dff0fc55a7ce83244fab1", - "viewKey": "0b606338c490e430022fc9ef31ec48cf624ea82fde812611e3c36bf68f7244c36e6c53b72fc68457eb24b1bafb564bcbd41d618f715fb322b634cc034bc2e0ed", - "incomingViewKey": "ea1a7ed43947b12aa3dc3454885e79ed8e07bc2fd0c05ae49059f553060ce104", - "outgoingViewKey": "466014212eba36c6f65a3a3999335528d91f65eb864466abe4e74d062b74626b", - "publicAddress": "d1045366d52f2c5b67d99b1229edbd93a3a3fc0b4d46cfb75f6068e0deac3e25", + "spendingKey": "0512051b9ba39972a384a9e90dce6718f89cf88abc7f19af9fdbfed365978c6e", + "viewKey": "09d114dcbc67728f56aca0f81ad978d728f1e51c0dc325701d18ba75f3595e719f7caa4b746c0fa21feed2e825f8efbf33c0450ec8acef401882e97ea0be9d66", + "incomingViewKey": "232d788105fc1a8b202ffc7d38ed4f16d329f7448882e18a1726d9587ff44203", + "outgoingViewKey": "35788cf52d6e6f6b24cc3319f7b850fb0e6ced7a6976f6cc48276209b31d6b3f", + "publicAddress": "cc461cd94451934cfdef5e742df86f2a183c4479f82f64607af4e67e56272118", "createdAt": { "hash": { "type": "Buffer", @@ -2282,15 +2282,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:2D5E/QYh0U02TvNUhutM5j+1RNpkjMt3dKmOoWPbGjw=" + "data": "base64:U/ulBh9yJAFTjQeuedmSMDJfYgD8dPazSrBTIab21gM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:+nSkI1sHzYVRTLffi3R4zjiZah21dVnrOYu9M+u1wd4=" + "data": "base64:4zr/mLqI7/Q7hBEKpzImdoIJztvE7z+wPr0A5YnmvBU=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243718779, + "timestamp": 1698950287035, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2298,25 +2298,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA8TxlknfV9dnzj4kXHG6yHRfPb2R0ra5dsONc6lorVL+Bb5lzlxW47XOPGMETzDR87WNqCxdLR6YK3D6A7M69NnTBEc7GvMJgaFq9qIbyOJulzZDkXesC/snPFcaDzTRGxKTZwR8hC9ayuT4b3J1GR84jRxhLCmty5gmTtDTI/BIPFRF7OV74hrVOhMp1/KT957N+4maDOvF130hZZizAyZLsz1VbJw1EmoOUOq4n/Q2UB1H0XQC6aT8+Mwr3TNB5RjvMr6cMC12kqjImBVyZfdoZMtCSXWN79wDvS7WNaiJE7pmj432ZVp7zQlmrRzAOtGmFXRBy1nItNCWWwjbI0s4z16rCew+B69RonQBHwySuOCBVlpYjFTGHHEm0yhFKHO/12FIdUsvFwql/biPNoS18o1E7AzC4ip5fkbwrPNd6WZ0b7fDQLO/VGfC0TvtZO6ho+y5gHBj/NNWxn5+8yh5Ve3uWhYtz7uiXycBERMnMWksWadVfbxwMJ/dzo3xUNh39Xo79hpNjW2jHWEqwJGgw4g8UQTT5GPzAHWmLznUt5N9RSSSJtG+OfCDfw+hh7Bezf28MAZSSh8qheY/soRuJCyMrGlIfflkHkGRE1vDq+6h7qqfu4klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLoa52esymBAMEKzR2r3Vq8rQRu1PBhUjqicVCjm7CdjDYwkEO6WRCkjkTfvWQsX3n/JWcqTfIvUlGN8QHc/cCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA3ojDVnEd6McTxbZe/eX3nLOj6F9mSUlx27sGSzfHp0CsW1h411GZg8d+FZbNP2ktT6JCs7fxbSDp+R504fnqhA06MFXwB489y6K7bX8F3LuwU7fDgsvYOMTCwd7Fm2gXExhUjstY3yYyblzBvmzQUq99vsFFi8Id1X31k3vg9OMOU+uAOoWfYE4yOjsXqYc240X1k7saAF98Z4I1OUPUBp9+F7uIQYRWMWUIA52e3fuxUNo9FDOOIjkuVDp341lMw7+sDEjWoGmD0AeAxRcxsJcOfe/RNtoyUWv+jgXcf2G1qCPxwxP3TJKYoJIOmMN8/9e8VfipNpdSMMmpSqi5JpUAFVU+cFKOiku7hIvldeUJMpHsBa6J88xAH+V3KI0YkBKJDOUw3ElhzhcL+P6VmE6latchY3IyrqzYlLM5Twdr4QuyZ19T8RKf/QBurUkWqghm83ZSlZbtiX0ijxpwn13wRwRut/dWiCQW2le5CH/n06L0ECgCt1TElX/2zjZwO4CskJzpq5s2NUCF0FhQj2QGvVJKMGy0dirt5s9VsiZOguf3TNsSp+eovsxcx++713xYd9d8FmpqSyXuRCaUwQw/JG9SJHa4MuYmXjW5CDOaP/rQjqyZ+klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKvya2JzcwhYOgrBHvTFp7u71blQjPknZ2mvvZvi5AbZZMCqUsZZAVM6Fon52wtmEltXFS2748M3OuzouMUWNBw==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "42862CFC2B0037FA9CACB493A4C5B0A28593FED09EC8EBB1787518FD8BEF24D5", + "previousBlockHash": "DFC203EBB9887EBD95486ABEEE6DDACA0A41E2311CADF349AFAF4520B21ACE32", "noteCommitment": { "type": "Buffer", - "data": "base64:SMPKkr7iSdUDEHFzSz6wDPdD/E7kpc/bOniLylPyykQ=" + "data": "base64:uc82cetv+H5ch6y2bqP/o1z2poWSippnJqyGEt072yQ=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:J8xX451U184UgUGWc3w3Pw5UlPwZbDGu4Ox38qd+dmw=" + "data": "base64:kGHt9Ezq9idKzija/qNsDedfZdLzQYuxv0TAoJ8BiPA=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243719053, + "timestamp": 1698950287371, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -2324,25 +2324,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAALTyzIe2ktwmKa7wth651775KL4wn7gpWsVi8y7aIJmWrM8D+krkQekBo4viGsYqAMSperELg7VVlzYubCZJmAjOUDHUprtd4rO3cSZd0fjyNI/zfmCzXb0TWIBBxeS3/aM99w7s8Sc3cglXF3WpM/iR260TKZh9SriMvPKS4+vUXT0nL/QobG5+Owqmh0hg/EN2Bm92dQyjle8FCQx4OTmIOcwweeKS7DOs3sgKtKjqPTVlM9i4Dp/Kn/EzA4Zd5Rd8jfgEnKjNMjznp+DPGfK0jiQ/NSAYEEQu5RVz6t3VO6dh0qVMid5KHnc3Oy9hPPeW1PE1WY7k2Vw5TwswfB+U8ow7TlId+voxVYpOlNjxOEkuhTeR10zNI/QTtPBA4apXtM87U4Ti+U24PRT7Ea0wiIV7v3BBCR+NqjIN1ckoXO8SksP+xys6pFN1YJmA4U8TU0uFQplcwXsFCSKUgiYmHdC5AVHhJZoH1kUghME6wW5sTiwI8Hf8bR7P8z5v/rrg3BskxZtOCueRIde8pMWgbbEYuW5JsFaWsKzKSTh3SK2hy4fdvTGYSmhjNONMJWucZVYc8ZZPOnE5Foed2t3JJ6WygHLr9iteirxFmsOsKhUm3X7uh5Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw2vGblB6f21fkXI4FUvVkgrlObBvFKR1MyVYDnD8TBFTPQ+n8+AlMpxM8aW1hqYU/fpmwMlASPcslqPKGgiz2Ag==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA99D6aGQm8hSHImsNNHrw2GXiwGPbRxmSD7qHnQAnrGSz0a7jSEgz+6J7nl89ElwYunuBgNNQjemASxYGOE2Z7U1rVM7O7OwGXklMoQ4vTsqXW6jx/UC9a+EJ4gyMmc665wSe4ucXa7j0EWESpU30fQtYe4F/pEQxgu9xVPxdLvkSppf9TIcn9UY6toRATS428G/L7ygrCB6LwPk4gxx7bDZqLY1tdKZkAYjBINCZTOiG4zMSHna5pC1OBdDirA88+mijIJ8FHV/gddUTKe4ObFMu8BGhPejIZEt7gU6QrpkiD8c2O8z8eg+SBJKTtfTt3jur0M9GVRQOZbbalOihcl/VXidp8FskHm7VMg8vbZZgoBYI+D0H8hOFgJJdtNssjqhf6KUOCG+wBn8iPxGr3xi532jFdK7Mk7O63CyhFKj3puGLjjh5ATVCBeGMgbi8/pTjgW61Ji26LhAp+JvniHm1aLWSAodwzeytjsYrzPgy/KiW4lKl6c8TsoVnM1FOh0JFMnq2PWC4K2xY9SwBX2nqbUnmwrgdnk65AgTgKVD8RAZzwbxE+d0VvzgLp4EQL4xFn3QfZZEwSDM1pNFpQSou5WXKvEYicGrg5z/WlltX1PPEBCKfaElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwUaaswuBIR1rbxWvcvMLwPL4fx6kD02KZc9h1heMz7L+N15SNncxXLFmWT/1X0W3fhVlHFeOpCPB054e1MaOuDA==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "FDEFF2A3F7AEDCEF6E459B2322C6A735933BEE425F439DC00726D3B51EAA8675", + "previousBlockHash": "182F70264B2B8A846B4F3A865C3F12CDF879D09483D380AF8FB82DA4662344E3", "noteCommitment": { "type": "Buffer", - "data": "base64:UxUJMsaJi51R6fAdCgB1pXnphfewu/fkOo0wBGHwkGE=" + "data": "base64:dfBOjYtMpQ+HJHaCujb35gjDObWKWtgrXH6/8PdB1z8=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:+obS6/8fv9m4RK7P+12MwPX1GvT2H3W7FEHi0nfYqK4=" + "data": "base64:aKYcpg6+qObPMdMKWbIt/bhdkLNbC5mb5ujeZsc2uEw=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243719319, + "timestamp": 1698950287754, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -2350,21 +2350,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA0wRbIG0fAi1FEw2oBkRFsoxblPEyGFEgtJQQLH1fbRiqN8nWSEjOpbZqIhPikqkhgwM7iSWk8QZDvELdS6aDVv95r/QE4vc/gc1SxmGU0AaNbb5uBEXplxobRdhVoONMkoOkuJcx8tPJtl2ryz/ttnTEufNExJc9+Dmn08qouC8CnxuUpgzM6C2svKFD2RnCD3IgFjCxHYKF6kIDtDWo+j1JREKZCoTTaFL4gSyNCverXep2k2mlKcEHvkniyTTERrx/4Wg83uqGiPfzb6aQEbssNCWM47O+02nAq2epdFrPH5rhEUR9654xUyX7agCIRp8oaGsE6S9sAkQkKRPmvjiLIbEol0fjzV4OJ6668fADQCEIaIcYCxA5RYilMY4S5a8E7zDIrLzfDIvpFFtSeDovG6tJO7YAj5jpkeOHUjQk87USd47/8FBTujckxA/jrVrBOqI0ragjJjeu8JC3eFZYmax+Jd7ic7ksoarJfvS5TF0gELYYciHoMbqhNlOFIAb2lMNpxL8A7kGbs+Oamv5ESC/XSMpHeVLGC91ge/vfSFwvc79pRQtZAMw2dGXQ/fNPobT0UyQAAtPvcGLRGLSGdIO1lbicCU9R7dpNZ3m/etsQSO9QSUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUalitFxbFQ4R4sT7sFdN503BjmTcTReD9A/ipLTVoj7exw26+EAH0+9XD+dyyKVsshPMpD1ajXYQbI+BRriCw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAtKeRBI31xvxhdqcZUgWx+Gj5Et2k8YVtvBrDfEjjHLizuT/xPC0kF4fA5sZiv5szxpvnnfWz7QffGTOYrlNAcgXMdjrEXY2FDxGzhU98p/CPCq0m/ZWMxWquhJtPRxpumBAhVq357UpliSYrg3K1JOakKeqqe3yfuTF78EpS7wQYZoMP8eMc/9ShKtD5n4uz1jBx9bvFEjrAXOMMkE7+IGY7nbknOQguemJNzYUdT420iSy8NqTPPIEWpZhn0l35RQWd41bHW/PdUUysKkKtBbCf+uP8faEFI0CGehLljtFPA/ZGlQJaTJWligF+NGwJKMEh2dg5xmNCBwpF3LflP+PMAPWE6D7v3nUpizGfiINicwmjh5OuF9N6DT78eWEgNQboVj+bVbHEKMQxlTyfNOpB8Esww3C7/pj1b86qkAy1/fBoCdhxjHZpF37r69FZqv3FzzGtiONQe0+Avma7HU4C5X/5wDTo2Udp7lNy0oDWFmSORWiiKxWYqHqhqwUu8aTbz+n82qymvy2uI9DcURguhRZ8iyfoBcVLqlUYDBdqEUmc08TrASo+POke7HvvjuaJQF5HfDrotiHz1P1Z5aTl30zj+I0yDRId/oQKFokMFH3IaZQ630lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwuaSl2WLAi7fiIhKqmOo48rk19p8MOvshBAEE8ovWZKWqQa36tlg49pDRXsNkyejkb6Qpax7HW4/EcQlAhFShBQ==" } ] } ], - "Accounts createTransaction should create transaction with a list of multiple note hashes to spend": [ + "Wallet createTransaction should create transaction with a list of multiple note hashes to spend": [ { "version": 2, - "id": "4dbdb9ae-1691-4bfe-a6ba-11e02b804061", + "id": "75f82e1c-38f6-4cde-95bd-378bf6305001", "name": "a", - "spendingKey": "8402e7012a0f039b621362a8467db3935ce346ebfa2ae1db3afdc68fc7e7acae", - "viewKey": "c76398c03b623ba5698325a64845e229f28e41553b9aff1e1fba628af234c8c455cfd9591e824d39176d29157703ad71e197e58070173a78ce0e44c78c4f254e", - "incomingViewKey": "cdf5bfb70004ac542ab2718587cdf366def4aa3213811568fc29e8c5ba55eb01", - "outgoingViewKey": "0e933bdaf12ae1d3333ab05432db65f8b91ddb3db611c095028115744052ff70", - "publicAddress": "322946876ba0e42da27ae5ec20e20163e0186d20ecbc4693968e1892b5dd650b", + "spendingKey": "037ccdec0e7882c68cfeee21aac71dd84adec3e1f2bb58b15685583ebe667eaf", + "viewKey": "24dfba12b29eabec864dbb3d9ed9100dd0490a9e8d30c475ce1ae71ed93a972b900f313923a8e2c8b9519c6baae00ef564713200feb15b31b15610b92a5c7173", + "incomingViewKey": "debee43cb8628106161bef75d331a659ffa27e8044ca5c05aff69266fd322602", + "outgoingViewKey": "bde74350c1a862b573d9a7d6ee9c683225704c0ab5b8c6c6722ed36b7bb5ce98", + "publicAddress": "4f2457aebf5eb325ea2fadabe5197e16cfc9b33a5338df3f1fb955fcd23b3e3b", "createdAt": { "hash": { "type": "Buffer", @@ -2379,15 +2379,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:FRw6WhhSWDrfClwZdnbrMewFwX5NC3NUb3TknxomqAQ=" + "data": "base64:bXmGyYYbvgSkv7F7LCrRxtExNTezh1HmBotwx02zbVw=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:W3um6nsxMabFP7SS9weFA6paGE4SfOyeB/1IpsE4nLU=" + "data": "base64:eO8F0TMVXrQT6T6Fsioa2jT1Cglq9uH8OhDs6LNdC6A=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243719675, + "timestamp": 1698950288219, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2395,25 +2395,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAQRzSQQa17fdXbte1pZzvbtAJ7x0xwhVFmpoSuaVnAmmuEylPC5aqhV2UG54R8bwnL0PCDN6xg39O+vW1JGWs5Mol3WDUn6/eV7d+6Iva2lGS/yg1frklzP9qSQOddP4bBMiuRkzalKni6E1dyhmyPOUreNCY3A0lLqUwHI3uBd8H5hnlp1Npt//gZQHfeJEt8jLbApB3SC2So9hRTrXZMgHnEvbOH0HdnUbORrAEPAuj/76afvCxKIUi1LsvlipKPuw5CaKk9ZeeaKbhGDIjyy2kz3p5NemQMGXVuEvRezs5H1DbMe3yOsM3xKmG+621AeQM1Q0hxTiG59knVB6vDfGWwqRHHS6yEkNwWAu5rNCSgRlSbO1YhqBBpptiDugkAqMKxjyTPPr6gsOTDmE/UWCnOQOS5OPudJzF0mDhs1wo2/HJ4FhapXgQPIg3gblC/53k5kLUnZHkOjyPoOfEHUhDM690OVSx3VQsxNb6X6kLDSGgRGD8Oi53YUyU7zJj9oElHllil2ApbNmiYJwKPh7EkimCZ17YJIZgKrkWt5srEdGILEha96CoLySoTcWoLOdqg6GxOU5/QJ8wnyJ8JKEKs69ViTvbEuW+JVY0L9FjlnTWLvXOt0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCQSlyEITs4/aFAo/yUbJOOITsNNWgoTxsgi4ixuv7ORfDrg+PLraowJ2kJgi0O1+lsy5XSHBFvXh6Hdb4CGeCw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAxAcMOhRf+rimYKL4ZW+43c50mzFGpXmcPgAH+fWhS5SUdIzhyW9614zSWU0jebB8NWKW4Ip/y0aecu8cAJyQLV5x5kx1y1HMVWhU3CMweOqVSRWp/ePwH7m0WTC1ayvGytAlGgMv2cmOzZQvmWBRUczIP4f8SyhM+Dd0GcufIDEC0UAGQJydvj2htjTpG0d3tUJqyI1YVd+tLNTFz/ey1gwe+JpYENryzYdMRtwMv7WHdWWRI705ZSrpa7VYqYprJnYw9HXA0RNyvKUWyiRlkIoDTlsiPwM/zZCy0OG92fiUQW37XFojP3r1QUkjcaXRQfRyEj3uXAm1IHXeTRGegeHCx0wMScxvZfGtjOzQeQasJBBoktGP6MSO9BYHEmNkqTCO1s4eRWI44szD7c714Ob+jO4n8bCtu4XIfkHrhMEFNYH7V96j7mKB8THQ8dSqppUb8WjgbZ9Kkc63d1tMeuCuy1d9GWjqLja4INLnT4pqPDCkQFNCiYARox4c3Htd8Uz6SsGpWvusGlvDvXD1z3150u8eazmxrXDiay07FuNO5U6smOwTnHWVfIoyJOIP/5HzdEQ58iIdeYKpbj9bxWiHfq2LvIRiDLhXLWbQeDVKyDwusKiIjElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwopyt0hKnZVpAt5Hi0WGdY3UCA75wLeYjRgU6puSXRJHVdt3bHSoOvZmj3bbmMdcHf0iNvBMdWHOGWdTrqZBYCQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "4A53DA8C56F153D5D78EDD671031ACFDDE761F74E412B8F1FCA79B2D1E2E6087", + "previousBlockHash": "4437207987F3D9326B5F376304E36B713E49A2F531B967F5B7EE3708C27B3F71", "noteCommitment": { "type": "Buffer", - "data": "base64:IPMCg7mBJSVJZqxz+8T95KBQj1iHyOkhXgx5ENkAOV8=" + "data": "base64:jwgFjany0avkG+tPYFrQYq6mvahNfbU1C3kVepjYMDY=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:39uOz9ak/I1gQgY26Ol0yaEf2ng0uAx0Lh9xzxtLo5Y=" + "data": "base64:ITvvhWOyi4Y2MM1o2GkgCLSfuqHUDYKwdLuIdXwHAF8=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243719942, + "timestamp": 1698950288647, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -2421,25 +2421,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAUJLR5Yzycsjb4UOBrXxy2C4uqQv+5W9r4EJTz1cPGqCz2/wAx3AlbXdFa/t8u9qRENa7m2cgpOqQX7BK0I4bZpv9ST+6cyysuxgLEqvPdcCTzoPqzyFYnBh7+MhAiIl584xe0kAwYhCvFih+HwaROfbwLRNUUlS3VRuwvyQGnFkBifmM3YStAmWqRlNXltwn46GBcG6eEXfWveDJLXnRM0tJerQ9qhe5s6mxujJAxWmE0tZmUTSnc18OlLsYjHV1cnvh3MEelmGKq/05GFqQFFPzPv3RR5GIJXipaHD5fb666IrYig/LDoAUG/I9azFCIm+QDEGlhUU9sRlgsDVDJ2K7RHjm014ioLkmTgz1/P3XVM9s71j2fOJei7F/F1E6HULE/JV+38CNvzTEN0/cG9lVNmWqkJlKY5mU+1v+zWo79BkyMKU6f5Tj2oomSS7feZEh38NbaCyHbYsbLRc/9TA/jqLA2zgGUYiijSsSTxvFV7+L4Q4ZNt0E+mn1D0XoEGAUqaO/rOBagb5k82N1bduGBvsJQ84Xd/ETFkJnKbR3fysb8GT+mblMCsqsbV2Qbho9wLm6GL+DRF+Ri1YlBAYqaqEs7FzpPrmrTW8K5+6a1g4AOkeNVklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNidqGZeeA94kg10kxEjQ7nzkt/fLkrH+1EfaJbrfzi6I4G3rNlUZS4LlHd7Ge5O8i+xib2WTQnpjM7ELwByzBQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA8aV2PeM8fVutxCSWhyB1T0fD96xuxzCEmILfGQjbkbGQ2isbocDEukpk+d+dKi0sTq41YW/PKyxTRccN4BsStlv0WUktbqKI14OpzBOHRW2AS/1A6HpQF2d0QFcVTYa5MsqJSqpLeLqn0zF1Vor/88bfCiTk8El0tb/SiYUnw+gYvnRB9zbU1xo89DIxM3kguLPkmUcUxivv//HUij7kQChYAs2ZxpnRJhrzxXXuK4605skhhcZ3E2HebOoWQJlKT3ffZFJ9pRY4bKp1qCq+FU6Dw1XZ8CTM1eSaZle0gxyMo10bo9fRqiinD6zPLQpy2N1IetncsWRddIzw8GT6HP7hsWE5IF5vVladVVyvL3Og8UXSR8nyKeKXIO29yOdP+wMmUOzjHPyXoUMjMIGmwd61S8WAaB5TUyV8pTHwe3AmITlah8RZlLQpCzWZQmuSWsvCP/+sYApEIJOcC8Iz2RVhv2oxR76C4nBfTu/fB/jPBWcvcxoICnGdIjzALZz2W4aUhUHpDZ4l7Had7MGN8tWhjP0/HUxNnA2OWzsg7qQiReymCOW6FdjOAT6ZkK2ZRfyTagAzQ7PhlRpSjDuSC47I8dHDMUifpCKgMxrG6Dyajxsq8CojFklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwUJ8JCuREJTN85E4LjumwVz8CQwQIzYeJChsI0GjBCGSQ8lwzVboZWguDg1I/WBDGLKQHJcBjsLVE77xYLKA6Cg==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "28AE59B8141334E060D24A5DE4ECDA58F68A8DEDAA9A10255589C9408939D4C9", + "previousBlockHash": "8718405BBA443C1AB02B5D38F32388590D5D4C3A499B6D64FC2B70A799A14DB0", "noteCommitment": { "type": "Buffer", - "data": "base64:T3N9NDCwKUI5ig2Uu10DfH+JMKEtLRX72GKwYJtvmyo=" + "data": "base64:9HEf7bpmMY/NZwPhl7AdLLqABnHdFs948Mj6mVYPHCM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:rEWK9LBK3CFqZVbTBOT5zr0cGVLbmwdXp86nLp22oZw=" + "data": "base64:ZDMqdEUCkPN98TqW82Hc56wCmXQ3dRQdf+DGjntET5Q=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243720213, + "timestamp": 1698950288965, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -2447,21 +2447,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAJq9FrN+wAFcKjnm6n4v/3Ttwcwc5CUrwVUZexSO0hxSxipWWUE4YO6YtD1lKOJWLl7l0c/YjLRKecHQ+btLgfhAS3GxxKQJFQYEMW3DAemOM49cvHYh26IIxCgcUR1aX9SZj2mJRYg+tANLDh96bEFRyf8m6XecdbejexP1VJUQJmLjcatQYK29Ckf2dTJj4V/8vbBQ+Lo5rY5tHOfShcPMoauDHsHon7xHPNBBTbLqGO2utGdG5vN1LgZt9SqaZEATIMLls4K25kYJSxWdt/EqdqwN+EoqjDjj+XXofuozjwbYr7mim9rwsli4TCtEwcRiWsBgpQHDYYUpHF/hDs9nRvBzXhVJsRrwy5OsNYPyKgGFbEmLKxUMosFZnQxA/TRZQBuGVdSjS3k8JJW2gudg5tYjFCG/s/R8aYSh3/4GjYXniQD7AxDFEc6daVH9N1v08or5yydSD/IJ3XjhB+him7Cw0ruyzbSBGPVxUIcfkNVq+J7f6QThXOy+3fhOft9fSp7NWwzZoSTZzzfofYvl3klE9QkVho3JwvoF1KAYa3J1v5rR2D+zWELPJSCO+iwaPQdkEciFnIcjeOlCPx3fiG6gtUh/ETI1rbhozhBbqWzktCPd6n0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJbntYnnzCysdytKeTPW6ZLxVUZHk9sOiK8ysDgexmMECqVgm5HJHSWCNbmnzYAKYh7FnoiK+PH8qP8J7gHIzAg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAkQeaPzpBEair1jlORk8NhlpFiVooucf0+ZhsvHUraiSDr1uY9nbNTi6G7OW6aDBOtsyJbmxoxTWl/SQQSj10BQI364cuuua1cskxv0b0tKGWov/j1zZiPUHpMZWwM4Fop3gbxDrnI9yGqp0uaRWTqslDKPQQLZB79jWRBkCno4MFlb75uZATzgOzGMsqaAylDlTS8nJOW8U/rz/oHa6d5FPfd/mMh1t3EwJCeMmbFZ64Fww2pUye1BUlUrDlldicVwYC172EgPXo/rpHVGsA9Y92cz9LWcqbQicaGN+8rBbFOe5MqeAfQT2VXZIkLkO0XNgL/gXdFTrf8su53I1ZgAm0xZwvxeb8k9DoXIUIG4+VPnqlQjgCIkKePHibp0RceXjL/LwYBNU7CdUTcL6l7tvLnontzK8B9TEtvNyuUVfdAbh10IpatuXxNPN7LQf9oNuefitUqlnvCdm4Qnd2bar3JvYENaPHRIWU9xdQoQOudusO7lO8QEapRkhn5Uqmno2hFhsOrFz8t32mfHGVyU1anUgIqqHdhPtPtYK/LrbLQAZQmSlY2n+hs7lJJegAFD0DfisIN4IFxltyhxOPbFtm2IwscCKwbzvQ/7E9l45eKMe2B5Fvhklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwP5xuyKTJV/JzKHd07aZijNThUTzckmgBumPs8fvdh0XfmWYBhNqjVh42nNme+ijujsxvqlN39GU0mdZF3e3RAQ==" } ] } ], - "Accounts createTransaction should partially fund a transaction if the note hashes to spend have insufficient funds": [ + "Wallet createTransaction should partially fund a transaction if the note hashes to spend have insufficient funds": [ { "version": 2, - "id": "09548178-a791-4bb3-8be1-d39277b06c5b", + "id": "925ed193-f425-4ae6-ad8a-8d48c2be4d8d", "name": "a", - "spendingKey": "8c80faa28bd81b53657c215524fa4d87296d1846ab382d32d58b7be9a614d52a", - "viewKey": "34ca3cf9363e7c03ce412d0936ebfa0c0fb9ec385bd0fa04cc6f8237840665a464f4c45a1bf376819b0fddec8297247209f7b207641e320c953a7e783b8d50b2", - "incomingViewKey": "d708e55bc764d305cf845973c3202fc8c8835feee278cd29e5c13b1e1d4aea07", - "outgoingViewKey": "b24c7c37d1c23250f7c97fbe7c94278af618c955be2ff8bbb52da9db8df1b251", - "publicAddress": "b271a6317ffc2cd858a5a453feca5b74e7fbc130ce27adae78e7ae0500778200", + "spendingKey": "6d96c3d5d3ab186ea00ed0764a55c15eb69d9e9b163c6cce0bb588511002213a", + "viewKey": "50decf5abbf5871dc4846b170fd4ac00780b99568928425dd24bd5020ddc2ae72cef3294940faba32a976f05376f80658ee3316efbd43a902c77c848b2960f95", + "incomingViewKey": "4cfb74525101462d4e896f285343352620edcdd470881d3b014daf5718fecf00", + "outgoingViewKey": "912f347b2e47e1c4290fddae1e4d7a88367f13d530537d1141ea5610ade9b2ac", + "publicAddress": "252d7b5845164682fb694d83000f3283493a1446cd662b7296cb6d7c5ae6eead", "createdAt": { "hash": { "type": "Buffer", @@ -2476,15 +2476,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:QsgzfU/VS/Zt3+ABKNOkxq+Nevvp/LnpRmQMtA5mbzU=" + "data": "base64:Vp87zFUhT53sj/rQIXSFPQAjjE5OYOEHazZyQjVbIEM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:2cLNPQXVVh63NoSjWHVt7F0EOl2SPtvJ4LDhhVcJDQY=" + "data": "base64:9jAp9pPXi7ttYpEwLYtuNwIuTIWp1ta+qux8L2CUtKA=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243720573, + "timestamp": 1698950289320, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2492,25 +2492,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAp/RGBaqN0V4d6uoiUjS78z8vLEWrlfYM8JHJnx44rFKiduf1IxkKZih8MsEQyXvRb5mOn6aFY9AU85ZeedtxltCe6splUWfExI3bprHLnZSAeLoiYDSky1/I2AA9d1drDW6nTR+MwAogCoS4HU2GZXjJUG6cjZztWpT0HsdV3BsZHtwUF6LzQIYl+LU6Xs3RUSpaaznDrUeEnuIJ0+ILympR9uik11R9e6iQQXxSwIiznvfQIjz9rCQZDY1EmTOGvFzgRUv5vIyarKlGd4/ZpJvqHdB4KsA/DegDOyWlMMoEP02UcRUakaJGwnUuQqeeuNxy6n5PWOV+gOb0HbdG4KJNS8HXwulu/2ixAeVrO9BjUb8tbhn0U2xDExH+c9cs23S/3brS5MpEaRAMsoyrmTrdWAj8nCQt4rpKwmzdQhHnbyqAo5j+kesA2cecy7WHXiBfrA7Os29iyHvnZPhUVvB0zMqP9wkG4XdOrFCm0oT7Z0WXUyFsBzDkKihwd95zAiDLQoSNMBX4VdvBwoiKoFeEf2q/mcqUYpmkDFyyoKkkhN4KrBDo4GxamcIfpJM9jt/g3/jXGtUiEevEZ92LPnildX9KTtCpCABBjgiFon7oNk0W9wJEcElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw0lvBeDThlkG5X9C/8APtosHDyVX+M13PIAbRuBxu5cznHaISqszSNfR38mpM2jDvJtRcfqnt4e02Z4PitVNGDA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAbGRsGiMO5mcztEFtAkiEDWL9qcG1455VgK9LZtlvX9WuzPEwGmgV/1Wa3gaf7uP5apMyXelbd1YTdlgZVG2JAzP75jLe4Is1mNUjOzKemB+L058NyKWB9HEsJkMaprnvbtyUwXD1sgtrvUaTv2yUEQJllbYXQFE/KB8AzGGKQuAXzmSg7ulvwn6k23jGRBC0g6bFvVZobc/lapWizdDOKHPKrH6th+lCpu/IRrWIEDG0RNMqsLyvYuE8RblQBud6ovbasEEA1dV4454tfWL3/s1Givz7G2l30HTEoUaIo2OfPB0UZbw7SgHUoeEY8RcwhA9MHhdl8waAtvMmGvKywWugfAjZqkNBI2Es7nm/kVMmZRgnxw9MD5XYdO7FSAMusJFwa5vsVbfv7+WjvUHMUY0kDV+AkNtgqiq+0E97dOdQcHVSm+7alCsZooxXjH1fdUxZbNANL3Wt3jq2eiwfhGNQPoMqNraUCfyg7JdDBaGPrHjuzMQ3wFJJo26mPYtVgvEH+NeiGB+ETigzLft93sqUbeIT9BwxgsP/kaNelOLMi+6PpsEwBsfyfBoScBE8IzaDlQY1BQDaQsieB/ZvLtuHR0OvtHgrvsHSXxBYP/+SMWL7LIFjwElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw/lraEYXOthjosU22QuzLG/Hg/zlJv/NaHDk7Bjxzfsmk3qi07OWvu1MkppL91sGVf4Zy6N6sSRPG1xJqeO3KAQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "99222D9F7C58A9B016B4C8E86E7F437C105CD5A08FC8C0D7CA7A29EC5D6D3946", + "previousBlockHash": "BFC58743CAE7F8A7A94600F1E77677BC0C5819FFB0DCF3A5A78B140D2A5EDBE9", "noteCommitment": { "type": "Buffer", - "data": "base64:rzxkEDDmarXyVlfOFq83IWViEyZ16JVnkBUjjKGoQnA=" + "data": "base64:oSeHVGbls+givmjOE6P0oioTRJ65+C03CaBIJ4bTSAo=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:B63P2XJDqw/oSRH7argLshP4uAnB5SxQ6YK2/4QuhvE=" + "data": "base64:cffJyOjDoFtRpFFG8l0FKRzDwlM54eDG51yLowGqc7A=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243720842, + "timestamp": 1698950289724, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -2518,25 +2518,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAcWqn7Qhe/JjSvdlUxrOx0Q3tEgxKn/3fuhgZLMfLLU6G14g68rhWjEvGgavikaD9xGtc77CWLN7oYe5KoQz87YV8SAA4kkfRP5CLFbKPn3Sk4SiKw8us1TwOyVpDYJeW36ZM3PM/2tGkzEoPBFqy3OLNjYymTy1qbQxDwC09YWcUaxhHFXqRYHyKVR9XUZnd3vY91J8fGuCjHeAY0y7g413yuyV+bGYJ0Ktp37/lYnqwFp70/65Vxu1LD5KLSh+WKAc1XhN9xzvmmLzRSvbF2qjVV8QlegmlBCbL8Uugp/8E4jiwPTmb5iyahhQsFEdjVCB1Er69M7SP2mD/2VmCYWYQq2smt/rtVThJHJgH91/Uf+H/QmCs6cu2x80jyRA+o7qAe0sz9uFiXX0AIxCchwzP6gjNM2KwEW9/szcTglry7CxbyGkwzLIHCWF4IHB5tXjR/Qb3ZN9Nv/GRPTamMUh+Qas1GOzGW2U9G0aWArn9vAmEA/fXZyz0gFwfcAy0qs0LeXo3cSXm3ZGAOuy7u5NmCLKez//NyrNxYbUuKtP85yvlRmGTe8GTq8DIaCPErtvZ8r1EQ6dd8oDiwR9VipDEpCtZHEcxBV35yBGnvu28j+vaZMZuNUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwekPcU2TXRzIh+vlFAW130TjqEtQpQIUo0CFQsPV5cNzKHlH4e3n1QGtYU1i/G9IkzSZPntCsfVCQ5t9g3bjJCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAtXsNWDfMc/9LYm4FBAhCiT9eSp0aYU58XKvGSRxl+wKAvITF+nE1Kv9xfkDiKiaoxUDsYfsX+JuD6DpK8jeIoKySVEMgwZsjGoIU7BWYo8y0VQ39tKvavUoC5IpN2nwtXH2QmiIGG4axhQyjBmJauEurZbkVy72LWbcEuFq0+K0X1WnrcgWnfDGEID7zJ2kN4F1N/Mf4EDR/DlPhXeCLzjX+xjuD7y06si7BTIIilaiAq6rUQwVhjkJ6yXAqPFr4c5JVsr6zKkEpKP4TdPani4AA5BQp8rC0gM+2teX2qUONegEDAL+pO2P/EMkVfG0JhtVNFlET3PWKdxyvX9etF6QCIHpf+eLw7KlsXDczuV4NmLgLU7LKXtqdY/JFFBkVTMwv+gknFDlzlBhaNz1aNCJBfa4rNf+pIEb65RNuPBqx5LlkhgrM6Xv7HK0dF3qmsGnBuAcXTK7mgi18z/y5U8QcyN1YXVTkgAhN3IQ58dbiH9tqs1zLA4dPacZebjWZcreF+UnsOAD02+2hkHEzJI/Hy3S+cq8AnORTGmQI8AyoiRW3VW9kz5D6avuEbMrVmhq5gYdINiA7zmcR9PXNsOx+chQmNBqLpmQAkDbiFP6kBFCJso1k6Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwfdq4RHfbmnSsnghfT3+7nTkXSD5NidhwaSEAAphgWwlbDCJif4hKPh40iL+++KIluJoHIludyHZSh+jyZEVcAw==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "4F0C71EAFA807393817738AEA20E8A373E4A4286A0E422650F63D3EB5D8117D5", + "previousBlockHash": "3888A0A6CBB929F5D816DF55D41243291F478CD644382723BAA318355749D853", "noteCommitment": { "type": "Buffer", - "data": "base64:oq/8xFzXAwbPm11mbniSgAFFYnn1yDqDqAGx0vLYnw8=" + "data": "base64:47Dr2Qa0zeCIU7CuzEgY+tvsjJnl13+8z8dUVtbUd2g=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:ehY5BF0dQTPArx8bI1CsTULND5JMRXCusKyerQneD3M=" + "data": "base64:UmKrGXn5WizJoMnuxKLA/BOauTusurU3sLBHL6kaHZ8=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243721116, + "timestamp": 1698950290040, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -2544,21 +2544,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA1PZUjpvd0UAUpv8+XTGnP4r1Z3YjxMqQ1g83o9OF8V6qpukzMEq031CjWdCUDN4PS+FGXqBXX9z8B2pgQwV7qQSZcuUzlnHRM/Iyygm61OOXc2YQsd2OyvNUfemEE+UKTzVfZWTasvSlG25sjz2u6ZV0yoWjYGRjjy8vxYiZdVgPbyaUawq3U7xiCIK9Dbe32M479nEZHPGaBBHx40Bq+aZujmiCcgOX3GuVhhLgnu+Jcc6pR6du6cJUT/tUvrk2jqsJYhjL0Mfx0c12C2sfG4yDyhu6gAS7Pwxy9FX74W3b+9iDmKOdG68WlM0LKhJt0khcwQTl7H1ItekDZf9t4q39Vmia2YfoetfSQVg/ld2/d6YWUcbiRGPL5IyYnlJlS/ddhU19ahovf5JM+4kW7sJOGQHdGSe+/cmFkvM5xCel61CYwDLS1iJgp82v29HrJWIr6aVIWAOW6GkbUaL3Yf+8rUgAl6gTgv0N27uRgLgTVuPAvUOo27DPTd1jp1XCo5r0QjtxX2M8LzhLlyAh3myKwqfGFSZ5gyzQrEvrNlstGOOHcjS3e1f+ax0jcA3ncXpqA+eB4H/7lAM6KYUgK24yA28sqrO9lOvei1TIyhsCgDyzc7ebhUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAww9A867FkjhKb2HPdoheZ1AFQbE9MiBTCJBLDdKsFRYyuROuYhQj0DnpUUaT30HG2gNkh9Ay5AqJ7geyLvDOhAg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAuhiE+PyA9gvgk5DUfCadPWnex35Ch/1aqvoQY1+FKSGm4bvljqWQF/yr90y0cmnJwYZB1F+tsJXTMveRHZQp8wS304q1+vUXmT0aJvU5qTeryP4QIM1xUty37MCCm6Q2sbKqzh2cHVzdp1D0VwWF2suGhEq1GDBC2FG96Wb4g24YAS0HuSiZv3TPKlP9GeNjxa/2bIcSuT2V7U2coHI7QSmNLTRg1tfE136MMCr/QPWBDy6u3KmeWgHsaNTdaJGc507pJWFb8P9Nupkmfa0LGrnqkiA/X6R6Sxxf4FaXxt9OO+gfUUntOqHmetW/EO7qoW8UKbY8PkMKmDwLQLk4Y49Zs5avWtjx+UVxLRLj1JQ+AU+st/bZ9FKQuwYL6hgqF6gTGmB1rWhZyOvSABKTwq3Wd56baGS4iUDjDB8d1FpfZ/y0UNY4BFi5twpqFh4cZSqxGh4Bx/PXDRNLJvBRIVIUNFbVN+b1t5A+ZNuRktibNqddxTKBhp5lTggxAG4NNdUBCVKMwbljD7/JqR/Ah2u5xsvvnmWhSTYOEVS71hnb0p+7iKNdZlgtufpHjyMaMUV5ChBQ6SSqgzP0psNLAt0Hg+lK4FIZZ6lRpsaDFoNnJFNKo0Dkm0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAws/ovhgF0Fs+6GCJd7ryVTQtvXVbAftclKoeEvgV3Eqsvd+38Zkzu2xmJwhARJz85VzNUm73yNE/Hmm1Ji86PAw==" } ] } ], - "Accounts createTransaction should create transactions with spends valid after a reorg": [ + "Wallet createTransaction should create transactions with spends valid after a reorg": [ { "version": 2, - "id": "1eeafc7a-74cd-49a4-a993-c026a43ee957", + "id": "c8c28329-8e52-4c04-8df0-854ff7dfaa4c", "name": "a", - "spendingKey": "92d65b1e81970b28d4677a1c6b11ac67b4a1cabc84d7f4d08e030fa81c44fd8b", - "viewKey": "1bdcfd2134205be5ef3776644b74c2698ef4e376266ef2796a1460782d30665fc1be56498e44286711a0862253f8b342c46fe1a674fd133df1c79619d4ded032", - "incomingViewKey": "13e08ccea90ac479e3dc8ddf149c93736249a19b188714aaaa5dbd1199596006", - "outgoingViewKey": "8bf280e3ad188bd000e54ed7b15d9e4b6f3f9fb1ba8bd24d2d95fd5194b6eb4b", - "publicAddress": "e1cf7bb42a75a3960aeea9763391f742e7a21d8f5670ac84d5c072f34a09672d", + "spendingKey": "27cf0ee9aa708c613d2582e868bdb8dfa27393393bc9b14e45c7c78e1b106667", + "viewKey": "e2557ec29fd4e5049a9bfc248b9433c7b598f877e5ef867c827d7f7dcb089ca1c66b3fe1f8ea27867652433943762683eb800154411cb74c8c116a069e862501", + "incomingViewKey": "f7caf9306011edf09d9ec73a1f241a73705329eeb5dfb7c008c9debd0d633407", + "outgoingViewKey": "668770a148c4d836ce2ace2d3afda20551d22f034c531de0c7322775cb7df9cb", + "publicAddress": "a44c1fe321a8887b69adc7c49e69c5f08b3fc29404eab88d1ba8ed15aa15dec7", "createdAt": { "hash": { "type": "Buffer", @@ -2569,13 +2569,13 @@ }, { "version": 2, - "id": "bd0d60ba-6cff-408d-b370-7255a347509d", + "id": "d057d032-7036-44ef-9dac-1f66f5df4324", "name": "b", - "spendingKey": "7aae5bb550bbe25276e38a5a4eec250fe8680e719dff7954f184e90807e66443", - "viewKey": "e17a72e67c8e5a89de217c6cd340ea9d94ab6743e2acd518a387a62e440cf7590f6a871c0a65b6dc96dfa85cab6b5951372d58f28b1bd4c4b76866ac078299f1", - "incomingViewKey": "5dcff0ab6c96f542ea57056f769edff7e7e07db6f05c7fd04accbe4af4f65506", - "outgoingViewKey": "781f19a1e04aaf69e8d3e1669206bad0267ff88b568c12e945078f29940be433", - "publicAddress": "8ed0d9ccabd1f6d8bec11e7d3707219f89b349c1ca5e122ec963da0593e532e5", + "spendingKey": "09085eecd706cd2ab30caef08521842e81ca0da464ea6343521d6aa1b19bdb2f", + "viewKey": "5459bf9c7edac4b920db06aeb88807c541858e61523c4f024c34a6ce6d44e067b75fbd913d03a3dc529d6018dd24799fef9ee118c8a01ee159f7bd5a1ab0f426", + "incomingViewKey": "9a707ccdd471790958a0bb4934f78f572a0f0ab01dc4a4216d5d4ac074e65a07", + "outgoingViewKey": "1f17331cd9fd8ffd72c006d653e2b62e90244c2c14b339cc71120828d70fff26", + "publicAddress": "c6d95fea8e81061586587253e41f2dff69143463b97dae784f9596b5f2ca17ee", "createdAt": { "hash": { "type": "Buffer", @@ -2590,15 +2590,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:1zo08w5vidxww5Plfle/nkIqB0/jBskD0d7wczx35Vs=" + "data": "base64:jZscRQypUueUNgBNaKQa+Laz55hgW97/Ti8S+R643GE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:LXd2+oVgAPn/ut7sTh5zbFLZWZDtggWLbxIK51fzQtw=" + "data": "base64:auQxHvLlyG4Ma0vh/QAvsmMLtc/oWfRQInvXfVkyzYo=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243721582, + "timestamp": 1698950290600, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2606,25 +2606,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAcXgKxOcNJY+tDSTILz6/jaHxhotdftXgDAj1N9EbBaaZQ4vccsqd5n8azooJUdI3IH2xVAgS/Ohx8WTTzs1VSwrRbhWcROcP4wiY1W7lNgWNuyWIvh6s10jC+LKugd2L5/4luppbh8mhmpA9DtohMYmO9hLFuBjB9UhnDNa30bITh/pJ0iSg5WVMmwVXTOOXndehZ90/3CAR+OtY8S6vxqPpQZWSLWJfrm8xqnq9SoiYKQbRswY1iNFn7HlB0wyLSPLFjeEbpkgBr7PpbW/WrWMtbs3J899JylX92seHsYZQQWPfYnM4C/Dr0f8L1tHRRqmv5UQWG2OUBiN6j/mxUx/OhMam5BWp50pzrpQ3jeVf8mF8fgQ4xBY69P5g9UdOk1NZfiutY0L2D93/tr1lA0sQBeE7swCzm/hvYQ+p8THsz44GZdmA1bRaWejWBIS7Pveu0PRA5yyCwkedrbXniltMevSLkAOOQZg7ZF1+i+JhORPczKyjsZJZk1S4AvBGjH0Pl90wDvdNA6s1xBURLPOd2RRc1d36mZXUGPetbuVyl73pYOc6zp+9IWqSDxzC2p/Q0+e8YBmSHUPcB3qRYPzcGIRyUBnCf+Do2oCeaimwUL/nkKNwRUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwokiE3SUcKnAq8rvUybgp7bwIRiB2HHHrxA6I5kocPaFRXDL8M0rk6LNWSGrKstk0iEKfSb5MC0yTyHEq0MZBDg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAzM0W2fSUvjqGTJfe0+KQz0sZZwD7PwON7fQyTWB4ryCMxuu7AqDoIF7eJQkbLWsA0JF5aq2dPhp2QUEQCkDFAtKKzqYvXRSW226E9fB6Tz2qa+fuHf/bihW4SU7MPTvQ0PtMr46BCoeoL0wI/T3I0wYHMa2fvbt49ono6mwDRl0StAqmDD0fE8UgNbIrABJituWP25jYwx8GAJEMHV6DqkiEQ6yGXJN9YXUz+tPGimmPfr9jrzG7e6BJfSDfMCAJasPJ/RFFWBc8GlwWyhVzy0HoaNCQvCP60/RCLVqG4yVxj19Sd9MlmRxtpbBXlmHL9EfxJ67A6OD9CrhLP+WAy6cA1HiR50PpvbBEVlAJyMVOVcE4qYJKCGp/D+tnxtoUatkT2kLz+YnQdh+4xinhIAEiK5mAGdQPQbFiYTwC+7ltHkRc8NIirZDKBR6LPYCn91bQ+eOutoxwHx5ZaDeYjz9xUReRer1gpH5BIlJohjIgOuTrOkpD8mslA6ap5o683c5NCTNPEY5/WIilHcnBLoEmGf7sDPCBsse3PymHbixpvaImV13MJs8Z/YwZwv/QkuFIO1SboKQ9B/pYXI+j+dyrDUPhQg3yRJKJptBRTrfht28Lpu3Qiklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwWTXlnLMpE06P0BRsxUJ/OT85sibRFmT2i7K758QwF0MPrGvnaVetmKjlVV6HFoXkNOoI0I8k7l/pGguioRp3Dg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "63FA5398A42182FA3D189D5560FAC9EEB7F2CD61A78E5D54C1420CD6AA1A9DDD", + "previousBlockHash": "CEBC6553AF75C1AA1EDAE2170A5BC28FDD196B407F3DFD8EC0BCEEDCC230170C", "noteCommitment": { "type": "Buffer", - "data": "base64:Acq/7Rr/Ll2T7kvsFw+MsPzjfv7Uoh/fJnhSEH6Eq2o=" + "data": "base64:lA2qMUa1b2vH+KnTr8f0pwTxAZFzRSo4dDkjvp1nFVo=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Qv8mcE0706G1UBVGl4gRXqZlEygkPOZZsQPW1M/br+c=" + "data": "base64:LqBlcAsXt9is+dRO9MZ9FPpqGd9ZAtqWy2X0xR83Z9o=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243721865, + "timestamp": 1698950290992, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -2632,29 +2632,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAJcx+kM57jmY7yBIMX61L7qoZBHocc3R8s3Fqs1ubCKStbox+odV/KNtcozv00+uxcES/Ovk9I1TZt9vRxBmkBp2BhWcDDd5BrFepeKqqMbevpZRhgELD0hxKsLarBx8WKHBRUyIeK867JjhjUh9n/93ALFS2ojBgZidzWeXfix4ANN8IkzWvVFvxcf+94X4+YfQQ/A5zrhh5cN0Ka3qdXkBCfFcny3rIPvc5DY33PfaQKJP6KrcB5w/HowAcWVz2kPf5E7tz2zNF6iW3IY5hCpi0IMfBRzTrXWDFulaFCYN1OJU2ZCgYJEuKU7zPExa/7JYoK+SjetrgmWenjjMgAztN8wmDhvkGVYSDjjCJI4gcRYrfsUU9EH9JxPhi2hsoZc2X2979mW13CQapKI840tpwu1kCADQZ1TSP0Hc+KaNxhJjJ40RtXI6ERHz+I2jyO4oGV+rd3gwwjPhqqdsYkHqEDx55E1EZmLVTNc6kIZpAitKudydGGbHp2vyPWxPONXiuxlobhQaPBkB21v2u2t2Dw19mmxnGSK5jonJxLKmNAdG1UwsGXKyLWkkV4SGam25fthijHdAh871H5+MkL4htH6oHCR6/1sjs/HSBCXXNx9psWNOZkUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwhW6IMWGj2tkmg59t02oUZ4zws2WHPxPUiCp4upAdkC+L44D8QzA4sl4OUd1b1FUk+q3VVUGCsL33q5uLpkRIBg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAFn1xaNtoLmgKKN5u7sL+S97OZ1VUsHxoBHq2Gw90tIe38i9CCBG10veQhubBRNS8ZltRSQpgT+29DDPsXmm1rk2kdDFUV2FN7phI/099NOCue1SH1z7R/ianVN4RzZlAk7SvWW5PlxXfwCFkUI+v8EIJL/6w/W2QcZ5w35uEJDwQr+hmmzRLUJqXtTM5XHlv9yFUvuNxJ6lqdvbq/77PL39SFCX6XoSA+pXknVOaG7ukDEgYk6PQwROjM84h0i2uPBWBGf3sBlJdz+t4zYiny6gq05AT6EhZyK8umBXqntq5ySk++H3dS/o3QEmJE3Xjxz1JpMRz562c0+JshnPh73NHyqMtI8Vlq7cxDeoCrWzuI4g66f7vFocvnqkkStpOfDvRASr/eLAl3r8zTiTNHQ1EHJn9Mo8plHlHK4GA5m76n0UdYrLxXlgOEZbx8SOzwObU5D3H5m5tROF9m7DHjH886WrHQ8zJsP1Avo2LcY0E5VIwYmfpJDv1Pmf4ZGIp8LzIF9912BNpqbW/58FJuXQFzwOeIaI7IoNUcHKDMx4R9Q+Ja79xnOqW5N+tuOUgUoQOr6iYgvBSMI8oKgkjFZSCch10rK14mRpqEySKTA0vIGCbbclN50lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZ0iv2IlKR7RMPM0Zyi7R50M1Z6ET+YdzlXFKwm3IlxRyqvHJkZHgQdevXsL5nip/mmfQ3lg+kQh+hJw+MGWBBQ==" } ] }, { "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJWhJ4yGu23iACzRUPEoLXBlZDTVNTZTGMDatuyZijbKrIUnJCRkjC6nTf9arnCqp3Lj9PfqoJXoJRkhFktCxfvST0eCaRnszCb7mENmEyRyxk2Ptu14XKzfNUn/kylGzoXoqOUE0kv2uTKicYt8fr9RV+zfMFixUz18bskqOPAAYZi6R5t0bXIroCoOz1g5NRNF/todACIcltZswVOgMtSj18xHCS9iuBkH4kQfgQYei7a2wXDz7iDobeE5425mUlrDE05esw4SXn0OqS//TEHm2Hz0vmiZ7X147rN+g+JKfTtAOy7O/GMbE0tRCrB/MVNL0ulAtz5EAa+5lIB6citc6NPMOb4nccMOT5X5Xv55CKgdP4wbJA9He8HM8d+VbBAAAAMtfOHiyxZpzJxGbguuRzUPzwYBTHzpNR5k5GDdhFzrpqgTE0ev9de8kVAYIuFKKLrglqJQ+NTVITYI26+1NViZ+7e2GAPOQ174EnoSu1ed6mDs9QVzsCzlNbW4Lvk7jCKrzSULuCe/z/eLFin31XGBjmEImgr2QPmlrIZdTgp9p6tvr/9Ok1F9voz8xCyuXLqYoPLIU37qGVkrz9bb5u81ETGfei4q84VWgp2iVf4aDPbuF2cq8HtNh62EkwCUlyRlofoXflGjsPWwS6fB92iinJti/HztmsX1DXGyW/HmCyycQqSLvFa4zB2U6gTeQdqPoUdMXkI+qi2Z9qrxv7dXYon6ENqYM1zPLz9by7v7wTsl/wORjHSG6Y8B2/JXkkFEgB65RtkNsiNrdMiHql6iOZ4Yqj/gYM6e93wf1X8I218zV6yB9ZxALXTXmQh6v1FU/F6wa8oOWx/YJ4fMhlFLmFhNPuvuggqeKH5fcWaE+rZvRT1iFOEYmZNrqUbSkiM/Du0edxWKGPsiafVyoZ4T1J2l6wiAGJKdJJiqBWcLUPtkGSFsFjeV8VG6jW6pYT1gemz5dMLbiZkuo9lhX8xLxHZxdQaFFBAlcvcSqnZILdybIc+E8BJyFD+ypqImpZvhXqrfpEc0fY/8PNaoGWyhGRSeyGZHPHt5TwwuwqqRV2tvCnYmgz4wkLzU9/VEHmtqQGcL8Hry1bVrVu0oOCu+SDnmwITjEtfezmwKroKsQRKWoLntVTg3t6b/ooJ5jD2Q03MbX8POn57XpFtBUlJDqTHPn0I5+YTascsywnWmM07EN/4VtuUmLNnblA0vcPaTf3rKsuY765ZDJaqefq358pIcz9xldC1NnWWUa3BGwHW3hiUzo8Bmy9eKkEXV8htrDDtWa7cHaxuJFgMZKMHQ7PKG6C9/hoxaveNLM5ymkZyB58FM0as8VSX4dxkz9AMsneWU07fLCj4DkcAsVMqK/41DVFbwWEsiGroAj9j7RCWSJTxCu/q6R4mAMucc5Ur0r7YDQTGmFZo60JwVzQVnXWchi2FpkQGUoR9+sV0gNZB/xm6LDM5D49sVS+ufaFdk4nGwcRg9dRv/LoynS3Fs6mQiJKyQaj/ikt65hmSkh9ugpB+G1j2OrIKYD1yqBs7lOnYbeY5VnJeVhi2SV0T8tLrWT6u+l1J3dk9DxhIngucBAXqZ52OeHTN7oR6A8O5cU+iHCLYM5d+45B8JzvSTg6UNovtO6K2WOO0dgRaGplCEV68/YngFpsbBA6MmwhkSMBDeHNMi0ZSn/fLCeD/w8KltDMa2U38D6dYx6efJK5K0NgJKbH6flmtbRSPJBb7R+az1vBq8OC5q6ni27opjo1L+8aT0usdS0mRbMekayCEmuz+I+bAocItT0uD+xf25biyffU8VjzGiTubFQMijl18rsQ43tjITZ5RLcrBs93RWmVRFP7KGEWT6+ZRwBnMRYUkIJl4YH1DGW5VkfwrmHErs2OVBY9Aa0gS/Ca4aNmQ5tCSv1whekh2Y+9o2TsxPlfTYypaBEWNdfXC4LHRFazMfSKzKexD+Vdax5Xn40uwPHzgD2CgGOEWEQmEehAw==" + "data": "base64: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" }, { "header": { "sequence": 3, - "previousBlockHash": "63FA5398A42182FA3D189D5560FAC9EEB7F2CD61A78E5D54C1420CD6AA1A9DDD", + "previousBlockHash": "CEBC6553AF75C1AA1EDAE2170A5BC28FDD196B407F3DFD8EC0BCEEDCC230170C", "noteCommitment": { "type": "Buffer", - "data": "base64:gw/oJXo/NMU6FvhaYYAknsLObQXwjxRCJ6o4tGL7YD8=" + "data": "base64:qQVZTs5fKhSYPvF3+t6a3zIzbXVZmecl5ujil7iCu1A=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:IaZ4kVE677SJHQQ25RcR7td/slgMekPaqwxczm60sO8=" + "data": "base64:c8Gok4fYBEkQ6yxxk/Z4iGaztunaUDm+bjknfBs+lsA=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243723208, + "timestamp": 1698950292596, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -2662,25 +2662,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAScECs3HNc3fjd3Jzb3CwUM05p9xbHUVOA/i6H12t98GNDNMfs9yueSzWppBuJ79S4VRU3V3bQVAFydMuVZPBFPyd6E3pO3O4oER1FXIdWAiZir2tibWrlfBnSLrmUmuv5Q/6jqla4cXwaxAHGkiAw8SZVhXKa0tYwQh0YpHGJ4oNvSBN8styAoBv9unqWWJxWswiPKjwkfFB1l1Fs4SqjKdF0xu7iqn0gXsoKHXqvNGIofoexUwppFyIRqN8VtjTxLu3/7casngV5zZWo567ok0VGAi+oUqvKM+x0Gi0gS1d6MD/na0S/GvpT3nJWWut2bpP8lvxwuzZSboZXgW/4aFavXpf/o3qJg4+k3hogVxkeJ25cu1AR1AEfG6d0SAWgKJqnJERzK1K4To7RKsftlOoXZCApugTrMqcS/CjqpI/Q7DFDTZbBTgiWR1I9QjyoJfI60fyIU+hK05tV+pPQebKYxwb1XI7DP2OVpxirUGcuM2Rw6X1rdJJpAKDRbblTK9UpZVPEXtO/TFdKvosPdJvE2IR5Hg15EHOjdWebcKjMnErOLXSHkn9jt7TtMqqEy9JalDShhdkKnIkfbZL2BQRh0BmmcnM7nsl5nlGSvHusG3Ui7XvOklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw6BKDjVj3NDRMjH3ImM6eUiULAsAHLg6LSjR4Vzt+ChsYWnKJUxaoQg4FxsI7BVjHWUylP2fIDBH00DRxn6r8DQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAANIpgEj8iCjneJoBlv6HArYrpGOLLcsEr27Yz0tibjJavE4MC2aEF86qaMjMXAgRb4Dw9vZAwXwdaVrqIa4YBgxgdduHhgtx5QpZHEAYpg3WICYXtcd/Q/rd0uba3UYTevtr0xv0xvRUVNMq1wJKIqYyXkyWmhVEpB35YjJmk3sUSk2mZj3l8qAvXI0gBrUBEtW4As8vuJi6Z/A/1eBxQNjDNzd4Nfks1EQLs/eKQPwq0iMHE/HwQ7WxMCyiDGKUCraVe5GmIWb/zbovGvx/Cqu11gPJF8E9OFhz+Edpy6Iz5aL+r579lYkTAksNC4jb9X3lCwQ0FR0ZsNoXHA5epcLDF4dsKYUkmWM/+7pA+unx5yaK5NKpW7bUWKlGNJh8NHQmmsOJPNDmL1P3PmxDuOVu/wPwTSWJk9V5j7Sk9/7eNlBQ1ztfH5IeFT24WT2uwiSD9h/H77yAZOW9KoKPR8BB2ocyxduELgzVAlX3+IBKhXdB8JLbGreswU+YdqbmesNdLRwxSZpgCHruFYoE4xvMubg3mQwW9x3pjhaeG+vaVSRGm1MyWujMEtYrAF1DDxROksz4PnCps/CIjG1x9QMQiVXA0F4ArRwcmUw8FIw+kPWRXWyiQlElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw6Z8Y3B9rnxo2ypSkAUdCZ/wEmzdJzaKzyalpI2ipr1GW74MKGEme91dan/apTIvDbp6NgqsIhuZkCfurvFrvBA==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "6160D7A8444B9E0C8EA39880B339F8979C1A1A6605BB757E31E3CC28AC42532A", + "previousBlockHash": "473F7591FC90BB6EF5486CDA7D946C0B57FF89853D483BA6EC0BED5A8B177264", "noteCommitment": { "type": "Buffer", - "data": "base64:bmALZCUI5SJzHCte04d7d9+QcmlHAC1i2IK+2ovQxUU=" + "data": "base64:+1Pb0FuqfsGcKC0z/jS9HgrVDjDjEDL4tztmNz/r7EU=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:z3XecVVv7CCrhhhwK7/qq+OPn2mj4nqw7GGfFtUz1iE=" + "data": "base64:zfSRocU/3v1CBqsoDoL9wSeENe4x+M2Oh+qJb/GXcJA=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243723476, + "timestamp": 1698950292929, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -2688,19 +2688,19 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAiuasSqk3Rvh0gECOFdePfIXOVeGcQNL/uC+mb6rLAhu0e0oAW3xvHYRDJROA2zxSwgLJoCZotcVAc36p7EYWgqLK2lY3gXWbaSj6lJPl3Jmla72HWMhhudPKWaru/qKGtP4TYi7lOxNgB8qVcaQeCZv58W2dBK/yo7+6M7q51H8RtNyfJR4SObROqyTeISIoEC9UQFJkbLGYXRZHVni6ino6h3a39TISy3gcfkAOfSugwn7+DhPExfdrIW9KzPRyNH0VZnKnZFXeCYkICnc7812W2JG5OOuobVjlYaIxUkOm2yy/V+08X5bDiNyAgh2knSPAvTp0qaqOhuRgAOP0m1HJjHyFn5z20nSqNsYJifVjFVDZdlXgbbRt+xWWktMkT/WFy+aSomKSQFbirdeIUkCFmLe4X9Tw8agjez3b3OQwCnnDq/lX4npaZ52kZLs9PNla/sps4JH2TByVVmEwgkUmgSy/wQXWGUjxm0lEkpg9sCVRo3rU8XjddIvuvHSclS5ROg3gcV+u3FPw+5jxkgqwEwUIju0ZQcfMAsimfvrswPkbK/qwOvgkc8rusyoJPSiRmlUmDu5Qhqm9D//je+bihC7A3AvbCr/P5HDP69bRdbyeq2M4+Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw8Wxn7Mp8v0T/Q59q9C3k96zaxyBEfku7NDXRv+JDtjAYyKc7iFE/jSSI3/Pq+3UbV1WOV0EWKfyeEI6L1J/zBQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAisYMFAkF3napTpvLxt7PXGOTxhQ7Pz3Q7dmVo5rWvM6Ni/6BtR72ZVNmJ2XPikcfSPirha1vhLNa5zU6ugNFqJzPCs0LaJVFM/EGMdaoI4Sw9XQ2sLNt7wSo6hk7NNUPKvqpXC4k81y2xYeEZsQyzRohomqQ4aftN4RUhr8X1aUSWIhg+3isdQ6oxHhXR0N0yo4pXual0mfigbMrOxmhQirIFBwMKZdASiXbcFUBvc2NBNwoC2wM416GAiq8L9y+SOeNH6oJnMgeti95ZGaNeDJNQjbqiVUp3lvPv96ltT0glPc/oATt+Fv+KGOGL9AAZOwQtRMXr+3FBqGi8QL2RCKfP4q/j3yy5Gy4d+QzkN9FW9xNyg/ljuLRuyLPUncstrGnvbFt8LPHTKMudebfbfOyWQUKndLZnOwC1ngq32Dbz5bDAav9nFgjd0kwnbezKDoybmPCV/keySJyZ2v3eJNRa/HeCV8EHq349L7A5wAWCV0PEs3a/KovKnM0WgimnB65DPY8x3myawKnvwG3/TktJHsFeHzfBLHxleAjsajDAxt9BMwAAdCkVhn9FQnS7HyRn44iUl7CezKHR42cK0F3ITRkx0AmdUzTW+DGfgElfDD8VF4Fm0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwGuwcLQE0PuJ2/AD1lGQKyJ2iOxULp0bRl/pLd4BsmV1NqBqAoC9yN1Dba9ZrcJ+se/7qm4Oi5eTvQANHAjOGDQ==" } ] }, { "version": 2, - "id": "b8ef26f5-8ca5-4107-b370-750f666a033f", + "id": "2a2295c6-aec5-4730-9ef4-09ba05bd0ce3", "name": "test", - "spendingKey": "dcf0adf78646871a684995efbe12f1af2f0d85279daaf34e9bce1d46ee575a8a", - "viewKey": "44636380a070f0a4d4690fa0e5fde9e992e375511405a4989ef023aea3a999f235cac696bc9b2d5e5c4de77da3fdb1b7e3c3b8a2973d87a6a5da07e4addf4660", - "incomingViewKey": "4b5079add582b4df134cff4b7ee58e8c82986e032d71e4ed0dc1455c59367305", - "outgoingViewKey": "1c8f6a05ebc88512517f9791a8a589c7f36158ba0e9eb13f82d29f3385c04274", - "publicAddress": "26cb94b24b0ad98503c96cf7541f2940efa045d2e538d87dc9b80a1c08cfc48a", + "spendingKey": "eb37fc0e3c199d13c149055fac6b025588d470a83fac71a5e8070ecf96fec329", + "viewKey": "c93738c0de6ad8f8c02c1d44730cf2e20e614063363a8ec1fb509dd8e3c82ee32d1ab0086ade629b0341c111781bae5d2ecad9bec14ff505a0aea689b8faaead", + "incomingViewKey": "c2ccfef7433cb52edbe69f8e12ff0bcf5e00267ec37e95e88185f0f0af803d05", + "outgoingViewKey": "ac9621e1c5ae50005e3de48cf4d2fd7de42b718dc47c5ccc09fcef8a6b4b524f", + "publicAddress": "658b5db40bbf92c61fdcd50525acdcfa476a6b4c0f0a5463ee4c5d789d892d23", "createdAt": { "hash": { "type": "Buffer", @@ -2715,15 +2715,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:/Mxe/S4mwzAwlauK5A4lr4sQqo1OufMQZJHBFDz1UDc=" + "data": "base64:qYUB0ZjiwJstaOEM0fvvn6P8GD73J8AL2zrEOoFzwis=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:nJDleiwpccGZh0DOJdWGmPTA5TB+l+rkD4vcE1Va/tE=" + "data": "base64:VA+yxuK4Wi3FSLhRebr0dEUqsAi3FEe5UZGn0MSvLJs=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243723909, + "timestamp": 1698950293440, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2731,21 +2731,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAHB+e4Nf5xEi+HzXACM5yGUHwfTOrxyPlR6syxu51LYCq21E/VcFOemW75a6BwAgRJa9ttrIKfwjapdnbNlbv55CdPhSfrYjKPX9QpnOqKlqCWbFn5LrNW9e7pwCBZtQ/9/fnDtJHZFvM1j8tUMxmSbjZQvQhd0gdbxOJl34o4rgGDsRNHnI/w9EB+5terK4JOhqcaQ1dLUqGVKs0bKhRLix4uKoCt3RraOV+rwAlXvWoqWkN6e8XBU64DM5zbQSuowddAYKFlN6L2pVPzOYLtQ026wTJrGu7S3XGqEnbv5/iLzRsJml2HvTL32e8/6GhT4ERK3d/J5rr+kcbLplznztSDrvQ2M8RhjD0oE4XJrtabedg1i9cjIHAZvANC5MaNthR4uv8dWrOs5HHLy6pINwfmlb/PZlFtefJHHsPhFw73wYN22x8DEZBIw5qgGTrIoaESigO3hZNFiiG/HBs+cILh3CX2IyJpj7gBWzjaBaKyHKZJp/Z5qimzAIKptlDT73ofl8j9l5LWxQYz/aTdOUk60xIkUJkOnqCWaCkG1VdRzm1RDFrFcVCL/3cNXdo75ydl9eNb4Xc2p5HGL3M2Z7wjwxqaFI2+g8VKQGQaQQrg5SReV/5BUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw58dyBIOS7FBK0D3V8zL/pfuR5GGS/GGHwyru0jmYs1WDD6z3xQGRqG9L8MQGS6fUq8tUTcAinw7RpvIiKX/NCA==" + "data": "base64:AQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAG8Y1PTyr1/dPzPEF2EZTpOjdxlshm7dd1EnHp1nVaR+DyPK4sYVzGx9JSyBMfBD+3bHogiijSk3wsnlIKJFe2fBiMMaYVTFSNweXkT2NuRGFcDVWnpjeapKW3thpVlTpEscnKF2GWF0BGAw+gEJgMqDndDvueHCaBH51GurmaIwWi9VNftVQt4C28CJAD6kBMIg5fCGj78q6Uoy1w5GfWk1Bkb+mEj+vhU4ZV8+8/XyM1RDZNgygYD852PYvuSG/HmHYEKtbQXag7wyTXMY5sgP8iBux2wENWM/2F1WEfUyRpUOydf5gTgQmmS6mJTSXY7VN1tvCtV7Zm6B8usjzo7Gqtj6VgIkn0QJSQsyUGACkgRRZXmrznY/vNdKWXmM0vrJDROJs9LGJiTn+wLRHTWnTvCuF7ch6vIg4m3tzP+lPk38P4/Gyahc/IB6Bq0ZaKXYCwiMkCe77598gofpLBp2V2zp4x/pXPJhGxF4dXksifS1iUk1DLoTBat3vA40Zne5ledga120AZFzJ6XbcbPktBUeys8OMTetcEb5xpX15RQ7djrpxPlZsNx4UobPuE1/PbNX75MEJaS5tQWquvF4Vo7zdzohtQKZri6goYD4XIIuubzBBrUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwkQRXXQX56me/glKGLJAp+WgPhw5udHSWd3X54fYSUz3H1t6iGbHjpFZqQJFmSDjaz8aKl9Z5TJf4PeHC+VrlAg==" } ] } ], - "Accounts getTransactionStatus should show unconfirmed transactions as unconfirmed": [ + "Wallet createTransaction should not add spends if minted value equal to output value": [ { "version": 2, - "id": "37dcb0c2-fae4-4bf2-b1ec-2fbde9d9516b", + "id": "c95c41cd-b238-471a-a6e6-91afba896a5a", "name": "a", - "spendingKey": "f20c0c07e054663413960f2802153a707532f78a0a6a15dec08221590982adb1", - "viewKey": "80f505e300e60799d439f3959213fc6128eee57e740775542822a1c2a4a088314f03bce4e17fcf71eb1cc7e3307e9c08280f67898247e9eda846119b4c4234c9", - "incomingViewKey": "fbaad9ee1204d0714a5974cbab78b1c4eda8eb3c0bdc69cc70c623034c4ca600", - "outgoingViewKey": "9e63cd610a74e8d23412ca1061e32acf8e38cdabd7f0f962e6ecd8d5862577f0", - "publicAddress": "28d84ea482c612ac830960cadb3f09397b0d596afb05ad443e53d733c425c771", + "spendingKey": "fa32de9eabf0927fcc4a554065393321d74814712e1e1d725d89ad83b35e150b", + "viewKey": "7497aa922aa1c4c014a831d9ebd0b062b29f3684d1f51344b7e754253d5769376094f79ab0e32942e0f357303e76c200a6761213116405eba16941052e875446", + "incomingViewKey": "dfaddb003a7cbc5575c13c530c58596994934fdc32e8c557fa11c971932f5200", + "outgoingViewKey": "982af81379a10756f86c250ffad4d550a0411177ced3cc7a23e593e4f35b4f0f", + "publicAddress": "1db1791529e459e1ec8f529d12d4c300951ab73ba3e282acfd3562271ab8a74d", "createdAt": { "hash": { "type": "Buffer", @@ -2760,15 +2760,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:Dq/Y2Hsgb9bNJVr1RbVen+hxAa/BMgyptOU26qHho1Q=" + "data": "base64:9OA09duxeF0DXzEX53kXNWGMSTxSYDw1uBTUPaoVsEc=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Myq2uwXG0L4NdHtN2J214D13YZCI57edDTouZB8Xnu4=" + "data": "base64:tSQB8Tq6p7kwjLam59ege4gzqzddYkji8RY5eTIv1gA=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243724562, + "timestamp": 1698950294105, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2776,83 +2776,55 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA3cu00XzyRvrhufAVVJW+EQQvr7UZASZw2Agr9C0uIAqMRQ4hBvgWNx2sMYXmxegXzRkq8qGMDV/krkjrrUTmi5dNiwRZLboDPEEFR0cVpb6u6HKeBFU9jmk1cbc3eSZ48jfHSGAJlqcFLOF8XaR+zihti+o9bYSmRC6VcScrNkkJrqGMnPTC8g6jvBfvefKscp7pAwFcLrnnHCI+/mRun/TwoiVCEasYrmIsR+NYsA6IGX/b0XstB4N9O1YHr6GkdNVNBRYiG9BbqvvGtH+izvC//5pxUxHEpsiKshqbui4FzAUJJuAOFBtwhZXaLNbKuYKtQyE4yWPGJ0l4ValOq2NL9SLY5K2GZsPhoqXwFY5PbnI1630S5opY/cJLZZcv5RRzyUupvwxWitfrrhaSh/ekjZ/jFxa32KBLv+cIDsUnPP8kYjv8xWQl4miPGT2dM9jcbp0I3h2kQyPIO+CwB8MmPuILFrM8huKjkV4wG8gXbRnBqVp2AB1f5RMkmMscXg3JGto0pzkcvPo2WtMcGoRXDjCmXKR4ADEgvh8BFrjQHsiuMxDF3YKKIWQXVnhanlsucB0kG5NVnmyrXY16e8yOFIudlb4gcAwDmJ3ZOAUGx+0MFLUKmElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNr3h2ycNlBQve6SSiE4sIS52FCzC4qxkRKPG5Wyg4/HznduFvgIiSApr8Fv9E5wTHMerVs3+y/rlkxC/MY7ABA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAhxczFglhEbkJolAShvqnU+ucI9RXsAow8rAHZRpgMpax244s8PkWebqhplqFTfB5WtmHhJTRsn7shbuBXzRbRZU7XkXxDpA9H0gkY8HquROOqw5J8cxiF3eqSeXJiFTNY0JDfAdjWq00ENcBS9Gi2cFib+DdonX9Qc5UEyi8mWYOIUT2jcgXT1wyg0fW+uPgE4rtVZCOjj48pT+JBTfRcdsBsyiy1gaDeFxMhDxb2P+QCwwFhAk9SQMiXtq4RqLITaPa1lkl8CPE8iFWu66f2FUJvIz6Xnrdtt2Nh2IIKDmMjtdV7aJDx2s2zWPSBgMfwDQKvuBW3xG1COKPi5revPvvcobYN9BHaMQIVfQQLp1fTUCrjxFEUnc05Buy2H1KfdIpb8MQMH4nHfyIDDU92FDiUQoDeOYLM/AFYknLJpxs2LEO5g7nrgrQ/+J1YV4ohemFsr+GXM+b2ESwvjr0VcrQBhsOdNhTczDQ1XovlcME/Wk65Jf6FPY0THwli8EJS+QHBNU3VKMkjvNRBNXTr9nZ1eZZDHQSgtzZw8ZdUGQK7qsnOlYq8qhuJUAJPzPT5DEbMX+/41p1eOpbJEiuPjzv0GmR/U4/eAjdwIRKq3IGTkyZu+kPjklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw2JINTtWQnA7ZlRMyvlHwaQKrq+MxpTfumJs246PhqBYqNHo35imbD0kLIoDBOoVRT0VrmjsugViVFZwqkXXRBQ==" } ] - } - ], - "Accounts getTransactionStatus should show confirmed transactions as confirmed": [ + }, { - "version": 2, - "id": "860ed232-1095-4d24-995d-955c5536184e", - "name": "a", - "spendingKey": "9fdc9b5c2de6e0928908da288d2f2ce51fdd377109e684b18a04545c7370007d", - "viewKey": "84036f974c9a7750f941e5ea8fdda5458ff1dcdf574855af9018db3255a2201453583e6662c41c2733bad1f4d219b0de73ba4ee4174c6fb9f6bbcfe5e1cfb506", - "incomingViewKey": "665d38749b9fb759e38cdb4bb5a09de429a37ce461339973e1122b3182d22d05", - "outgoingViewKey": "2a720c84eec441c33ed1a086b52be1086955e0644ce8ce7cdec836a4e52a427d", - "publicAddress": "bf7fe69a67916ec27a73f90f09007e1a973b5ce9227506cd59d06893146517d3", - "createdAt": { - "hash": { - "type": "Buffer", - "data": "base64:R5HXrp+X3xAO8VWOhHctagm0N2I4goP3XG8goyqIqoY=" - }, - "sequence": 1 - } + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI3nkO852DP2DCOuXlMjJr/8wmi7gt44WvsCiHPwee+S0oUziNtgmulZeLH6Fuz+YnZuhpJEuj08IGZp+51mdPqg4aCM+ZzlrDxG2OyBUGESkIbgUlTTiooynqYNypl9gGgsYQOagUY1apcbfkhm/UFjo+eUWdUwkekcKdSC9vsEPXanPwpOtRJS3pE7wzW5xJ1WXctK+JuYygjauSjLb08VphDHkwJrNK0U4qYFBf6GwORN+y+05eaR2Cft0w2LaRJb0eVI6/wwrvsRtnomj8hyqLs+JBYWvIzCiiyG4oGgsIztyaW2Nl9/FqSFbxL+54VYMaoy+Y119tor0u+oU0o5E0xaQ5pUM+DnFk88qVHT+ut+DiavvgS8Fy4MiCoxXn6U73C60QTpajD+tei7+IavgZdIUPZl5IE0Kw8fUkcWh0xDsflphCg+MxZyu+vnm519FrlvPX6NOGsZJuIvxrjPf7dfBZhCvMWTks1OR9uTxYuHHLOiHHHEg0uQw3yeHK3KkD7TsXZ5C72Hd2Umn7rPUyrk0TJOCJJm4RURtMTUssn4xz0qM2RyegrEtpNxeOiTwJxrL5VxXjnvW4tK8nKfIBGkmTun/FVPW+IdGFGf4yQfYqwIAxZ+1O7S6oFQMQwRV44UGiYwQM1khVWHB58WT3jNyaQizbLitq94YqC2B/odP64lL1BAgY0xUCW85NwJyNqbsQGVmsOP9j7A6e5kLos6dRRZYtxiFUeqq1JAg314lvPjpqvt6JyyPX5e7a/BeJNksTzLCw1xmRQfJRD9jOxB4frYBge1opdV5ej/5u9wgA27ca9IfAhqj/MXAYTeqkH8NkQkdPjGqjSUjTwLjRMDDFyDwF/WLr9MRDh1HmRvI5AIINc1Geu4kX1uuFI/FKR12C7BvmtEKlQp7VqP+UN44z/RsgLp+HuTzOJcnB01dQGvZbIF8BQNzaq0DL9b9W0J1qhkihuQ0BGJNeuLCsUC2rhXuHbF5FSnkWeHsj1KdEtTDAJUatzuj4oKs/TViJxq4p01taW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEKAAAAAAAAAB2xeRUp5Fnh7I9SnRLUwwCVGrc7o+KCrP01YicauKdNACD+YvUpjKY7cuw+fEnSq3ANR/lqyOw/2NENlygEL7Kt0pgN6ImrcxVwU4K869SuhHIFCr2MnrZMmaoJ16/8hQGC3dCacdA7MbPJSdVBeww4NakKQwSZICmj8XQhJqyuyBFiVTxGJK/Am2faFa4fFYrqjJy2iGmMQcqvgx/HnO4K" }, { "header": { - "sequence": 2, - "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", + "sequence": 3, + "previousBlockHash": "89666873AC27624B41E38FBD406B7884383AA28C6520F20BD216DF774C483290", "noteCommitment": { "type": "Buffer", - "data": "base64:bynTusAgI7sHagsynKMwq/Y71xhDgatCfSLXeDhXGVg=" + "data": "base64:j87FY0HWFfelu0V0c5amEa2oYNprPolyT17/LxyHtWM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:tumRQ39oSnDbWrmVzvUFwWucWs2XH4gIU/xRAiuPls0=" + "data": "base64:ZgzasmjOzqzUfP1fsngNQcy2PRlfvTYMnqdIvcC2cHs=" }, - "target": "9282972777491357380673661573939192202192629606981189395159182914949423", + "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243724918, + "timestamp": 1698950295173, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", - "noteSize": 4, + "noteSize": 6, "work": "0" }, "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA7Uu3R/sH1ChM/50DLXUrASehUHjyJwxWsr8azVE7eL25SlMqwQAGzzcle05mLprU2HlZUilfZtR2wBR5yH8gAxYdRSaXXn6cT/OnTani9cetYVGGrZtkfu9qwmUF+N9IrMrJfA5FgAH/znSYzJN4nNJS12znVaPZK0oaWwt+duMRmeixVe68byPhBa5BnPSakvPNP1EOu4ePcrRSW8D8RmrVLRKgpAOR7Zaml6QDgYyiOoTYG8bR6OT9E6L1HKu4+pdrIA3kIX3IQmpvGBnnB8IoDsK24xklzaot7VBjiQXZVY8miR2SBHPoyxKxHwRKJfqnTceRZGtFTb4+ZXE3ACsDKz/VmUYUhdVikhN0ZAqGvFwQ6rJ679+s53uwy7NQrWLyeMDLbFvUeM+5o59FonIF6sRr/Ve9hlUcz7Rc8oW3Gx8x1glCrAhW/m8i0lbeWLrQMIkfVbpTmhIiVlPlx2n9o9gZH4vY6AQZmE35olZ0ygnIqqzmuG2CN2F1K/7bepqnlofnMrLI+9FGNWqfQXJ0whhvIrJy+hA2jpAUuPtB3oM6OCLv52P6QPAjX6H5Aba7NxtfxgEjRo0epeWC2xyFyRtY0XKK89g+w843bnz9JCXmKrqjgUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwR+cwTyIwF470eliXMM+vlcV0813+3kVzayUBFNPwnwFsIS47fUGiZ+eK065HXblI8WgnQyY5mJ0WkYzngMMzCw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAji2AlsGVTHV4D3AXGV2mhckkYq6kaqamfU1hZT5IVzuvB6NoMDhgKuBSv+yW5SG3sHS8/RXeIWgUkn2gL8CmB1gh76TuwtE6Obi0FQQvAbGV0ioNuE++ACwGEvXDzRRVdR3OhXczScm82qvUXHuFiPiZt+FFPYlmlr+H+Mz4bRICqQdqLoUvVs8Makkv2lDmIwW82FAzkvMeWnjxp+81vTXHltCGwFMuNJhxc0D/62+4z9g7c92XL1KrkSRqwxWh3nlo5un7oAynBaY6TgER8Xd4XrMdB4NJ0CLTHoeWI7nhGIoSgJ989eGmau8ZAEvmnAR4U25lxKndlX4n9Dp1QSMNFdnAej0SyGOpbAiPMDCAH8Sqq+wlklxzK3UF7yZsM5Gc06s48pfaKSI7j/Hyyy8jlVv05VQrwUwg2jbyneUaE1k99ONZHIoJEtk0sqnNtdphaTU0v8GIRPff98u+ISdVd1HvMiakSPSpgxB28gTpamPEuqwY1wTLKnFhWmYklIDElFYPG4XsvRZ56DUIYdsAaaLebOiRm3gqBIM7v2u/jpESNe+RvzvNp3r/k+9uoY7HhoiffhDVqor4ZYeZl9v76DITfR45wXo41mlC+vAsZgi4+yyZtUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwY6EYMTnLYJZm4CY4K4C1TyzwwCGn2VH6jDAPxW+KTCv0LhA7tnZ+CX3RopXuUFsMIe9jmxjRTHx1cQgvb4SqAw==" + }, + { + "type": "Buffer", + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI3nkO852DP2DCOuXlMjJr/8wmi7gt44WvsCiHPwee+S0oUziNtgmulZeLH6Fuz+YnZuhpJEuj08IGZp+51mdPqg4aCM+ZzlrDxG2OyBUGESkIbgUlTTiooynqYNypl9gGgsYQOagUY1apcbfkhm/UFjo+eUWdUwkekcKdSC9vsEPXanPwpOtRJS3pE7wzW5xJ1WXctK+JuYygjauSjLb08VphDHkwJrNK0U4qYFBf6GwORN+y+05eaR2Cft0w2LaRJb0eVI6/wwrvsRtnomj8hyqLs+JBYWvIzCiiyG4oGgsIztyaW2Nl9/FqSFbxL+54VYMaoy+Y119tor0u+oU0o5E0xaQ5pUM+DnFk88qVHT+ut+DiavvgS8Fy4MiCoxXn6U73C60QTpajD+tei7+IavgZdIUPZl5IE0Kw8fUkcWh0xDsflphCg+MxZyu+vnm519FrlvPX6NOGsZJuIvxrjPf7dfBZhCvMWTks1OR9uTxYuHHLOiHHHEg0uQw3yeHK3KkD7TsXZ5C72Hd2Umn7rPUyrk0TJOCJJm4RURtMTUssn4xz0qM2RyegrEtpNxeOiTwJxrL5VxXjnvW4tK8nKfIBGkmTun/FVPW+IdGFGf4yQfYqwIAxZ+1O7S6oFQMQwRV44UGiYwQM1khVWHB58WT3jNyaQizbLitq94YqC2B/odP64lL1BAgY0xUCW85NwJyNqbsQGVmsOP9j7A6e5kLos6dRRZYtxiFUeqq1JAg314lvPjpqvt6JyyPX5e7a/BeJNksTzLCw1xmRQfJRD9jOxB4frYBge1opdV5ej/5u9wgA27ca9IfAhqj/MXAYTeqkH8NkQkdPjGqjSUjTwLjRMDDFyDwF/WLr9MRDh1HmRvI5AIINc1Geu4kX1uuFI/FKR12C7BvmtEKlQp7VqP+UN44z/RsgLp+HuTzOJcnB01dQGvZbIF8BQNzaq0DL9b9W0J1qhkihuQ0BGJNeuLCsUC2rhXuHbF5FSnkWeHsj1KdEtTDAJUatzuj4oKs/TViJxq4p01taW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEKAAAAAAAAAB2xeRUp5Fnh7I9SnRLUwwCVGrc7o+KCrP01YicauKdNACD+YvUpjKY7cuw+fEnSq3ANR/lqyOw/2NENlygEL7Kt0pgN6ImrcxVwU4K869SuhHIFCr2MnrZMmaoJ16/8hQGC3dCacdA7MbPJSdVBeww4NakKQwSZICmj8XQhJqyuyBFiVTxGJK/Am2faFa4fFYrqjJy2iGmMQcqvgx/HnO4K" } ] } ], - "Accounts getTransactionStatus should show pending transactions as pending": [ + "Wallet getTransactionStatus should show unconfirmed transactions as unconfirmed": [ { "version": 2, - "id": "afef0bdf-e6bf-4c40-ba2b-bbbbfdab40bb", + "id": "d5708013-af22-4380-9c33-b5273331b080", "name": "a", - "spendingKey": "b2d1d21345ab99256b586590451bae00d1bcb98b734a57514fa022dcb6ad25f2", - "viewKey": "b9b77f9b86aebd898aadeaad15216153cff32f787656a070660b411dc2b93912580e8545cd1b246489a9785090d8ba9f51e45a43254f88a48920b9ddc9501441", - "incomingViewKey": "c26c83fd79adc585d7c8122eeb66813c704207ee93cf91716c2709b178a09202", - "outgoingViewKey": "c43217fed29fbbe4d1dc8480b4d5504e365198e0cd86947376dd399975c48c67", - "publicAddress": "3242ca7b39634539e40368d95fa1afe75f79c020b34c6c24e9c721297b50a495", - "createdAt": { - "hash": { - "type": "Buffer", - "data": "base64:R5HXrp+X3xAO8VWOhHctagm0N2I4goP3XG8goyqIqoY=" - }, - "sequence": 1 - } - }, - { - "version": 2, - "id": "e41bfea9-86c5-40f0-baa0-59e00f8c98f0", - "name": "b", - "spendingKey": "3f69b366953587ff44e0c6fa00fb8d331577d2bb8a8a1aecf77d06f9aa762d7a", - "viewKey": "1ed78a43df19b74535fc70ac92d59b4201e6b81e4140619e38d363da17242446eefe5fe39e3a935d89553053078c2bf393b28deba95c1ef16bdb6baf933c0422", - "incomingViewKey": "ba00b1a650c0ab5b18b9bdc6fb13c4497a977da5798e17c14473ea9e743ad004", - "outgoingViewKey": "436755247ce1af9316923014d4e4240bfefc2c56485885cbc0b969fc25eae59b", - "publicAddress": "3816da6dcc0bc84381cbbcc4cbb6dbd62cc7a0f4a065b96f38da3fce4a8ca828", + "spendingKey": "8c5e774f5221bcdf34a6fc810a1f3640c2786337aa85aad7d6c46b8fb8a4a8d1", + "viewKey": "63fe7a492b9b42d9ccf3cd324f9dae654e825f7a6b1f2ad15f1a0dac44dc518370639b9695958545a28773f1e7a63574bd428f6027b4f2aa226fea57dfe00b83", + "incomingViewKey": "c6b99ec06a2b9de3cc62d39eca4793e6e552ced7c4c7e75ce78d678cb0eaa804", + "outgoingViewKey": "1f91feb9fbc34f8f84a2bf027fd66f8923562df33a69aea94d174a659ccb9806", + "publicAddress": "626216b865b1bde318f4392d713ba3833946f70d9107973a591fc32008117e29", "createdAt": { "hash": { "type": "Buffer", @@ -2867,15 +2839,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:ryd4O55WagkqEBtZyoeOznILEEJ/wnzON9OwP5zHrFo=" + "data": "base64:i2ogjl868GjhiFc0c3pQ9nDo4uX70rFOCH+5+huu40Y=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:UjmQTcr6SjVoglZ7StOKzKARXApb4G0x8DmaNe/9HW8=" + "data": "base64:X7KqVJO9g3mcg96k2BZ6Iurdp7R8FG7OHxLAhN5mbKk=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243725267, + "timestamp": 1698950295565, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2883,42 +2855,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAApXR00YvW+2rzkwlYgSvxD6CTejhbgkopZHVLOxL5a+imDPKbDKcE5XCFjVkvzPneTlV/VIiSW8GJb8glQLoGJLg+VLEHf8ShFU5R0E3tniCk9O8FlZQYmcvEU+iEm2ZfHUyvjV7tN4uMp4pL/WMlSaxUcVPcn4C7Lq6hCqk9ZAQAy6MaDqF2tNLiq5/G0t3u0a6ZvfmvhDaFKMGVg72XDiP2Z0MJ0fDIPNrRpIxBZneUZ9wL8/Ff8Rtg+/9xyB4CYcNkx86ImSuGylhZCaARnt2+dB7fjdPcztzec6G2K66nmEHBVi0RZ+F4YL0EWROiPqH4lnvcJ9/guF+XTC0EX5/4eQl1Ebbp9pxOO4IScYclerVyW0/d8ODOIyx4u5gHsJ87yZOTa633w9pXtRlLgGIHQ/HUH7gH2NtvoApABlx2HSq3HmmhuJDWPbeyH59mwC+TufS7XeOLGbL4/GBb9Q/Nv3q4y1GQ//GCc1BnJ1kEjPExC2utav0w1372pn4NJdVFgStGQM+qwWsz+jpus8byb6JaYg0qYU3oLpyyBYPQi3Cfi+jTLUToFCve/48MGdE7eYX1B2Lf5tc9sOkoQhZ8Nhx6x2bwwSV3S9dSPWn+oBoeyB/hKUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYFGGKQnAKJKZPKFzPiZUEKIpyrveKtGpkUpTA1ikI6YBG+4wHCvXMJFFhbpmxPqUKl+Me24bcXbSp0S/YB8FCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAADtblC7s6xi5VT2jjyEQJd0a0J9c5jtuRf94xWSKc2RaYmSVavExSD7ByviTYV5EPH9cObzIB73zSRCT9XK8kVeCCNORhY+rt7ljT7mEJJoW14h/2nk3UPIx7wygeliVY6sG5C0jU3L8Oa+HXKBrC7Z6zApNPZr+0lFDJZf1aCr0JYhzVVXhjzWritS59LBL6BBfF6L3sk532bBTggtUS+6+kIDlE2UTuPG8cMstTCWu5R99DwlTE6mjtsOdMCXg9hho48noSXc9pAsEBiTeq+ztfj5bCP2p5fmXYyL4AIfzTYBS7GMcPzuEpNqxjVAVq8oML84D+gK2iG93/cSdQ8vjtsRKJBNIuSKpUVRY5AtQrIlXMY81mzFaFESlTa9RwfzJnks9qZ04WdMzzfbUU21n8z74jo1KakecW4PpPN1g/YTROgJTNc+puQF9VHtVPiLf7yv69ocsBlC3FPixvLCMcVjSqgqzPqSdlhIMCC9U2yrFFYmdSzcVrd+pnrrDD6JQrBpC5IGavh58ME0pcJr5HfSU6Rcve5n0IxlQxGMQfhm1kuAVeD+fEIO20Khp3UIQQamUPe8FRM1dwQbkSvtGhCeOGzk1MnH0YGrTwGJvMHvugVrbOKElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwhr+ILu3vk9WWn/9nFHAh9dUm+f/ztI4wzuyHI/Ll6qYN8b/XVAhYNKuiXQ5WoGdknW0urmw6M01OBZsXJXsACA==" } ] - }, - { - "type": "Buffer", - "data": "base64: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" } ], - "Accounts getTransactionStatus should show expired transactions as expired": [ + "Wallet getTransactionStatus should show confirmed transactions as confirmed": [ { "version": 2, - "id": "f6d430fd-44b1-4b78-822f-8d77af6a4b87", + "id": "b1c48665-cc93-4af9-819b-a1e508c60a1e", "name": "a", - "spendingKey": "d4e6a674eee0a7f1864580501a917a229e59fea10f400dcdb57fc459a2699c30", - "viewKey": "75349747c31f39a3c9665e78bfdd35ddc4aaed81da05bd04c41f70400b7bfad245c2dc88519906fbae7bfa258f6e389d56650c6ebe8c36fe1f2a69a8fcf98c29", - "incomingViewKey": "c34b07a29654b0b2a760cf5f9bb8e07f90c29368751d34e076c2cb2e9cfe4404", - "outgoingViewKey": "9912e72db368edbeb82ef3ddc71d63e5f29979805d6d471aa4a9afa8158cd078", - "publicAddress": "3ec3f6f1f326289bb8e8182f584ea492c5d516f04de418ca91f864c29f0b76d1", - "createdAt": { - "hash": { - "type": "Buffer", - "data": "base64:R5HXrp+X3xAO8VWOhHctagm0N2I4goP3XG8goyqIqoY=" - }, - "sequence": 1 - } - }, - { - "version": 2, - "id": "f862b488-25b5-4a6f-9267-09350c0727f3", - "name": "b", - "spendingKey": "2d24d8198cef0cc216183f54a412d35c0dd0b82dbe7d7af559140eace0bc00a6", - "viewKey": "e026f087cf12df223d9f0aefda41707a321784a1acc5b2f155393f9b288246b958de3672f1114aba1e4b7b47b36c10f3bbab44ae5c450309ceb48da856ea775f", - "incomingViewKey": "c4b232085b471c2ae882086403329ba7c343151327f4dba7ff6f4465226e2903", - "outgoingViewKey": "5aa3f15abc9dd7dd12821d01596678e118fde27d9fb7ddc1ec17bcff7720ebf7", - "publicAddress": "305606339ca690f4ba60d0abbfa5dc4857c076579390e920313b3c842a9fe1b8", + "spendingKey": "c514675678ef3aa9f329d27b06ce8651804f4e67e44418f0ac40b84c26bbfc70", + "viewKey": "9ad33103e22c6168f74c4b6130f7ea6d65923bdaf0aa43af2c5c7a26c8022d26e2b3a4fe7c1f33ebd46fbc63f938bcae629198560b5f638860ec51977a8186bc", + "incomingViewKey": "cf31f96d4c7f40f22f7d257138e6955e145b9432b57dd635f88952e75e5da300", + "outgoingViewKey": "38e556b32d8658a3a46a8e315ff14fb727ef31d1e0a49f120983c5bc2c7c0736", + "publicAddress": "7c5251da2b4eab384ff561d04bced69a85343d45cee1f0c77630ea3c29cd3e3a", "createdAt": { "hash": { "type": "Buffer", @@ -2933,15 +2884,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:L1UGlgYnpyj7k2uSOD4v/74MQP9KiOlOjsj1JZTcEFM=" + "data": "base64:yE3W3zW5B7g19W4bDwUBoO0EZCGlzWpHyKiN26cjLWw=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:e/KahFhB3WcmeYlP18H7TJ2MzKDwwREHdZqRNNAB6Zs=" + "data": "base64:kKQhRd6MOJrK5dBwmEWsd2HL9zUKaPFQWabNVSj1src=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243726691, + "timestamp": 1698950295962, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -2949,51 +2900,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAszY6wFYIWmPPXJMyxkTMwrpnuWC8BaIOdpn8EXTTaI2FSu67XCOQtnnCe8suEdN6qzNigX2WKdFulwPRpBJ2NvGJ6lDhyIGeRDRoch8Rww2iOKmF8KuFeBX/BKWTuF1+jHEgkoKrF5ydMoqcl2JHLNPtSlGixlDmuRubfTjmzaUHS4aqBtam7E4s7L3HJ4YdgcAt8WGc8rmIU2NTBxHWSegaQjMYec6+exZ/IMu9+UyXjM/SExXhHnpZ3akxbWdcOuVLjEotmKRmcnML86Pgjy0pJa/gXQB8pWu6+yADSQhztavIBpsaIuxodkZvmSZ7VAF0UHzFL3DZ4+lFxa5iWHbWPuULVrV/z+K6HbZ5vIo6ca99aqjh3jOgkLtOgKlBbVvuWJmW5yb3xag5U7PLwrcr6OsjJTy/Ezc6LeciWXGR3NQNjHIrwjX3PsHx67fwlV6X6jVp1ftfm5JCxSd2+DxWk9mexZguI1k/wXPeAKVOPuP9xACLdrLSonYXGPAQMT9y0zq2jgtBXSZHPaKc0YHzsnT/AadvnloltG7DW1jRdHT5U91AUjpHz4R3vyVgADTPip3MuQCvjg+zZfTzoroFEKEyflnZWy6z4oxXjaBsQg+R1EBm00lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwheh1YJ2s67dyBHgd/H04Bv2BH3Fl4MSyKcCs0nAC/NzvgySOa4Cc69Vbpllevck82jVljNoI7jtcL/mFTfVDCg==" - } - ] - }, - { - "type": "Buffer", - "data": "base64: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" - }, - { - "header": { - "sequence": 3, - "previousBlockHash": "ACA81BE32FB20CAD57CC5DDAB35047B98CD030069E6B6042733FDB88946D6F1A", - "noteCommitment": { - "type": "Buffer", - "data": "base64:+pg1nr+756bBVUsH1Mpi++2ZBaILyV1EywqmMifLfBo=" - }, - "transactionCommitment": { - "type": "Buffer", - "data": "base64:giAZxtZqnATL9t/d1PIuQlGbaVDNw3hLmvaOPDEq9+s=" - }, - "target": "9255858786337818395603165512831024101510453493377417362192396248796027", - "randomness": "0", - "timestamp": 1695243728029, - "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", - "noteSize": 5, - "work": "0" - }, - "transactions": [ - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAc1XACiVf6hn8wwMKIg9seDFqHsliag/aU0iVxnGNx5mDy4rzcDVqwGEPD5zZhVcEJP0YgjrUovY04kLyg5k7SW4cTcDjH/Cf5WhUqoSMuMGMtjhgOvdZ4PpvrVv8+fVECOZPKss6DHD7ZWpvY2U7jdBR6iSf2x+5BiVmnwia9/EAiHWrnSMu7aOvRCX5rceCNQETJKH/Pl/OS7vcG8YysQdVhk62UgybE8ANeH4w0qa4RhzBscteX1EmQah+YJBAtjCnaqKXxrfqANH2t9X2f1eUErKDm/P8kCLXYgGgFgwGuKycWtG/Gc4V5XD6MlFLgt6s+sZwAhtKmwgHxAoOGNRrTNXQOTf+eU+HrhfOBq5hIUG0JlfRMlbJuXsuDa1lSwae2wu2uMKEniaPSwLBDEiIcP2UIv3QFJlaqHEHGdRJXEe+LSxd2PhcDwbxsPV+IdJoXCoJLh19poSofgpL7gg2LyLOJzMfTagOF/EGKhWlZO/arzrRgv6xa5LFXtNaYHXw2tzb/7r7XU6A0ZS09gehRTYda9S7kY19iNfa6Nmhj4BirwI9BOddFGhYY4B84fg+Wj5PMbRTSgnl5OJ/OssugowvA22fs0lf7EJ5N9ATxPqrGmKF/klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwW6hbPuJIiE+oVfRnW/RP8p/BqAvg4uGtkJZGIfPzoO/xoFpwTBDW1Y394BxKV/CLBrwBQUelzCROJBL6lF+TDQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAFC8unW/ir98vxWHbsNaEWed5BVkWGcv0Y0nawGrYWiCuT93zMy5cCQOwhVOel372VOWzLhZOAb7zKaHUM3gnoPRjE2DZIYfwpgUH2msMPuSlArMPtmrRw7bEdtswvbQ61mNbg0juwSllrIZ9Dgq3nsrb/MXeziwarTszJfiiPOoXTANYqp8yG02LKB+1Eip6xks/bzNhjGUE/mM7wMH2HGMcmVBmEjxErnXjL69R086BHIdSA3/0EFuohf0yM8M1DLLjvgCc2wACFiWBBlyKg9AxZHOPZ2v9fp828pD/MzC5K+byFNPWw+uykJ1lDXQ8Y0S8TU8ePB9681UxaT548vPXjNKsCAhO1u4IRZc+VP+z+vfYxniAHjw9OH3XFzkKO6WiyeXlK9WW51W5EtG2gL4vZtmCNkIWtL115KCcBrtzjuBXBb5X0muPQfPSh/ZynFpC4WYO2J5uaKLS0BfeY4bIxXnuFRQqvQvp/f1HPzI4LtT0ZzOge1s2SEpEVpxTLLnbPMxcAGc+bSP+9Ck+4dVYGCNoCwoQCxdSYOTgyCD8dBUXupcuw4I+ygnGv0TDREotKVbaMUo/HKkINNUenh5BWNzz0/lg27nipdWbOx4QHBwh27QbbUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwT/KNQDjGqJ7Colp+4kGx8LCgOMd9Os7i+ANAq1rvgaIf9996sVAxnGNwaLhQ6KJzgE8xBhesrSxB26FLRygBDQ==" } ] } ], - "Accounts getTransactionStatus should show transactions with 0 expiration as pending": [ + "Wallet getTransactionStatus should show pending transactions as pending": [ { "version": 2, - "id": "5c706c91-e941-4dde-96ad-3bb4c6ad045b", + "id": "5230725f-58a5-485c-913e-ac2ff5152b10", "name": "a", - "spendingKey": "97202ba50ef00ccb2ac62712dca92924e7a8c7a738f3245375e4ba62f8687e8e", - "viewKey": "8f843145a436bbe3026362bc7e6619715e10c729551b0d277d8d61e275bab358465413b229fbd44ca676e76b8fffc7e9cf7d867b83ace3641fb71eaf3d5803d4", - "incomingViewKey": "a2745162c4c4da2c8c9e4582d14ec0ff6de494c2adc7256bddfb0de246c53b04", - "outgoingViewKey": "dcb30f842834a5856974c4b4a48f140b2ab267425e0f90b673bac6f98ba6a420", - "publicAddress": "80ba88de4f11227edfea425a868b3b1e49335b319e7aeebe0bc78a0fef729ba1", + "spendingKey": "aeb74ec19c7664e11fb6a2699a03c3f903e9b1530ccdc85ef9b5af94ffbdd764", + "viewKey": "cf3336e2ff6b60b01410c46d22597916382824e965ab113c201df880a2fa088efcf59f3010e89dd21894607182a56488485d32cd158d66f121c2e64e9d2639d1", + "incomingViewKey": "f51f5b22c927215ca683e4c9ea0f560d138a34c7205c67583385f86aef7f6e06", + "outgoingViewKey": "2553e855fca1bf59377097902dc90fa9117fab5b4d52d540c4b202ebecbf3611", + "publicAddress": "be45b42f0934b4bd7836f08b0fed24a81396393d07728fbaf0a16ae58d401ada", "createdAt": { "hash": { "type": "Buffer", @@ -3004,13 +2925,13 @@ }, { "version": 2, - "id": "2322f97e-ed80-43ae-aa61-b7653a8f6bf1", + "id": "2d429a83-8cba-4d98-b4ba-e90bcf944d40", "name": "b", - "spendingKey": "c070429e43122f1bcda3ed1cb2839f63351bc63be9a658f2b5938f09253186aa", - "viewKey": "f5295bf92ebb5c63c8b3a450b6d99456a886eec3fce3f46b70ee43f6886294d862dd56ccbc3b9ae9795ecd50848dc00c54bb0c563bf97736f75b2fc2ce017387", - "incomingViewKey": "f42f096c6a3fc81ffb84885407f527bee57417c25cd99f72b8783560bba5c900", - "outgoingViewKey": "e0ad31fabc1b512d948fc1b6ec1cc3783802d0766a82007e2ad9cd78f9ebb8b6", - "publicAddress": "246e301840b822cdc94f48b762878a8ca0b6a99542491814730aae470068ac48", + "spendingKey": "ef572a0ad300eb7344ec45c903767ab4b63e592127298374fbcc1def6f7f9bdb", + "viewKey": "e1665ebf984689c4d82685991c4ba1a625aa28b292760fb2b91c11fb3b18a23a631a9d0bb4c815cbefc650017102c6db9105fe810abcc60fe79c9059099e252c", + "incomingViewKey": "e778898068a435c170bbe149ed20224133399b1ac61930783a86ea54a9a7c701", + "outgoingViewKey": "3375afdaf4d2213568f8128b7b3cd5167b0a808a5121b144542280d47f9b570b", + "publicAddress": "0601a4eef51e748e78d44db9338e23c44b390f85c27dc9c6694cd6c34f093c50", "createdAt": { "hash": { "type": "Buffer", @@ -3025,15 +2946,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:bz9a33BWWz4bZVeqfIzN52kFAgD9iP3zSji5tP9gNmQ=" + "data": "base64:KlZwFYX0PBvIw/z+ZAh8QQ+el12OJkAPgKJXRMu+FAA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:ojoHi9g86B0qobZTfM8Zm8sh4Ks1jib7Ib1/ZnceWoY=" + "data": "base64:uo/RRSp3CWWorC28p6jr+r4t6nYjU6Qqf2HVpY5x2vQ=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243728388, + "timestamp": 1698950296325, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -3041,25 +2962,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA/AmOLZFZsIG/yFuOzW7yvV1B0dfwihVXpMSt+SGAJEOuFgmv1otP2CppUO5PIOMpgSImV2BWFFR3dy4EnvNeWErNbCE6/pigBMnw9+Q0Jr6tardQVzmp0vxxAZbJOx0oRk9MjbJ1D3o+mnM5yaPwJCVSlZGQLhrIB7u36ukWIaAUSHw7maBs9+vwFuM6xQoT7C0tSkz0zzbD/7g+7VOdO9/l37CwknA6r7XNqgJ3iACuI88NrfOnMf5SC6l/35FgW22+BbgUBLjw4h/YjU1L9ByZP6syV4HfJ9uaDZOgpDD5MOeBYJ7h9ewxi6t60R+tNYwjD27M78HCqwyqPIfQ5iKhbqugWNdS5ajRV+A5uxkBAbjRvV1g7f8B/7oLnrpfwrltT9Q4pbEV2PBqPmLCJ0Rxbtm/yzEH0GBy9haeO9qxyn2VTOZlZwqmyENQPXfraE9jaXyEVz5gZFBLs3j8RU20LzbSrXBfoCzsCaC+pJ+QeJf5FnPl8FAb+RQpO34K0k+z2WmWC1G7HHhop+jA9dgGk5GkEJP/dcYIYgVeXLJE+QgjKrgbjqK/w244Wul8f09yH6mxm7n9d5UyGvyRPf7Dibgk2YUojz1pBl0xmkWHKwfHmBvvw0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwuU/HkiimlmHYJHzPEoxm4hWAaFFlOffFdrphCxq9XdzeA6GnPQbSftay5sdyDtcanelXsu9l1+JjL+RjiuGHDQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAe2voyGeQPFpJCRHUNZVLoZGiT6sQTVh5IsYLYGFabbqk8p9XXwL5W0hXEyblaNnsNca4lTp7fYS7aTagO9hv7U58fVk9u49zQjZ3wJ+jRdOS0aMaL3PcGIJO+/Z9FnwrtDVtMj5EsBwyRyb+CAJuP588k63DeBUJtvcPzYYpjMMMeAfONrn4QUj+qkcXkKWNRTsjZm14X207E1Ubjc960Ad8GlorlYLITsLrJ+HYSemReIiBjJxNbp3KnTn+NtZi1VdSf26owRBmyYX+LKFeej7NAyeUWABFTBUfzTEVYb8lNtP0nhmJ3t7Ls2mcYXSFAcBy2DND9FG+WQYALtKrvdkzmUmNDqNBjlKMqZsanDN/5PsoCUJaeoaduZyANEUY4eEfbezAAIPaY5xLsEOhY2QKU/EAKw75xIMy4qQuF8qNd/ShHZPl4Gxp7cJ9GgKuJYnF9wvxQ2hJA0bd+DPL7FO+neRq6EFgukyWi3sMTlszvnBQsom8FvrG/84qhVwlCvFFUZ7WlZLvS+KEO2u43RRji2pHhV8+US6f9vIs0wmHyTZlGmKHa0GMD+QnJuQO04vdCTm1sxhFehemmB+kE2lVckf8KmKT2DciO8++hG5B+oVLACdHIUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwlcL1xOhkAXmHXgJfiTLvwDvsRzGZNnHxcjp2R5S9VRBeRr/kOXHopnSrVIOxNKKyoEgRJHLWYztbJiapiGNUDg==" } ] }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ], - "Accounts getTransactionStatus should show unknown status if account has no head sequence": [ + "Wallet getTransactionStatus should show expired transactions as expired": [ { "version": 2, - "id": "4746cfeb-7ae3-4535-a669-d89d4c22e2c3", + "id": "9b670481-9f57-4abd-a320-62a4859a52b3", "name": "a", - "spendingKey": "71659ed828078ce79041b965d1dfa71e3211401e9270b7eb276a7839e4a928b4", - "viewKey": "12d76df8f5d6997b0178c5f6f114ef4c2a24c2732413377b0700314985097901cd33df8890a3f8a2c3e05442ab5232a4b149cc738f517d4a124796e30e17f022", - "incomingViewKey": "23ba3e54606007a0e634396c50b3aecfe8b4b7cda23f8540e2910ba8f4849a05", - "outgoingViewKey": "1cfffffab9bd395a674fe813ff41700fd8a5077b6c23667d82256f32c7db85b4", - "publicAddress": "2fa890cef6c6f90a0edfa0e0f352b629dc79bd27045c9a32f4737f5c9ac1d4bd", + "spendingKey": "a8a0d93c13222f71be034e33ccac75089367f7d1ba0c9d8ab4ef277b41aa4883", + "viewKey": "aa11f8bd7a43d3ea697df6eb6ef264175fd7def46f3b50dea8a06dbde9a07ff38fc07b126e7e11e2126b10b296c4ad031f1063f2cea86052456494f0d4ad306a", + "incomingViewKey": "772b05148269e8cafef8e7e351b7203fd8a56e3910b00dda58da47d0d9dfcc04", + "outgoingViewKey": "aef7f955e15b39bb5d526bde3a65ab52d5e28d7a602954670692e2f6020d4237", + "publicAddress": "44413993d1c47db6795ba8e121a0b11e9d9d8c806ad1642a5875ae90980fbb30", "createdAt": { "hash": { "type": "Buffer", @@ -3068,43 +2989,15 @@ "sequence": 1 } }, - { - "header": { - "sequence": 2, - "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", - "noteCommitment": { - "type": "Buffer", - "data": "base64:5KyzMpdRmYx8vxw2pOGYthV6CZ6La8XjBnxzFET4oDI=" - }, - "transactionCommitment": { - "type": "Buffer", - "data": "base64:mA/3yphHFNRyMwVrF5mYpUccMp4jjUstK1pFlE4m3lY=" - }, - "target": "9282972777491357380673661573939192202192629606981189395159182914949423", - "randomness": "0", - "timestamp": 1695243729793, - "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", - "noteSize": 4, - "work": "0" - }, - "transactions": [ - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA331YBA02pGtM6pH2l9q+sbku+vZ+N5tt1kSQ3t5AmzSPg1jsP+TGf5f6XOGGJ8/GppvMtiJlvTXy41NjbalV7ei+/O9DZs01RpMeALVIJeO5SLtnKJv812KJcNPWGksb/X+7lc1wpdzYTPcreWM9Rlm8H20XB5GJAGcaS3gYoZgWZL8Ev31Hp18+jwAwzj7YH+X165Q4Fj71KTAIe6P6FtSU66Rr80YnYWQ+VH35TpSDu0GSjdHACcKR3lsleAcEObRiKzf1Fh9i+d5MuxzCq5JzNjW3pPeaIZj3AFH0xZVmyhPgFM2rxhBpyhVcf5kX/ldeO8ReNMpAfryQ6Eli8KbgMnRFzkFdl6hB3TQeBVCXbJn5wlBnLJk/GIT1BpE0icGTMxoG8uSN7GFdH46ootp972/QuXSfNLLNqCIkItMgDqNhquHmF8fS+i3bZIhMxhCkSF5PMTccK73lgNVHylmE+PqEDFFbxHqH00mbs1TWOL2Nzhml2WUTk/5pNWWTFTvHRINqntW3ckar/GcksSZKRQXcsmr8+39zM1s2sL1zbEYi/baKmQljCgzOGDDHLqk1UlvFCU7HEtpKLGCfDt9Vsbw8UMzbAMUVlawsSf+l2MZrVfEqqElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwC8ylYD/1fJAOkd59/qiHUyZg0YEtjASnNYs05wZSV625HjvzpzpQRe3DXXRIJyDg3HTE8sbxjtYLqs+kjPA4BA==" - } - ] - } - ], - "Accounts rebroadcastTransactions should not rebroadcast expired transactions": [ { "version": 2, - "id": "acf4a821-26a8-4103-ac41-e3986314f8db", - "name": "accountA", - "spendingKey": "4d666a0a319a9d4614f0382b1039b7fc6088bda732330f0139131b3b0e9c1fc2", - "viewKey": "6aa246c31405a28ca82155cbe6957f57df9ac7b05f24e4fca2723900f61d2a0e9d1137dce0282dbb6208e8e6e32f78ccc475e917b0cb3b58dfdca91bc5040112", - "incomingViewKey": "48f850e6996d46a5bc4c8a16e31fefdebf67f21f6aed1d725fa10c9bf1893a05", - "outgoingViewKey": "9ae2ace91918f9cb7dc5ced06620af4dfc004639ae576ffac96f739946c9bb5b", - "publicAddress": "b55716fbf47b75f5ce13d0df2ba8655437cc6bda6eac373c277015735bbe5601", + "id": "b4c5d73c-16bd-406b-bb57-7c0c4bcf7c57", + "name": "b", + "spendingKey": "6df1aab48cd6754783a76ee59dc45f1848e00967d641dfac339959a9156745ec", + "viewKey": "2bed60cadb819fb19daf3e9ef1c3b9d645479a60dfcc9e49eebde971bc6eb84f2aef265b64e286865d4353d13304a04832a6ef380eaaf42ec75c918c39b77a22", + "incomingViewKey": "9294cf68e6de57fbcbd1a1db920c9dfcb5055ffb12adba8cb4d3f79e9f993204", + "outgoingViewKey": "fb1ae2672e138b17ec81fb22293a81fd950618761bf1eb6f23a6ed096a139e3d", + "publicAddress": "2f856d8b7026171d432c73f711791f38c87567b7742322b9aafdf4a090314448", "createdAt": { "hash": { "type": "Buffer", @@ -3119,15 +3012,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:Rv87Kogwfxk3m3SgNbf1RShmIHeYdPhUggOYwGIQ+2c=" + "data": "base64:6RIVRLbmUEovpn20x4uxutZDT39/68IaXnGwxuMnFgw=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Ho6EVndxCoSN8gLu571hJTuGWpTbv8acbjcfTxewoA0=" + "data": "base64:rh/SwaqFp4xfLvZ2VJqv7uF5tAwmDtd+fUp/CbsVYPI=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243730151, + "timestamp": 1698950298018, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -3135,29 +3028,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAjnycpOFXvzBr+u4DRg8ptR9WCsfM8UFYLH7nnNPupUinHXHUwmQbx7ZwEgMYT3fGIK92UP5BFLzkmEglY/n0k9hsOwEK/fPV1o/uUw6EvKGPMi6fABQZSUfbMrnXBy/NRwnCBYwMZnrE5XSxZjS5WzKAX7ROH0nIGrT7wNqU26wKrgNfTIu8FZ4YUiZtqge2Z0BNIpOhCq7bVsab111bdkz/jeks42PWULOxjZmtaa6J3UVWjU5EW0ZoXbIYSNaXflqBdl7Nd7RAAhe8MbOesiFULYPaVlKknBOTjk74QHr/PbKvkDfq1BwDCE6lrMPS8u3tFQyVrMWNclc95bLFJvOLBfftl1+TPQR0o3sxsVLZNQr34B9LWp+f0fkKtaIA8KuQeEeqPHtxtHErfNFfK70cZ9iCCkluWNyfhybAtsGFTZI0vufrkq99BjvhBnZCuLgl20UpQ0RmieVJJVuwELpNJWpUDdS83uqIQ74pJB7N+3doJUXDVxU02qYH7RpHIW4iCGm6+A/ltDP1pz1bkq/d9QXRVUiJ4MqeYnypI1hRiIosDd5ATRLJU8BDJW6Z96Xddu7sMU2jEzJuqypS6Gp7t5E2SS+SL0s2kgWz/35Qtn5cE5LR3Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwG4cwXTGwu3FjsjX5kgwF5eSFtaVb7pyYuMm9YOWxcPA4WKH7ioN5t2isAoGlqJ0Jbwl98TN+m0EY0NMvHoL5DQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAp8atHadepXhWpd7z/5Ou/4AC9ktL4jXNWCcvSYLgrhCgdQKMtgL0vWrxlZPa+bJ8TLaTyZ0cRq5wMZEjmUCermRN1GHKUIEQLdr2t8WdybiM4+oFjYTVgDwh/2Hk3DpUQ/8RA0CNuYqauiKCqPUd+rt6Xpu7kW2PSdzKteEhkX4VbgbtM2P43BLPOwNzIjyyYYAih1l1TwNaR8vbN3utyv2oEX4FMxhQcczQzIxlgQ2h94ff0DVMrYYlDeUYqUO7SQ6lFU6JHpDv2NoUxp0WvpS/TA56NPGDIlnDOWj8xRMapThM3T0r0gUW/GTonfX3tzQ7FovfwkyTkbsvJmhP30+uQP1xb5vKyAbnwPbH6EnovVdSHkLK4LkmAAzkoQ0AdEOzTZ3hve8aC1LMjP8+HQLLIQB/Cd0Yp/FFgjPYzMTUuSSk/pZUQO4jrucpVJrBqSku81GNPMH7NZEM4qJPG5WnS5oAqpUliPfeQZ7sz6jWxDbEM0P/wwTBbxbA/V0WYWqfZlBnINRFVKkS1K3ZXTrAZ5WkBux3soP5SPfliv2qq73DlhVyI/Be+AJDobB/kkt0njudzSG4qhRYt1nNWk+rfI3x13NKKaddwXfcEPDmk3IcD6wsKklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw1cSx+OKoHSFr3DU55es3ZfRXFE+nsLCBgGbCuBiYesKQm44Kzzaky0QHdjxhCWdBLTfPiU7aP6bTM4NzLHcfAw==" } ] }, { "type": "Buffer", - "data": "base64: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" + "data": "base64:AgEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAA6gPviD6ORVqLJShvaE4p3e2tDnca8zuEoxC9j4B1wzew5Uj1nVAeNt9mTQpbKPvZjTgh4d6G0shz4rvzBOtB0tRuZLCnTVN3siS7vYbbf4WA0X4UMhl4gpDh79nwWOapq4xbM+ltH1j/tqIPUfzpoZXbxtoBHg3pYw4QoZTpmPkBJtKnVa9noiIWlrz/F2/iwOE11QGd8ClOqDDzbHiqBe+bjuS38zkR35F4oOQf0geje2+aUeH0QBezv6wogni+S3DH5kam6W4iyL0ymVMfLgMg+S/FDVyS1QvTxp1aeS2CeYO953EmZ0V+h8QtMmtGxyZaLomN1aB1QUFOemXLlOkSFUS25lBKL6Z9tMeLsbrWQ09/f+vCGl5xsMbjJxYMBAAAAKOyIPRed5nTnIF9WfnaDxyjb7NlZjBBn1BYulHpnmuAH2buiUubidvYHf1pEkOtaZ33+jfxqj/evGa5JMNZPmcpVItvYcd9ieqAUz34vQ7xIrrI+G96dUSoV65WdXrjBZR4gp5rj5hgNTQRPc8G4T33haMwUfSNx/q+3tO99TkiCxmr5EoV+SoBZA1KFop9q4Et05eQXW/rr69vXR2CysCO9YuHN06cr14ADbebUyLHKpUwCTqnKHlVR6vI0fJPbAV2ESY2EOVR2URelPQQjmMbZKuRllaFNcd9MZ4SY9oQfyX3z3lUV3vEc5taRwvADIfSWMFhvKIJW94QWiMvNG+eSQLAUI5qMC9GM4WYcbPXUcbDFu/NYwz7oJmbxIEuG2GzX7PWc8l2cjHOSkHN9J5nfkJWJvpGWWxrXNoRx5JsiXzUdKAGZHQ2Kw7DTDNCpVip0YydCjOu9tZDXuV6G1+jkF8zcXjpAyGr6Hf4fAI2BRISSjdvnV6uMfOF82osTCIxr4oMAc6gyMBHca3vISoyRV6cwandhzEw9rPt6EvNCpEemmi4pKWo1gB4t+yNoFh1BlEzdqtU8OHNf66eX04ccIvgw7OSoTq13+N9nNBH5NKidZe+kLbjsdezGZ82+V2h9ARrbS0p9pDhatftf6rzFFJzViFq5FqWi1hURhbZ0DaBuYZ4xK5tdU1lWSLSTk9DgjCCnX9wt2/o6FqctQBe/jX0Ep+9rat+16sTnEij5cQyOQXPxw743UjvAZV3KlUP72zkAX7BR+uCxXb0y4ygnVilwHi6VbI4csnuGt3rCwdqA9NdInix83WjHq8gu2RiXIpfoW8iHs8ss/40I+qJU+a2WvkWARfI4DLlUaajwCdC5FntGy6oSLPZuXY72Gitg78l/T0JOalgiI+spYiPiQKIYJKqqisFxpA4XylsUJDjCzEXjtUMVHr08whhc71Q70Yf74U0QwG1MBloDWuyrTt/W+BdSc2euUVyM6jW9/ltB8qDQ5+3s5L1+tOFm4Zw0BWGBl5v6muyYJPq+/M9Fo7kzeZgmaf+E7vbpFH5xSbRK/KJZSqhPbKJ7Rfi/NFYke9ixYB3iq81icBZhv8uVT/EDY2bz02UVt7hUIYXYv0QTwGt4AGSFCwzARpnv7m1tYGEnvRa75OnEyg+RtPBeOZyDNVaA22JfL7TEovRdc7xuUkKiKB4YrW2YNvYk8hdien6wZDF1MCO/7c8vTpwXMX2XqV0JG32EsrNXmL1t/dPKYB8efNyD3bU4yvnlVpHPbr5eJRcTHPG8sgU5Zv5b55v1zkpzUhg9HgI3HtaHByR30JMtznzfSPwu5nInApqYVfmm1heGQRBG60kYAqudw3ZHQmSD2p+50qVDOuAa0l7QLhuyzQyjBkHnAahoIRRmn4OXwsvq9cUHebetHuttM/QSNNs9CNFqg8mOO0L+863IKoHjj3TnQmcicQ1RkiQABvofaUbSM0J/7QKdszubPVDYNYKlUKEGv7Uf7emEB3G0f7qfbV0SbijTBlrAkiG//9jU7w3SbbGOYsGkFkhWaJhbhUYlnih1FQXj9vWdrENs5acalctCriBIzVZAQ==" }, { "header": { "sequence": 3, - "previousBlockHash": "B68F59B3983DB77600EF74C8FE9299C4278BFAA453C8013C4A0B31600F48312A", + "previousBlockHash": "1C267360F456A86402B09D7ADA174EE0B050A62EE8989EAF77F26976492F12D5", "noteCommitment": { "type": "Buffer", - "data": "base64:7f0UqLkmh29ye+ikB6Q9ZvjcerAXsFpOXh5uGcx0Ki4=" + "data": "base64:cw39x9UXVP41vhF7mM3pM4GSGiC9xlL1lxdWvkxCfkg=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:7uiZqaIVKeWM5dM3JpgOwQY4NoQ+vyO3DTfl3zYwgEU=" + "data": "base64:wbCxNzm7pFsnYPWdkyDLPKpXf9EeMiJLE69W3AHqZPM=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243731508, + "timestamp": 1698950299527, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -3165,123 +3058,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAL55h97RU0C+SvArMAoqpe0XaT12XlOrhVokwV58yDRGKG0PlwiNhABkUJzVTXzGAT4G8hpWyIRVn41FoMEPljt3AfdlNzkA0jwUEx0i6Es6YJcx1NrjvY37+JaI+wyHxJ8hmsfnKqDc3JtRm679a4C9LEWOcqNmnV6yorEu0fS8MPxw/HTagcc8z0B/13ooT1G0F5R97Gx0m3kPlvbDs+4ZgF7857lH/Qov7CvXohre1K/bHdyhmskQBbGp4cidq26xH7e0i7TIb8vuxVXWYzfr12BacqqMzbaWiR7jrgF+joakl5SGOpK7sQ/LhCDbjFe4xY9kKFPdZcabiqYWFbNvQDTSm0VyC8txdtWruaCEhKd5DpGfErwEydMvbTyFL02nJe8AAjG7Nkx3YIpimwO6K4in5y9sf8pp2jIEQCgWZCGjJEN0hOn6lgTTiF0joHEsKYmwNl9WUuZSZgwlgVjonJAa8r6oLXju6t0yDtaRGBnBMpGb5H0ZkpMrunUI3eJogfZM3P3f2LfhfZPz4gd4XwSLyMtojCd9aPdoBw6sxETw30aRTxFLzunJz/W8Zve1A2PYK2j6GUeFbheQ0NX/UsZ2zVaTWMJNwZguN48fzckqx32GruElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw+3w6S6w1RqfrfnBz66QsGKBtX1MAIDE+gZeHi73nO45bsYZLd+wPqLR3GXVjJkXVoVO9FjpX9sNtP1A6n8qPDA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAiAczG0ULCo84mzhUJqmuBKg4BhvA0160yd8c4nHvHOOBxYGiXH9YLOeMHeNV6IwTiKDemXyToYDpv/+nBOCF3p+hKnu83RaG0oXGX3Y4k+q5wDgoSSBaVV2GX15UZdBr0XgPbVVU3qatOaUOTTDdAl4fFIvG80keGr8wuhsi7hIMuMswr7SPw0KMNbyw1vC7n+EuNWXkhfdNPRYTHOuGZPVz5utNY5lCNoFZ19zA49GH5gwdICy3p34AimH7KbHlojpI3EYhB5NS5fcHIJwKcNMRG9A7wvwFol8fTfDrH7Joavr9xFRmvaSxXC0KKv4IsUirsxlJhltvhiTjgK06nYWqQ8V6FbdRym1D5muukW/NSJeDjzcW8UQ9KcZ9JTM61YdJ2vBjt0DURRfTda5vt7uV00x306yP5DAlntGJW2S7UREssIuWCnngE4VLYhx/uvvuDnLBAfevk8hpY1s/WjDBTmnLxLsqLWk5MeaymQytHRRwou9lw4L7CK8eEKdrFgyB8PjKBWaiMFknuc5i3xNIZsyJaBQBsajRBkiVDwa8ipD0g6cEKAQ+l8302nrfEobBcLk4l5Q7yOJEgQZKJv2zz93mjElKm4gBby63RvIWENV27DwqiElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw1IMfjgZvaovCdocG3qQn+2cLX7AlGs46N4bLYrMvkxNpGd8mwYWifbovE6r73T1559psEWpTbahRFtdP+gBFBw==" } ] } ], - "Accounts mint for an identifier not stored in the database throws a not found exception": [ - { - "version": 2, - "id": "1f53b61f-eb49-4700-be9a-e939aa9df80f", - "name": "test", - "spendingKey": "3f487263ea92f6ad6a910896d71f03e8845b3319a486344076e67eeebbdf04de", - "viewKey": "3768e01d9c0134f4020f5937b76e9b2ca8804c809e315a80d71ec7826fbfa8ac2484460e65e754a71adcc342c74f562084dd3474fc64e86eb27ac54df5559044", - "incomingViewKey": "e0eaf44feaeb3f635a1de19706ced0fde3cc545540119eba29d96ec04b731302", - "outgoingViewKey": "2b812b0d549eadcc1396798120268d72373f8096a54893d5ec28f392277c56dc", - "publicAddress": "5e38c2bdf3cf8e9e91567b3ba72d1fa32b4330bcfef2160c47e2bec067faa52a", - "createdAt": { - "hash": { - "type": "Buffer", - "data": "base64:R5HXrp+X3xAO8VWOhHctagm0N2I4goP3XG8goyqIqoY=" - }, - "sequence": 1 - } - } - ], - "Accounts mint for a valid asset identifier adds balance for the asset from the wallet": [ + "Wallet getTransactionStatus should show transactions with 0 expiration as pending": [ { "version": 2, - "id": "506d5cbb-ded4-4d59-9fbe-c074a9fd3b13", - "name": "test", - "spendingKey": "5570ae451c39603d5417a2cd309dafb53457ac52bc48ffce355128a436a5e629", - "viewKey": "25901abd25f23df5ba64152f32510c732bad035f93084f733d3240041d4defce0e8876abeebaf26565857f9d4088df7cd4b1d87757c822d1811add01d15d01f0", - "incomingViewKey": "2e53903cf472d084e0f7916b12b42700a73baa8f42f2be7a4b168a9a95de8301", - "outgoingViewKey": "33c1f0a392678f1df8cdb8c3f8dafaa13257fe4c08ea7c091de3c6c935c2a58a", - "publicAddress": "0cf009794faec0d3e5ec453a2e073f71ce14f5318cce9b75ed9c5d94505139b1", - "createdAt": { - "hash": { - "type": "Buffer", - "data": "base64:R5HXrp+X3xAO8VWOhHctagm0N2I4goP3XG8goyqIqoY=" - }, - "sequence": 1 - } - }, - { - "header": { - "sequence": 2, - "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", - "noteCommitment": { - "type": "Buffer", - "data": "base64:iTFeBCq/1e6LGBURIXMlzX71j/oZ11FeXmrG0wT0SFw=" - }, - "transactionCommitment": { - "type": "Buffer", - "data": "base64:tMks/1PQnXdJVuJUBTx/BrF37tlwrZQ/drby8Gb4Afk=" - }, - "target": "9282972777491357380673661573939192202192629606981189395159182914949423", - "randomness": "0", - "timestamp": 1695243732025, - "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", - "noteSize": 4, - "work": "0" - }, - "transactions": [ - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAm9LSvVZxI+9z6Z41AiRqYxy8Ppe8UuBAl/stm9tupu2DovdkgaAitVNO7lUp4uIruwdUxWfBNw0jcWp9I+uq2+Ia+PkDLgmQeV0fu4a5agqET80h+a7ps4Ns6NQCxLLamNkT4vWRPi8zqBurfjaMB4TsJU3qOl4xQWDlbak0dHEB4JfKmy8FhA3wmfIhbY/1tL4EmkeXAWGq8WoL/OAs2IWBMAsmltqi8oOLW/XnRPakS7seUUK7OqkBC0oQaTmjx2nDMD5dmXLEtYdmmvPIDIy2mztmJUer6v1/2CbS3RPEOBnWqZE5P2RX8SG9FuJjSNT4icIECetd3v/NP3LKs3e5zJKQrYp0ELSPEInjqfqeWlc+L8RfibyN1Ll8PUMlY64dy+ntGXkodUbsI0Sq+TXfoCY3KJO/JxUkgk8rx2JVMd4iKt9UXbHq3CaU976Fvh2cCeIYOztKgWocyah+5R2wVxAWRoOWpdC/UTac5oSnuMU6PvyKx9cZbH9Ag+2cnW0ocSIxCd9b2ImCubGmKJfPfu4haXsVUwp7fqHm8LTMbo7DHr71g9rX3q38FRUPk1Jmb0jbOYtbAxBIYQ6gbI71wgesyyQhSNXM9KUikfwT706XWrIi4klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw9NF0MqLX9V6BiNxkALuiaw7ysUCOBWIT/+JVatSTBmgLPCKlqpekkQTPvG+dzdOUCItG9BY40w0mUS9o1JUjCg==" - } - ] - }, - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhzq4eCPW0kCLU1E/Guk94/fnNjTzfV53LaZlhcZjRyWyXZYwZZIcURpnJS5+rQWGNYIiqCCgIWbcrCq0bmYsCJR6v1WyxHhbV160sEbx3nOKkv//Spvi9ujrIQgogGv7LAqGsW2Qh2jzZnawPDJXEILayf/GM7DQEp0M438Yzq0IFYDssSh7ph0nAzJ3qMHq8Xhjd87hygFZpGvqs8QgSJkWyPnuk3ew/IyXho88QniFsap7eP01Onmur8lDQPWJfFbnwHqz23BU3A1guKE4gITwYwbQxS2/Mg1SpTcklF05z2dq5fSSsiC9HlDE/fdR+X4FQhvTdmtX8/vl7HgDQUdIcPighLCYjVk2ivGzodvxSKMWJCF3Tyj8LqGmawFIypD0B/WC/s/+IRNL1jXn0G6Hd5fzhomVzWaBOrBIGQnEOv7t8mmovs8m3fkT/KS5KHyiV4wX9NGrlAgzScUdl1PxVEViQI9KtviClH1IcOR9402MQ1vqPmtdwuKik1ADYkjAJnbA5/UtqaYXRih8p9L0XoRSThdTm/ztv6PZT0QTvismQQOHxxgtxnLZrmOT9wB2cTtMup9OKc0zqatf5XraY99k5wnkizXLGuTgR7G8DVHiziLPlmus7JqalYOpLgF7aYwkX2E2ryuLLlVFw/IKO5zIoUnUXeA0j+Fw6eGZC+i1i0V/WW9ZB7hX9TFVC4Wnhb2y254DqTANERx25JNsOhQEBBh0qP1bRmctHkynsDleFquZ09w8fbecuJO3gP+3bJQLikh2ujlPm+ID3Oa0Jj1kClDCra7QLK0sKAQ3h5qRIDMTyfC7QhPtW5bd5p7qwUr3R40rdSyy0ZIOh1FBUxLnzypFCSPqqeuEcZNhF6RgdcXPHjcDCr/AjuMREJztmerBj/9Aipr9OoaFpEG6fJ4KwsfCq8LOpUnP19ZO8kQLCEBbX+qd8c2cE0B+iOPtgGBa7IcX84ywgAp+dFtDHrXpNFF9DPAJeU+uwNPl7EU6Lgc/cc4U9TGMzpt17ZxdlFBRObFtaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAAAAAAAAAAzwCXlPrsDT5exFOi4HP3HOFPUxjM6bde2cXZRQUTmxAPovNXEeyNF23r113CJu1Dz3Z92MqY3uKdXQ4TNI+98dHm67vBi1nkykS5WHHELJ3R8eAxux83WXXwrgfX39twpDzgO/KeW+dtV7+aP5aCtAnZEKtDYJ3W3Le+emGNopgxN4oPYwPZomrQNdJA4Q9y5Pv4P/JzQAOW+Etypk560B" - }, - { - "header": { - "sequence": 3, - "previousBlockHash": "13DC1D32F1A1FDA4978A3AD4F912BD312F3F6695755450E297FDA3550AE2F803", - "noteCommitment": { - "type": "Buffer", - "data": "base64:sdu7Fpn0K/f4B6ds2bfjKLvzYcZKG3/j2IsSRTl6sTQ=" - }, - "transactionCommitment": { - "type": "Buffer", - "data": "base64:zaFpTeFW99qsLS3a+7aekM+GAQrd7NKGd0oXLci1FYs=" - }, - "target": "9255858786337818395603165512831024101510453493377417362192396248796027", - "randomness": "0", - "timestamp": 1695243732721, - "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", - "noteSize": 6, - "work": "0" - }, - "transactions": [ - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAABoLPcpngL4L4TkT5yiEPxNtmPY0oqBAqj1kZJdYvYKCHb0trqyOLMHU0pfdtf+zXLDW7kpCb92nioU7RjeYeFu7m+ZrMFIzW4EPlcXcqV5yBkoE13OL/AriZi+Vovs+7C6E3GfrIGO2SSZhFHDSeli+f9jbU5EakZls/2iOw99cJljbgkuxZ6PIQwC3yrV7+aa4A5pT8H33uMZHlWV3WHElRm10ar4akPFWjBFjvj3m4V+xc1hpHMNxMLd1aMkyiLI6bd4QG1sNV3ECE5mCQVlx6N9dfFaRPqaOV9gJYUnQ525qTEkq6ZD6IajVdPZgFckADNCYHP+L9BBNErc9slV2ursm/NUwkyxQl2gVpcmXVYsgs/aHhgm9iyhk/BvcYSTSV9xwRnrmylbKxdnlPQFnoQCKMxBy67JwMNk8oTE5ybET+3kw5AbNcqggYx85b9P0isu+HaN4S+N674iB2GKNrUtqB6u26+I9fS1cUmbZK6mPFXYKMa8EeeDFwuojJQe9bzcMAzCPyO4uqhcbHnAdds0Hl9oBu0jLVRhG6dlb2b+7BXQC6RGGMVVc05nFp8SNdFTETXnKIZQ2mxOKgFa/RPf/hQzt3W069+sNTcyWiUAEKFVwGbUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLcVm2iK3OfJqJ7LkHZNOSfWVg0SUElQYuugXbcBLgRJyqZm5LtDDXnO+4e31lmCYGthAS9qL5yBwFf9/eMx7CA==" - }, - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhzq4eCPW0kCLU1E/Guk94/fnNjTzfV53LaZlhcZjRyWyXZYwZZIcURpnJS5+rQWGNYIiqCCgIWbcrCq0bmYsCJR6v1WyxHhbV160sEbx3nOKkv//Spvi9ujrIQgogGv7LAqGsW2Qh2jzZnawPDJXEILayf/GM7DQEp0M438Yzq0IFYDssSh7ph0nAzJ3qMHq8Xhjd87hygFZpGvqs8QgSJkWyPnuk3ew/IyXho88QniFsap7eP01Onmur8lDQPWJfFbnwHqz23BU3A1guKE4gITwYwbQxS2/Mg1SpTcklF05z2dq5fSSsiC9HlDE/fdR+X4FQhvTdmtX8/vl7HgDQUdIcPighLCYjVk2ivGzodvxSKMWJCF3Tyj8LqGmawFIypD0B/WC/s/+IRNL1jXn0G6Hd5fzhomVzWaBOrBIGQnEOv7t8mmovs8m3fkT/KS5KHyiV4wX9NGrlAgzScUdl1PxVEViQI9KtviClH1IcOR9402MQ1vqPmtdwuKik1ADYkjAJnbA5/UtqaYXRih8p9L0XoRSThdTm/ztv6PZT0QTvismQQOHxxgtxnLZrmOT9wB2cTtMup9OKc0zqatf5XraY99k5wnkizXLGuTgR7G8DVHiziLPlmus7JqalYOpLgF7aYwkX2E2ryuLLlVFw/IKO5zIoUnUXeA0j+Fw6eGZC+i1i0V/WW9ZB7hX9TFVC4Wnhb2y254DqTANERx25JNsOhQEBBh0qP1bRmctHkynsDleFquZ09w8fbecuJO3gP+3bJQLikh2ujlPm+ID3Oa0Jj1kClDCra7QLK0sKAQ3h5qRIDMTyfC7QhPtW5bd5p7qwUr3R40rdSyy0ZIOh1FBUxLnzypFCSPqqeuEcZNhF6RgdcXPHjcDCr/AjuMREJztmerBj/9Aipr9OoaFpEG6fJ4KwsfCq8LOpUnP19ZO8kQLCEBbX+qd8c2cE0B+iOPtgGBa7IcX84ywgAp+dFtDHrXpNFF9DPAJeU+uwNPl7EU6Lgc/cc4U9TGMzpt17ZxdlFBRObFtaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAAAAAAAAAAzwCXlPrsDT5exFOi4HP3HOFPUxjM6bde2cXZRQUTmxAPovNXEeyNF23r113CJu1Dz3Z92MqY3uKdXQ4TNI+98dHm67vBi1nkykS5WHHELJ3R8eAxux83WXXwrgfX39twpDzgO/KeW+dtV7+aP5aCtAnZEKtDYJ3W3Le+emGNopgxN4oPYwPZomrQNdJA4Q9y5Pv4P/JzQAOW+Etypk560B" - } - ] - }, - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAoA45TcrX1SGWa0cDp/m4ofiVnsVAKRry+PmB4bs0lHOs7VcJ2ysvtV1t1RAK/NfIIai1XtmO3Wa5fvriftbN6YbDmA7gmjk8C96ir0xFEKiXjIvQ+CA5PcWB4JYblI340UGyJmrN/+W0xqSvfJXAvKtEdd/NZ8jPexq7XgEbNToEL2m33t4Omur2OwJFMa8/GIi57XqxdvAmpPKySmX1hMHyft/BRB4jyWWqwYVbIWGZSMZzviKtKo/6STKrmnC0iWjVPs2824ixOdDHH8QY9X/5cBkygOox0PBELmdHbfdQ2EhS7JwKUI1/WPDnaxE9L/v3uamVwrLV5oOYtja9Mg+jf2G7JzblXdFrO2gK7aG6gxB79e7n3VyMfi8LeARIzcdQdwzt50TXVNi+gSURvjsk7UZ7SxZR7TCXK3sqlcVk21LY23tnA/oV0jpkPPWAHzHNnoCayyZwZUVX5MMZificx5PF1kyEkRurx+trxSE0ZV8FthZlIavHBrLBbZW5+D36VuIu5hkTUBckCGP3H9fuQ7PGEJRTo0/YYVr1SSprAvinnCsXkH8KXhBxKZFLxRabf24nUa6WjyW/SoNVPreqmTlFnaaTv54axAHfq2oK5jiEv7PEqLnAfEaEWPESbcMZf+K3jUPCG0Iw770jr3sgiaVPjt6pmrxcuFDAR108OEli3GE7X5UZ2ClG8TuIxBkTDlOoPjZfyUOQDMEufID8vw1kONNGkCYpB1Sgs82kxxEhRkt+aJjL3y2QpEMcy7Oh+dWMLCoe8NLxJdIyPqfe1W7PFKSJg1LXGOmmu6isFsM15BtEKLA/jpEGlZG6rnYbG6pVbm7dityaaFRLhKtSVTSQv3UFDMu0SJ9ikGWNSxOI2x6VNY9rznsVp6QIGpv7SCSHJul8HLbU5/A5bB9VYUfavSMvoSyF5pAmwToPgyXabm2tJpu+Wy47PkgJfk0kgplpEqe8s0Vx/LFWUTXrrWMiBWzyDPAJeU+uwNPl7EU6Lgc/cc4U9TGMzpt17ZxdlFBRObFtaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKAAAAAAAAAAzwCXlPrsDT5exFOi4HP3HOFPUxjM6bde2cXZRQUTmxAFWbyygYJytPU8DbGZNyPsUxDcC4tIsmXzW0EBwagX1wn/+6nTAxILT9vmsd8cQN/hA2ZmpNHXDsPGi9IcAJgAISyl57XqXHrrv55fSYAGO2M4Tscy/GV/pdAFWzdXg+s8FFVzLesYsmALGGPmCxgPGnqGGOKHzdtZS4784DesQM" - } - ], - "Accounts mint for a valid metadata and name returns a transaction with matching mint descriptions": [ - { - "version": 2, - "id": "362c3f60-b388-4d36-bf52-9c5c7c22e596", - "name": "test", - "spendingKey": "35912b5f955a26b32bbd7c47c73169a017521ff5e533157b874daf30b58058b4", - "viewKey": "2c0fa20c9f706e631632a53320f4dcb78f7aa6018899502c93f022858c940c4d8168c04be4e8fd172bdeb4e6c9c91b4c760e1c4f0a460be85de0dfa7a401e5c7", - "incomingViewKey": "3239a55a3800b56fea05ffadf1d544ee43f63e64f4dc0700d95905d1de942203", - "outgoingViewKey": "e2e3de93e3322712783b4399b0de9e15d8982b779c5d282c1dbf4dd7f9ea3534", - "publicAddress": "1b6f6b3e4446688bcc02d8cc2f97786c1f2b71d0706e209a91d308a16d34188f", + "id": "d9c821ca-30a5-40db-8d9e-bd1ee75ae4ec", + "name": "a", + "spendingKey": "79816b7ae4aafc5e2438a27205e88a7a40483b66abe3f2fa9a6256a0f1335f48", + "viewKey": "6c8136203e4d4d188289928b0d1ecbbd708b29b3cccdbfe9505316038c949798ee2efef940a7f8d694c649f9fd63276e1a67dd78c582f3135b7a1237f6bbc76e", + "incomingViewKey": "4f98782a41c73238f145591e9e3957666e954f7cc4bb5a54d52c3923d2caf202", + "outgoingViewKey": "96b40b306ffc51632845026a4fe9a9f6c2cbdd14d906a0c8cd8213ec48750807", + "publicAddress": "e655b5f32c52119d348c90c40e19cf508b4870fc78aed061c1490565a5886368", "createdAt": { "hash": { "type": "Buffer", @@ -3290,47 +3081,15 @@ "sequence": 1 } }, - { - "header": { - "sequence": 2, - "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", - "noteCommitment": { - "type": "Buffer", - "data": "base64:/ts940VqfgyXJ17t3BFiyCWD0sUWH2XMAvV8M98vQCA=" - }, - "transactionCommitment": { - "type": "Buffer", - "data": "base64:r/WVxV1wyZEO85JTUCbZ/WOXm4+CFFh96JAJU2ijKhM=" - }, - "target": "9282972777491357380673661573939192202192629606981189395159182914949423", - "randomness": "0", - "timestamp": 1695243733824, - "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", - "noteSize": 4, - "work": "0" - }, - "transactions": [ - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAL/ABPzFYe4DBBbXQImufkarg0h+2jUVTtSkvG7J26EOpAYfqrFA/uOamQ5eEnu1/GMIleGXu7KGXgL/BEobIZEeLI5rPD0XrTE34QaQYRC+Xews96hO/83tnE/fyuRFUo43l3YWUEBMHm7yGBjjAoP+slUA96enENuzjpLosnmsWVl0mddF6xhjMuWD2R70W+Y3myphxw+ch1pNTe/EwdcnbZ7JJR671YaJZEvUXJL+jC2kTsOX+RHZbPODirzdP0TTe9Thfb1nHw1P9EMGUX+nnYNpzb6IrPWNd5YvcL+Rms3yqle3ZVyIZ65oyiru/KzyM84TXHacvwcGF761MZrNrerPV6UUMHDWSVBGF5L2xNyd101VsVlKueg6K/X0rsYbzoRXBsXwxp1Ob60skCRX4ICWhVmpyPejrG4qQUeBdEch1nMHCEjCcIqCRxZqALGTpkDhwf11f2xMAd6umgdevKkp6GWNPY2UvBUItfIV/JJtCEVmfuIwzaTTuWesVRgL3q36rRtz9S12ZBVcypiBpnCqy7Bu3YfPhjvIcV0MUd9QEiAPAlKTJU+KCbMWTJrAcUxtsyZVtbQRFaoJXeZjR/Mn9pXFNsKVvo9MK/7Y4Kk50XLxlv0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw47hmvxhbVj+9NJOfQUhPIB9lp74EFxEWZLE4szvl/LY1k1WCs0JMjgt5+ThpOt/j7MkkpOQg5C3RNm+BgRcuAg==" - } - ] - }, - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5pXfugCBSSag9L29qUnHGvuvtg6ckdCDJoAbL5uigmkCwNQ3SwPBCe9BJFdrPK057IW/2TmOHWcssW5g+6OQjScjD6p7HMJIGdm+pyJN8SoGVKhzf28WgW2DIXXQONALTbbTzvzBn2GKPSv2q8Y06cs+6j4vB+O45q3vJGOii8C+5y2uJ/yK7jnJegfrBgbn/Y45peyAbKX/2G+adQw4gT/03SpMzWPVKayAWCvAHWnD9LreEh+cTNrYkt+eCFsONs1LUP0x/aPEUmO4xaej5ek872M1IJGd57la5HEn2wobU+GnhYhIoCbs0WiQB6G1mh78/chR2Dw3C99nExUte/uKzUkpolpQKATeLtCL74ZsYng/oA9tG5wXqJJWcgOV3w+vcfxST5wp/IzBlD/UxCYsD21BHsD4B5TtpeYYiZhXw0IHBa55gLXquOdX12VmbRajsM/ZbCFeQAqGrCQVfQzK9rtb3rNIDOC616r83zBfj0KwRbh5O/SzA1HcBajLZxpNxdBI+dgQasJ+m5qzh/y2XyN2IvpGcGBMa5/M2Wyh3uL/eWCm6L4sSbsUhv6LDohA+wyZusdRCy0uAddSYXnFpvQaFsRJnx+FoUCFfVArNQQHcCKpTlZ6mVO7e254V5XA0DzEIcxo26lizIoKQnjxQKo3XZE/GgIfaymy8WNg2g+DvYZRe/VVA5fzEOVuumZFX85211sfQug6Ds74dntBfUZX8vijrjL0exOwNjp0bYJuOWdodDvl0Dlz+XCmWneN+wFCw33bZWZ4l37x9W5kmwQ72ACkv4bQH2gAJDP1CMvIbkUOoVQgE4V7Pg+C0MJCG625Je85SiXOh9NEt7k32HcHUCGGVr7NYB/ftLD/p99FldS7QIgk3Ik9iqwr+UoxgHa5DugBO4KXAmOLvMhJosWRWU1h9EvY+jEgDyUa6+ieADy3LcWKpeKDQC5dmWkxBHnhQul6tbSxkeCD0k0Tc09XAPdG29rPkRGaIvMAtjML5d4bB8rcdBwbiCakdMIoW00GI9taW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAABtvaz5ERmiLzALYzC+XeGwfK3HQcG4gmpHTCKFtNBiPABag0t7lRwrKLvDqoRNHPduPe7xG4mSBfGMgriNcnCM1uiSqR3oQCdPwAj4A0xEoG5fyEdFgYtDhujac3HEE3AOuCFT7mwYuzv9h6L7fD/YdG2RDbcd6lBfT2ZTjWI8Gm2asvdJ5V/fFON7k2Xncz8xs+nK4wPFChnC7MAuZriEF" - } - ], - "Accounts mint for a valid metadata and name adds balance for the asset from the wallet": [ { "version": 2, - "id": "00ca76c2-2a40-40df-b697-b115c7782a90", - "name": "test", - "spendingKey": "6d115c2673f0ae73db8488fe11500f8c179131b302e354e1907c35efc90105b0", - "viewKey": "aa3210e10ff9563be0d021a8ae0b60b6aaa07d0dd166f473e92011e5dc7aff31b63d83097b31f6a22961aac18be234e91c95e283ecd7704e498cc35f08a6dcd1", - "incomingViewKey": "2a49ca0405a8aaddef8850e058a96033a876e51a13a770fb25f16b001ccfbc03", - "outgoingViewKey": "8900ea00c94d254acfb6d592a8746d1827e137aca2775e8bbf14aa50fc73f6af", - "publicAddress": "a51cf9895060c6a173d3172622632e5516a558ddd961c3c9d1442e5c79dfd514", + "id": "f430ac78-cee2-4ae9-9a22-9ada69e99a66", + "name": "b", + "spendingKey": "ace0a7070dcc717f8c1ee9d3c68a7a4ade5243be75cf15608464c1a81b8b02c5", + "viewKey": "d35f546d4224bd401b4ffd8b77cad65b95475d8a3a408b2b96d45ad65fa425bb961cae8b58cd4dfeec4524e7e009ac65aa31ff2c321c16512b6ba91a46705151", + "incomingViewKey": "2c4fe3f96f1d64627568e5d95255aa137c0f04224783f8a211f031458eb4c001", + "outgoingViewKey": "67361424c3825be07969ffa6f0dbc9b01b3509a9c0c0f6425b880bfe3f282baf", + "publicAddress": "fed0db047f5257d802bcd6beab62555631d334ddf4232a30b074ce6545714025", "createdAt": { "hash": { "type": "Buffer", @@ -3345,15 +3104,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:o54elSqeKfZgha6+w8HTo0e1urS41X+R93Tf58jvUC4=" + "data": "base64:q0QCRf3W469o4pTZzSdEqgolLdFnPQO1TekA5115OGs=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:YKHOdtz+Dy3IWzlDWTqJb39AiBeAbu6gQhKotS4RiL0=" + "data": "base64:O3mia66Tg4l0kN/Oe214dw50AnS7Q6QRN8hkPdRwsh4=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243734643, + "timestamp": 1698950299883, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -3361,55 +3120,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAlaovon/76mjYVVHtvLeoRKHnWhDCzPektLWPnp69S9SFE1M44yw/TbWIusAMjA0gcs+M3P1x05obnbgUg9llG+7qtlqmT7wjeUY99cABRBOuhaUk+pI95sPHRbEQgtLabJoy4L1C2tfHo5SbRK9L1mrO16YVKatJD9jgDVqn2xgGhi8GVve/ya2j6d52OcdZUa8t1nVSooOd2K5r5xzqFxRhvgCtiPkhugFF6fkCVhWRTCFU/yC6KquAeNOi3SW2qCTbmwUPGGtc0fB3IUs6dBJpVlWlmtR5TyrpziYkiNoBxiyhsjkTZX+ZKV0bjhNaFpkF5DL8l2L6470xYVOtVtMlGTAYFGX/WNexo3nYP1SFkSyCm/Anl+eJg2QCog9NwQWlnGAuHtG9xfZlk2fsJHOl3bx+1zHSBoJemHBxauFq/EaCC1wRGkGfkZi9WHU5CWTBCEb4jhdV8gTMuP2/9OO8slX9GIvsS1ZN4d5ULWkX6sFUoF0FGF6wVrFgTtjGd5CFmyYtWB235l6aUFOHvU/J7BYWreY4eW7ywZq3FlDQuARP/ZP8GkDT1QoE71Q0B3NqmyT3c7dRv0luONe0XzLeRXHdu5spP2J2bPGXJJRsreqW3mzDcElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw1mjtk1Vi71CoIH1U9rPJ5Ciz1xFZkSnRcO2QcvDRfcUS9qQlrdkF+HL62lEwp4Ft1wGXWLC8KAwSR9YaAW/oBA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAACnKFK0J1yLyaR47b94al2jG8j9A6/6t0ya/my+u50gOY9UQ4Xgq1aGxSB7kq187gTMYhK5YFfjDhCko1wlwszY4vlswRU4jfl/AqSf+L6RSOBxXOBhrRWX9g2nj7/fLQhQwcVuttxr7ighOtrhLOrfV1jUTZnuDZFj69XlphN/kSCiACiMYMCzO3JZ5o66yY1/tZyEtxO1YIgff3+ISt8YCYroZ3JCcNarlv1iXwfdOIXPEObtxcULMYmGejpzUHdo+umEPVQnf89dFF1Mvt6wRiuilO+FpW2hVg9lHNetcpGHj6T6txj3pefLZ+D4taXTfvpTA4YYwGx9rIZqpEVrn+3HCCdsspebc4TIpAW2XRp30FkvMp7ZCA47jjw+wsDdf2x8Tf4nQdnDblvp0Q0kppvSTnk908UP+loCb2dl3JwBryQg8I6aTJXK8URaP8yWS3wKpVhHmJG2qFvgaXfsuN3WLnMWqY+J4wZnguihPtQbBKNKCuctjCnRkI87m8aNMzedzqvCCwMc+l8WGD/y8/v8n3ZqaKw0OBBzMtryBg4oOJEqDmaQxEwsTyuz1P1yHr6cSCZrqoufGqWYYapbN+TCSq5eEhLyWmJS9GTMTQHx7xogP/j0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwPVQB5fb2fAf+kiS19SOo23M4hB1FHEjE8CcSAV+U/OuM/ZrAXHZQI8yPVHfmnskGzbSFN9LCONr9F5OtZvZRDA==" } ] }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsRXEx3tbq/WgnPUMeRErZsIAPYuyiUrlQLDKnwAPs1elP4l3nF52Zcqarpo5G6eH6mEY41q2zP0G0Ju2bTugTGx4+p8aFa/Y4WX+N4Vj3yuLEqvmHjyTUYzKFlWnJrnKW5AvvB4bi5fsyKSyVeOvgkZLR7Nu9KKRyRSsxaNVGVAZco8suw3dUmEoh0eCR/GULu/W3XuHNLevAowy61HJBsSpYyiE/GdSrjc25YekJLuLBX+pNKGIdL18bEJby3fGkWZzpEk82JWO/ETwlY2n88AJ5fMLocMRbjrg7eDyFsUWrJMLeLTALNJtdLvcdepdWFLhGm1PQgdvugTMnsEYKoYgdrF8BQBYPs3Oen2YOs4R1wViIoAop8kHW7JM+bBlS8v48fsMNnl3tUSfkSJWfewz+AOj9gaxXcn0dhFySbZzRjWhjAsgYGNuN9O5uPgM7YX5l/x47A/R4cecacYPff7w/hiUXHBDcsLpjRYKQPdCIzscJtTbo0A8AZG3rE1MmCSRngcIY25y5AJKlJcQNgEhAO8l/sOdfJM5m1f2zt9IUumclempuSwn+4JHmA7Cd9/mdvXkgWc14fKtxP889OUPfNsTtkz+3tGAIqoj+XTUltBQAnCrTnewPC2CbK80hD8qMSlebjVQ5yMB9thPcFwmgg8vKyrMkLW/gGS7D09jYHvNtORXiHDLO3uko8QmvMeXnUR26cJf+mTeys7IrcsU9A1AFDO3hiOeWrAHekTkD7Dvhov64UDHWufiiJwrzE3ohLwA2JHGLtGq3oIMPZUgTYH2eDKQuHvwc5qqMwrh4WNdvLFFgAZsfxF5gOIlB8nC5SltskGTq266bMPsL4sjRUiRMBbUF5hKxYILgqYB7GGPqR8x5OVl10YElAOGJepyQw9EzerPl/z10orVDOzLDBwasqc+lZSuALYM61q3VJ0h9rkzCuNzoOtSJKAUOJxl5RcUYmPiYYvdHOuAZxZ2CnAXoNdvpRz5iVBgxqFz0xcmImMuVRalWN3ZYcPJ0UQuXHnf1RRtaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKAAAAAAAAAKUc+YlQYMahc9MXJiJjLlUWpVjd2WHDydFELlx539UUAAZz3pzxRsP0amVkUA9FZnoC5z42gjXf2eq9o1Pj4lvJMXUkLn9bB/DwbwYmMgUPzdfY4eDUtPp3SDv4zABw5QBefmaBOt1+m2e2JxOq9qo23O0P3e37Yptuc4LeC6d/ZyHeX6LTfzu0twpH+03axMginbjDUQxE2vNXLxZDZBII" - }, - { - "header": { - "sequence": 3, - "previousBlockHash": "320FE94EF63F46419F6AF0A8E532A741F22384D4C7511B19E3660807446A1F4D", - "noteCommitment": { - "type": "Buffer", - "data": "base64:cP7aXRy35Cmi3fVGrTpgEZ+PGA/FdJ3SGpRk0lm8TiE=" - }, - "transactionCommitment": { - "type": "Buffer", - "data": "base64:aDnZG2hfaLe+S8nZ4oSiPfy4s/NtInHw0jvtxWE+IY4=" - }, - "target": "9255858786337818395603165512831024101510453493377417362192396248796027", - "randomness": "0", - "timestamp": 1695243735330, - "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", - "noteSize": 6, - "work": "0" - }, - "transactions": [ - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAGSdKAO8G7gWGO9WhmDnigqS2g/mjSoUyU/+aSQRullGmrGOpPAfr595go/1iZwnekFwTzYeOJzsvNM92mgPe9fYzYjgF/r9uLFOsuUNVZh2HZicT8dKZKDLgfZX3paKTori+0ehJjNo3PHlPHrkN+Af0iD4znydh4imFb0DRYmwD+Ib533Nc/pmWo6ndw+QmAm1NlqzPV6vVRiQ21WVfG2HhiZIIFRz4gKaD6i1zvr+QM7qR1HwVxTw9oqXu7J8ZwRxJCtkqFCzmxqEGYw79RkorLewiLKsH5TU6SFAMruYSAYsnSzDr9ctykhYiSgrp4veBwFNuGD3m68uhsod1X49yTvQno32JYeHvWVU93hMKJMFKNVniLblrAq3LLzI7cFvYTgApzutVxX5i22Bk6CKKEWEMn+Irab12znSSbFqTHf16IMZkYU4aamNgsnjqt9aH7XHzMFrAI9k5N/dUyAhZt37e3ArGGx0M3/hkf/zfr3jWwSgtBzcHcz5CDWKEDbz7Xx0QuLfbxDi7gN/fkeCqzYOn3AOX5UQz/77X7pDhEahScHGdCXn1RBGQngm7o8d2neXjEVm6Hvu6AeVQfGpk0Qj4Qxu0Nk9SYUagFvZHxQORE9mlQklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwv5vpyvsYhJ03kVBSttC9jAq5dZY7Sq8NSSJcSh5E3arTPH+vs4/Q9SuROqLAIeMtTMnkuqoZmlEIXwEHYNI/BA==" - }, - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsRXEx3tbq/WgnPUMeRErZsIAPYuyiUrlQLDKnwAPs1elP4l3nF52Zcqarpo5G6eH6mEY41q2zP0G0Ju2bTugTGx4+p8aFa/Y4WX+N4Vj3yuLEqvmHjyTUYzKFlWnJrnKW5AvvB4bi5fsyKSyVeOvgkZLR7Nu9KKRyRSsxaNVGVAZco8suw3dUmEoh0eCR/GULu/W3XuHNLevAowy61HJBsSpYyiE/GdSrjc25YekJLuLBX+pNKGIdL18bEJby3fGkWZzpEk82JWO/ETwlY2n88AJ5fMLocMRbjrg7eDyFsUWrJMLeLTALNJtdLvcdepdWFLhGm1PQgdvugTMnsEYKoYgdrF8BQBYPs3Oen2YOs4R1wViIoAop8kHW7JM+bBlS8v48fsMNnl3tUSfkSJWfewz+AOj9gaxXcn0dhFySbZzRjWhjAsgYGNuN9O5uPgM7YX5l/x47A/R4cecacYPff7w/hiUXHBDcsLpjRYKQPdCIzscJtTbo0A8AZG3rE1MmCSRngcIY25y5AJKlJcQNgEhAO8l/sOdfJM5m1f2zt9IUumclempuSwn+4JHmA7Cd9/mdvXkgWc14fKtxP889OUPfNsTtkz+3tGAIqoj+XTUltBQAnCrTnewPC2CbK80hD8qMSlebjVQ5yMB9thPcFwmgg8vKyrMkLW/gGS7D09jYHvNtORXiHDLO3uko8QmvMeXnUR26cJf+mTeys7IrcsU9A1AFDO3hiOeWrAHekTkD7Dvhov64UDHWufiiJwrzE3ohLwA2JHGLtGq3oIMPZUgTYH2eDKQuHvwc5qqMwrh4WNdvLFFgAZsfxF5gOIlB8nC5SltskGTq266bMPsL4sjRUiRMBbUF5hKxYILgqYB7GGPqR8x5OVl10YElAOGJepyQw9EzerPl/z10orVDOzLDBwasqc+lZSuALYM61q3VJ0h9rkzCuNzoOtSJKAUOJxl5RcUYmPiYYvdHOuAZxZ2CnAXoNdvpRz5iVBgxqFz0xcmImMuVRalWN3ZYcPJ0UQuXHnf1RRtaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKAAAAAAAAAKUc+YlQYMahc9MXJiJjLlUWpVjd2WHDydFELlx539UUAAZz3pzxRsP0amVkUA9FZnoC5z42gjXf2eq9o1Pj4lvJMXUkLn9bB/DwbwYmMgUPzdfY4eDUtPp3SDv4zABw5QBefmaBOt1+m2e2JxOq9qo23O0P3e37Yptuc4LeC6d/ZyHeX6LTfzu0twpH+03axMginbjDUQxE2vNXLxZDZBII" - } - ] + "data": "base64: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" } ], - "Accounts burn returns a transaction with matching burn descriptions": [ + "Wallet getTransactionStatus should show unknown status if account has no head sequence": [ { "version": 2, - "id": "6f53a235-7b69-4e16-bf64-e57af761fb88", - "name": "test", - "spendingKey": "2d53fd4166a3645c98b472e72b1fff68d2a3b6e0082fa1e9cc7994b54be32551", - "viewKey": "99ccc3c22db70bf747db06337e3de2c4203b5f50696e4d698926afd1d35c784e2594cca3f5fe64a2bd6732da207acae621820c8cb82c362ee94f6d7aea9e6526", - "incomingViewKey": "01ef231962ba38792b024904ff957afa787128bfb32b8839d01c6bf765592e03", - "outgoingViewKey": "b4cca7952ff4ecb66d207710e432db4d829472c900a160c9f1330c9284e8e4bc", - "publicAddress": "fa4664475f48a956c3e29f1907d6bd411bdcc82e4ec0662860f3031ed1481b8b", + "id": "7c5fc5df-34ab-4f76-9bb8-03da23e6da72", + "name": "a", + "spendingKey": "73c67de414c5e8727f046e75a053c76f8302d6c9fbd7047550e9009a51ee6be4", + "viewKey": "ea7a5999b7e6f82985ce5e37cc631a71ebf2f7b64421f696fa71cc975b4cb367e78c9280adf69e76d39b34ba514c4604c657209160d65adf661549caf4edf369", + "incomingViewKey": "4caff2836e35befa244df67b4cdcb34f5e4a286f12df1e78922c7565b2e10204", + "outgoingViewKey": "c5ae13fc4d6a2c3ccc7a32b7d853e14b51088e9cc1f4e3ed4b6636b9c33842e4", + "publicAddress": "03b1fe8552482f1ab2e6e1d723d90d9dbf52e826215fb6ea0c8f76ee0feb738f", "createdAt": { "hash": { "type": "Buffer", @@ -3424,15 +3153,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:BQ1d9zHK7MU20EM/cMNOz4iy5/zePFK+0GLJeWrc+wI=" + "data": "base64:nFVFbXbYn257JSM3VD+FjCfM1equdoC+BWVkyKEw5k0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:ppqpZGBW+kR1seFcGg0aSaKI83QZPmu8N8mspE+okKI=" + "data": "base64:ELelAj5fQP+EeWEChlhihjdEXB9sH3KJd3miStKooDY=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243735746, + "timestamp": 1698950301388, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -3440,59 +3169,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAPhew6ovyrc4t9qEojwdY+UznTebqVNNwbiKM+3R0KqKjr/Lrc2cObHl/dw7HmHW87pmpR0auVc8sTIe89WkYC16Jqg5USTZHpFrc3KhqHb6EpOpzSgFlfIj22gUYTZvF5qckHGnyVDRcmcE66m1Y316cMyyPFLocfb+iTlojDmAXEnsPVM9URCQ/QS1fE8YoMWneggdgHpC9XzRTtRubc1lIScJn70qEjmcWkB+lgL6rpqRfpI2OYwj/qTG+l6Vr1tDOLSOq0GmWht5Fg+BAqZCMJcOzUfmb1wEWhwcShxziiNKizQx3HsEdIedUjViFWWLPa1Xcl7K2/uYEql0QXtJ25x40kiRkpuNRevCUA3krxG+o10n/q0yBcZMUWAlWQkm7UEMiBeehBqAYlc9Dti/Qpz3wvgI78r3kAAR4ECHGl9deah3Qi2VppO6JDzwc42eGqwBmjeuzMDw9zEoOCiiGiLDYowGQvAjq3uP35iIyr4AGV83iQlUoNgdY/ccWHS2pCArFWmRtUmQe1G3I+JwL0fyL6bW38PnlcO97WsdArQjnZxBI+YjpnADjtwc7zCJ6VYkR+U5iT82IVbAbP8O2UudYg23sh9EIAGJRIWTVAD5GY6h7PElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwiUN/n2EG6gs9Z60CzNDdQA4DmuU494UzXxe2GqPi7Mlfys1ffFH+c6n2Be9seVo7fdB9i8xvTHzTV2r7pjIvDg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAeTnASTRL/tn23tg5BmVFrOFCdThl72cEwjXYdQ5fzS6wkZ1FcOk5hlCSquN6X1gfzn4hsG5FgJsMWf0XlB/GrJmbXw3yEwmhOkhZk+hG/miFeadadGAAdz4nGn3w+9qCz5JcafoIxxJCscJNnmeQ1VSCvwdgVC0wr5v1nppWKfwWEdQWDZwkPxx8r5QDSEQl+jQ/xU0AVeiT5K70oDNAzAxMIoXSL8+clj20ziK38tKHSWRZxuaZuuzdrDADIyGNd/td35AwaneXfSU5DTGg9qxvoTvcDxwZ67Vt3VdXkEdRRfQI2JOR5cpmQ1yt15eV4ddSoPhv9OkGr4oTEZcazaiRmrGn7YYBMr0JscCvcf8KOEFWLTwBrILL9r1KkUQjd/ckdHqXVgRCbnoZSJzlx2ZJo9ejFp9OT4Vs0sv7ns5JDHck31zsOOATHArNK/h3GxX3LOJLbhh54fbbgrhniijXY8Z6oStOcRyxRMfjAx26T62EnSeVK929K4umVZGTF7D15PGnpaie2DrWaxOpIzKPbZmLGLkFXQJPDyGbEL+i8Wi3fzngPcbrAOSe81eIypI2rgjdDugQSGIXDUHbbQcJwzP0JGmJlw6FksxWtIJsrb0LxAL8V0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwxHGsweabdwNp3B+F3UrlkZthPvvN14U4v6XbV/ofHqTkMaj9OQPxJ4YryeHlxzSCJtGSM+hkdAeQbv5Z+7wDBg==" } ] - }, - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwRPEZICzLoOLzNoYseh1Bp9Whz7diWez+3OGK8rsw8uZeHdrq3WQEWbYWSMi+KKg5CHWjkDI523ZmljDXbOVZ157Gm9V0xVEATtTjrk9soizRwcMjslVAVn+rFFbFxUPCnyN0nCBBBmxnDxyk4OBvq6GUejBIyTd4B5lT0ZT9BgTXlJSpJW8mlAkL+pKI6JoMskpIqdmJV7MBGTAsHrxZ4MPHQJHH7TuMlJyuV2QhY6KmP9hwslCB99ohXI5FT6NaUHzWTNSn4VWHHuY2wsTFssJ/dWmmX+I62mmgOXY2KuqSPIRxIT+Htl4SlziT8lcUy1xMRAwmQYqAmaC5CFYVWoXa0zPr3f0G1vPPt3vbjkHGQAtuGAFlmpRl0VmO3lTEq2sQ0gmeJ+AzuW3iLqTcET+5Qn8+J955Kjn/BMZYySJtyh6LtKN8X7Mm9KYFwWMc94wSieD5uoG7op0k2GTeIa4vKzBtNdOHJTuWGn61tCheHZ4OrojJE3lQ6GcBsnJ6Bwg5SAzegIr+qh8P5yOaFdlSiX6mg/mwlFR/5wwCXu63jpeSQQkaZOytk0/w2VEEf6jZaF4SO3RbU6LqO92jNVUuZ4cIFkHBYwEp2pb7LDlgxL0l6xbVftkL0fnTHZ356NGJ0TSBbmkC1g+Rrm9dvnl5x96ucnVdmAocas+hVhKxNZz3QTpqM+9uf+bpazZxojSuXk3Op5zlPgl5qhrrQHVKM34a77Gj3tlymqm1GwlC0xX2tZ/l+qVQG5TAwSF5OpTjrjxxIjfFe37Yms5+GSdThZyeP8VrHmr67/HIvul/lPK+uSYlyU797TWm+0RvFYxW3lGQfdBqhmDm/wEy+9r4wVrAWx9A59pkw3y8avn/CFiPKGCD7xED05suwxAoI+oTMxDnuzASnsrEsLYZEn4/ZJmK4XLrix0Z5H4o3p+gErVXzAKuCMw9orFjXGtfjzvaAZwlID5KJ5LPJNnhX7H1eGO53xo+kZkR19IqVbD4p8ZB9a9QRvcyC5OwGYoYPMDHtFIG4ttaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAPpGZEdfSKlWw+KfGQfWvUEb3MguTsBmKGDzAx7RSBuLANkfu1pBHqTO4ZBUkZp+YnbstjAVtvfi0QvevP03qK9IP3fQmkyi7eEmZvghApn1/DMTuTx99VF0Qh5Gy6l9igEpGB8ljlOfbp1cFWY7+sgTZ7t4Ygj9EtxT9l57acTySGKhMXALyAOVdyEkJ2vMJkh7InNUhmYWY6JRlsALSvYI" - }, - { - "header": { - "sequence": 3, - "previousBlockHash": "BD6F2F97ABFDC64E30B0A879E1DB4CA1A694B22CC74C67C367B18E29F834F566", - "noteCommitment": { - "type": "Buffer", - "data": "base64:4uKX7vOQN3wIU81uiX+eo0T2tsFUONsRd7irIwjhzm0=" - }, - "transactionCommitment": { - "type": "Buffer", - "data": "base64:33zAdv6CdDZHQkb6W8RDlRFSMVSNyv8pYBlrWq5MNyM=" - }, - "target": "9255858786337818395603165512831024101510453493377417362192396248796027", - "randomness": "0", - "timestamp": 1695243736426, - "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", - "noteSize": 6, - "work": "0" - }, - "transactions": [ - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA18K7+F4HRtynncLylMr/dPRdxZ1QKzutofNYZlL7PG6vvw/Lakd036uTkug2PT5GYNdxibaKkcaEIZSDuHjP/4tfKSXS8vwugRFG2DG30KOQzwjG9VBwcxOufeRXGDf/kb+WfToT4/c//oX8VqihxAk+iEpblgUuaXrPyuVL13wQEW4urcEIbV9aJizR/2spqyBvD+JPkwDCOSbYrVH1KcRA3/gVntXU2dh3h2tUfN6C0w19CeCidwPtXjIc/v9KAUX15H6EeOr4sKV7Str3XJP1oUnYpStp/NeTc3rdIAbRyxXitbq3LMdj4A6fUw258LXY5qYnsF8xDpAruegSPfBYmZzgTwrCuTBOGDZ9aKStDNb0YdPk3FNVKYJ4srgU1Cq33ruNkqaYJhPHcXg63bc/U7kkjPBf3gOaQwOZkaVFeDao67hkxEJF+DtY6Z1zpR047CTNiFBhaaTyfC3CXT0PTT76bxpkg4lv8vqF1KvCBqdOS3+4ufmy0Xrath6gXio7fFqSXbsrjdi1LTqzwQEb8DSpvJQ59z95PfLrAzKlIP7MoHcwpv0ICUB0FtgrIJYN/iwzuOB7wJxfJRJo1gFodYsnFqMH+CF+WxDIJc/5ioNt+SK6fElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwfSmddScssuJu9VauMNzHJqDQED2nXZu04ss/Fro1+Ld2QB6Zb4Uj5G9H4VVGyUwNvSvOsONqdzjYSAvA9I07Bw==" - }, - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwRPEZICzLoOLzNoYseh1Bp9Whz7diWez+3OGK8rsw8uZeHdrq3WQEWbYWSMi+KKg5CHWjkDI523ZmljDXbOVZ157Gm9V0xVEATtTjrk9soizRwcMjslVAVn+rFFbFxUPCnyN0nCBBBmxnDxyk4OBvq6GUejBIyTd4B5lT0ZT9BgTXlJSpJW8mlAkL+pKI6JoMskpIqdmJV7MBGTAsHrxZ4MPHQJHH7TuMlJyuV2QhY6KmP9hwslCB99ohXI5FT6NaUHzWTNSn4VWHHuY2wsTFssJ/dWmmX+I62mmgOXY2KuqSPIRxIT+Htl4SlziT8lcUy1xMRAwmQYqAmaC5CFYVWoXa0zPr3f0G1vPPt3vbjkHGQAtuGAFlmpRl0VmO3lTEq2sQ0gmeJ+AzuW3iLqTcET+5Qn8+J955Kjn/BMZYySJtyh6LtKN8X7Mm9KYFwWMc94wSieD5uoG7op0k2GTeIa4vKzBtNdOHJTuWGn61tCheHZ4OrojJE3lQ6GcBsnJ6Bwg5SAzegIr+qh8P5yOaFdlSiX6mg/mwlFR/5wwCXu63jpeSQQkaZOytk0/w2VEEf6jZaF4SO3RbU6LqO92jNVUuZ4cIFkHBYwEp2pb7LDlgxL0l6xbVftkL0fnTHZ356NGJ0TSBbmkC1g+Rrm9dvnl5x96ucnVdmAocas+hVhKxNZz3QTpqM+9uf+bpazZxojSuXk3Op5zlPgl5qhrrQHVKM34a77Gj3tlymqm1GwlC0xX2tZ/l+qVQG5TAwSF5OpTjrjxxIjfFe37Yms5+GSdThZyeP8VrHmr67/HIvul/lPK+uSYlyU797TWm+0RvFYxW3lGQfdBqhmDm/wEy+9r4wVrAWx9A59pkw3y8avn/CFiPKGCD7xED05suwxAoI+oTMxDnuzASnsrEsLYZEn4/ZJmK4XLrix0Z5H4o3p+gErVXzAKuCMw9orFjXGtfjzvaAZwlID5KJ5LPJNnhX7H1eGO53xo+kZkR19IqVbD4p8ZB9a9QRvcyC5OwGYoYPMDHtFIG4ttaW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAPpGZEdfSKlWw+KfGQfWvUEb3MguTsBmKGDzAx7RSBuLANkfu1pBHqTO4ZBUkZp+YnbstjAVtvfi0QvevP03qK9IP3fQmkyi7eEmZvghApn1/DMTuTx99VF0Qh5Gy6l9igEpGB8ljlOfbp1cFWY7+sgTZ7t4Ygj9EtxT9l57acTySGKhMXALyAOVdyEkJ2vMJkh7InNUhmYWY6JRlsALSvYI" - } - ] - }, - { - "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAyEyreJdif3pfBygw4mIhxnrVuabOxuoT/AHUbqzotnG0a82A7ObXFAO0S6fQh2eSOoZPujlPASK+GSt6t+ALvmfkQm6Oz/NWOItUulDiazSC0wjrCRHe250RhmdU1Yjw0uqsZp21jWibTeJA7wj/bnBXrY3vJAwJwVIszdK6irQEzr/0z2pTaAcFpqAM9ZehvVwAJMbSGpWycX5xk3qVtRoInmP3GjiuzOMLInGbpgCCFnLmPBGvH9+NHwoL4JMy80R+SjozueOq9u3LVIP2xMhFbANM39odzn5iYSTn/L9Qoa9i6G964+B0hzYqy9OSEzskDyJzxmynMYXbwe/CY+Lil+7zkDd8CFPNbol/nqNE9rbBVDjbEXe4qyMI4c5tBgAAACEw9Fmi6/mx2eVIRTfQTsTx+u/xk+yU78ZoS2PSaKEMD/xD3/8ddullicUVAfqDXHZYqsIjjuxZDP21IjVtNMxpvzT0KnV3QFd+NZz2JEOPGoQOK51neR7UANxWcPbEDJAnrn9qHbvAsNGjEIr94G9WKX59vmTxo2lgzjhmFw5NM/XrTGmJU5ZrpO2vmMyCe6M6jXU4P2abJ5ZuuaonxgIw3C1qQ928cNvJwltgMzosCEa5TEubL+oPX6QLXhE/8gK3QJLP4nwUezhJIPs+/08IBNDztpL4iaw8YbpSNxfF56pS31stZqOpK4aFDo6SvIMZmJ0dmZWVkpfG8hIyiclDrK9OMJiY6prAZyVlTsPetY22o73oNyvwCBUkUcjIvQ8+bJGA0y+/L018TZQrLF7g25aV0HK6Ihbj5JrLH1pBPsaWEJvRCiOr9H89qbPim2tdW5CLthnWvDvXphASWR3DJ4MsfAb8KN0wyHVPvKzUib0ZfpA2HVbqCymzUiI5iKCpxWogJP5c65eaYke6qgNTApnXLzUkDgGNnuzu/9OmzBtvC8x9Lfe8xKnUG/9Fv3wZTj6MXh6xfuWT+HgdDj7Hd4GU57r7qhhky0SOcJ611QszGfwnRfBIpK0LcuyndYjRXWPGnyBLxs0tEqAsbLC2ZgRCUYGy4j88h8YPS1g5A5qhMtlyxWOcQB7mrVHj7uC7lZODP9aGT+dKmVrQSplDYt/Kay0MVltCYkPDmoaPueqVnbL3zag3Xqg5nqA7qMDWsVJj7FFdX2Us1c/F6mWjsu/DwneXOpTzyP6K/hnJnTqr6VjrlPmkeLCkGNOJm81JEWVwGgENGnmpOfuekTUvrQw9AxZZqAIAAAAAAAAAFijFbKkX5KwRccjndI+yEBJWbzsjAwzwr9fLIIHpYRQe7lIiOz5o9YbCojX0L5MVeENP4VRjEXI5L5KNhhABCg==" } ], - "Accounts burn subtracts balance for the asset from the wallet": [ + "Wallet rebroadcastTransactions should not rebroadcast expired transactions": [ { "version": 2, - "id": "4b1682be-b757-4415-8e91-cdcf069eb19f", - "name": "test", - "spendingKey": "2ee5bf8b8ef3e3c0b0ddf1fe8dc0168710edc2fafec3b4e8023bbf794a4e3699", - "viewKey": "84d288ec7238887aa688976103a2df6fac8e50391147428d4653b055eccf5d3ebcbc4d3c19664c7283600b3a94fc2e57a6e8d6e3f7a46b2bbb894ffa631612c3", - "incomingViewKey": "f9553f4ce8469bcec4311a9657efb94a8e4b2625892dab3afd8fb5a5ba102f06", - "outgoingViewKey": "c0aacbb7df8ddceb229f9a806bf61b193640cd65229ddbbd5c8875e1967d2345", - "publicAddress": "42085172cf41c665d03799cd5995962c6ea2cb7b4c3fdbf68bf13fc60d0729cf", + "id": "317023c9-2f43-4d98-9351-2fb8d42364cf", + "name": "accountA", + "spendingKey": "1c98b55b8c0240c885802daedae0ade09afc6cac77fc8fbcc18e61b9352f1ab2", + "viewKey": "849d2775f4b7732135898d679f03553bee884c1d896cf3062972aad00fa6c15da97ed527261244c946163e6b51f6abbe84e8583819876cd792940d45ba804da7", + "incomingViewKey": "6e1f7c3449188539673d61545dbb5d2a2ce3982254516974ca4ef8816f1bae07", + "outgoingViewKey": "41666ed9fa2bc4b771ff0f5066c4870a161f12bd356e20724cd1b523a534df11", + "publicAddress": "9f51170a9d354b328ebd11361077ab3511a5842589f4165e60a3ed1a8c2fc172", "createdAt": { "hash": { "type": "Buffer", @@ -3507,15 +3198,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:5L8uwclKdwGGEvnaE/Ny3+DZEXQxwK0UC4f2J8JuCx0=" + "data": "base64:3aSqKQoZplbsGPl6pBsQU5Cx3dKLulX8qUX5FN81pFs=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Qek/zAHWmKlKng+xnUvPAmWtOF3wemps5iThNkvOtTc=" + "data": "base64:4QV/wq9KUTOA0FF0wwp/UvSdqAINLNfyVwXcpfrG3is=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243737634, + "timestamp": 1698950301851, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -3523,89 +3214,51 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA1impgTS9o/kOabV7ULbZlpK5VZSMXChkSKLa5JwQuAWmVM9cxwc2ed0VRjlY6A8a55udNsoQrA75LI4uTpuH6bZVcGiVDIx0z1yx6wWwagWG9CHbtrPkxt4p9PaudIeRYXwZd8XHy1UPpSFrCv8icbSMl0b8D3c9L9Xx5MvQehgN2UBBK64IRhHMtUWQOblifYTXZj+rIxxGuYfDBHdcEW6EUkjavHUcnE7OdlSqXeuZlHhkm52/gfC3JBdn+SyNVBlzSpV8H0Osms3pZSDTElxDFhu3l4lcirsmXwlr6CGdPqDIRYPAvkQkTRZfYdQSyxqIzNRqbOMGXi8t0A2B38pniyhDLVLLoYPtdM4w5HsU0QE8AXqhlBw/RNCujlIFKxfjf8I7qlZDqqvqy/e0f7a9i45lDqcDIwcgvWi9H7uiOlRnvDoJbiHaeQP6VJPa2X1WQeAw8YJDgp/hPIIYSndlHaigBW58MsvuTQXIa8gMbzpRvr1Iu/PyWiRip45MG1GDytRFIQwquiT05oPr2GdPr+TZBGNcE85oXUogne9A/X+Ac5H5yYS/yv0SubAXMFUxyj2BEPJkmtoqNefXODst7jOVBvo6Qua62ypapik5OHmo1g9haklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwL3E2h6qo/KEaFtbPPOlBnZXn0XCxd6gVMcCrrrtqpqCOXTpfADHxXxuYAR9YD+fwPSThZ2RJ674X05e+eHdVCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAWuBL1eCP4e3CMs1iSOwCuP+vRKjeSCDa/kiYiXT0iIOKTh11TlSJn9MzXpH88bB3J9lYJeybfuEhFK6lM6i6v2cttQ3IkR1OH+k1JKjTZTGnLB84WTCkl0wyhYdiG20sRwRMixMQ+ZStTOFSKxhB5yL+Ac9uQwsOlVpj9saIr2MRMKsdi2necgoniEYRYacgREePUoS/z5tYe9f2j1ku+EweItwzPf1q7J1Gz2G9k2+Za8McSzHAHMctfJ67QyBvD0F+SdfkRepkcl+VSMpiVAg9EiliB1T34SFHPj9jeNK/DcHcjTfruYSNzq2SFbzRqyFNKguy3hsyoqjFucTvqLR4VxLXRCun4BHYBvFWYzaexkkrM7vQZz13lCJnVg8dCRcA6EU8d2SMH0+wWCfiOvw2h31/aQZ7AsdqnJmth+k7fkqVHATtfqfuvHS3NBZQBEUXw3xtd/bZAIGpI9VkUoASuO7Pzxx3STC+B1Lj/dHBnRni6ZZmGloTF0dcQQmlgjuM9096noXFq1J77iz/WXqcLsMAhu00YGSkYhY33ZUxqa5Z/peN27kvCimCEabu85WyDW6lScJ1v5U1/Vlc4bXbogtc2hQKHjc2y9t+kEI7V3JQPTzODElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZ9AKfJcRL9+TsNCBGzz+FU+4b6UGNXSetDappb85Q6T0d6CCykhLDiJ0W2n5T2P2fFRf3CeiJaaSuNaHnJrqCw==" } ] }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5siqvcV3+0/czCc3TKuDhDIB046zHL/nyydjtTFta8ui4GmamZg13vKjeGe2ATmpM4NecBsVP/YMAyhPLzH0SJ0nvxV0V1NapI+HWkkYd22XUv8JY0nAKEuyVd3K6+sqXpNsqANXkrBDhCuMytZh5QOgn4gz7h+mjP/5DwvNWfsTXZVKHdkS4EaohjVmbLuc7iSvbHEoVtU4Ruc1QyIRrNBzklb4vm9PyDK/8ax1/0GqI8hUjVUp6xNLUu0BDr5NkQRy1x0vDgEQsnp3tU5UbjdgZbbaMU4rkXYsaHlps1JeUKHAtsNNn2CeC4uG0Vu27RiHj11JuTgePkSvNfYQKlhE5TcB65hy3yObq5YriVVw3rg47y+KaMu832j9wjBhRfm+ot97YheoRJ056gbVPgqepN4zBHtf05xC0ctd1TxFj6kFrsNEpBlYLJf+bod8QnSxSq/dyFsALDt7E1WpmtW/+sKowI3v9Atb0BaLKY+3zxXJ+EHXmN0V+RVLem6aCCklCJy6nSxC1es63B6zxSCQNfRyP7Pj38XYeOQ3DIEGhGDFv0Vu4sCZq1bpLqdNQX+T03+YWNPaRXCSCoI3YgPGV0uvQ2B7/xl3L60+uUcMnpLpaXOfnpOQVKjRnHp1evBrO7SEgE2HQLg4vyyKpZiKkE9CTqbG0DQbY1xk9Vt2r1wC35vltBEf5xnSWcgqA2N9DY0v66O+Zqpt/SKxTHIw6IL3Zbnpls1BlfeBbhQR0zhQJo7qdGX6VUKY6BJCrogMUrimoKjReIikm9kuKmytkJOejlNjrlgt5zYkENs9j1KLuGxKgjn3IkG3r8XziTvHSZrGwWM0R3P3vMLG2qDqR4yBGKocC4PEfNezVdC6q7il2LTMeGUikduf5T4lmFSeHBq2u/kIvKmCLijZjrCQrGNmIzvUoYtECbXx3p8looeLBDOJlUgtUGGYA/P4HhIals38kDAT8ZMqg+UfmnjQlNs/4mfyQghRcs9BxmXQN5nNWZWWLG6iy3tMP9v2i/E/xg0HKc9taW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQKAAAAAAAAAEIIUXLPQcZl0DeZzVmVlixuost7TD/b9ovxP8YNBynPANj68vqQu6QhFFvJdyKmtHcthKNhf/opXXNq+cpftM2P26D1dLi4wOe4isRJWW7MQdTvdBt1iEhk84tNT/No7gRNTYZ6urWDeTp6gUyNWmt/JOFo7OekGc9ii2YsKWJH5dB1xJ8+ECwsW0veNr55WCIjz3UblIXmFzxmyxkpFWAJ" + "data": "base64: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" }, { "header": { "sequence": 3, - "previousBlockHash": "2EDED037AD7CCB4B031028598415FCC3481A73FC4F0F61123A14D31EE4317E07", + "previousBlockHash": "F7847E61C57D59DA58A29A3BCFCE1A8D234A1E9DD3D4A7CE93B75593F434078A", "noteCommitment": { "type": "Buffer", - "data": "base64:WKGrpnkdtn89M3PwHej79osb7j3SR9MYUIJjiE90KCw=" + "data": "base64:vUemvJDxiv5Qi6vR5WFrTtU8MyNjI4mgA4XqQWO72CY=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:oGSz8j7Sie9CPKIM2zi5sZfQg/1rmGaK12UUbbTCfg8=" + "data": "base64:bBq3Rzl8fiHsHvSgZzNPgMPHbQjGYIMDnbD1EZsGG1A=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243738319, - "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", - "noteSize": 6, - "work": "0" - }, - "transactions": [ - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAlE5U5BGf2wzbvlWrXlyHylO+D6yzXOunrT1Ca5x6hDW5w01HzhXYHIVKLR8+t2mkJD5DH0VXSofLsRQpzgO7OtE61tsrmuYguF0EGJLt/iGC34oeGS3KzrhXNMpDFxJPiH0FpdgWw2MqWRsixDSC8OUFP1V5b17b3IeFoAY6Z9IQkAmImyd8ryPxZ1Ez4zk823Y/GsNSE6pWd34tG5How4VNnnztve53+dbTwE7xVE+LRm5AxlOuRNAU4mHT9YzSSHxh7hUz8U9qMREjWiuyUec18W+9KENdGdKddE1a5AE0KxggJl/W6of8t3avOnWWVvOHJ/J18M+44G9rqY0Ar6OGJwQkPkiznvyqcJg1X2ueiVAWvyL2XFJZrAnTTHhQaNot5YVSwiNeb2rBmFdfs9peaQxgsGvL3HAG7sDOv5sAcmPQ/lR637Id0YWsUVRIF2PFbgIn0PfwL+ND8yx+C37vARUQok55rn3F56LGVDfDhwguBUhoZGwruT6eeCTKxv0HIaomLrdHZMzYGiutlRisrUXNL3wNhVv+eKYt2Devu6OEQ2krBXiFKAa4t28cLHaiVqZJx4hcgLxSagKGAJTQ4oWTeMM3RaIejF25jfDP2IdponKliklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZIag4xYXxahR+YzRihdpS1hU97SqyczBB/KIhFpe58/TPJmL0bRRKOVUVESPNNyXfYLzFT+XIN1M2RulY/ksCQ==" - }, - { - "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5siqvcV3+0/czCc3TKuDhDIB046zHL/nyydjtTFta8ui4GmamZg13vKjeGe2ATmpM4NecBsVP/YMAyhPLzH0SJ0nvxV0V1NapI+HWkkYd22XUv8JY0nAKEuyVd3K6+sqXpNsqANXkrBDhCuMytZh5QOgn4gz7h+mjP/5DwvNWfsTXZVKHdkS4EaohjVmbLuc7iSvbHEoVtU4Ruc1QyIRrNBzklb4vm9PyDK/8ax1/0GqI8hUjVUp6xNLUu0BDr5NkQRy1x0vDgEQsnp3tU5UbjdgZbbaMU4rkXYsaHlps1JeUKHAtsNNn2CeC4uG0Vu27RiHj11JuTgePkSvNfYQKlhE5TcB65hy3yObq5YriVVw3rg47y+KaMu832j9wjBhRfm+ot97YheoRJ056gbVPgqepN4zBHtf05xC0ctd1TxFj6kFrsNEpBlYLJf+bod8QnSxSq/dyFsALDt7E1WpmtW/+sKowI3v9Atb0BaLKY+3zxXJ+EHXmN0V+RVLem6aCCklCJy6nSxC1es63B6zxSCQNfRyP7Pj38XYeOQ3DIEGhGDFv0Vu4sCZq1bpLqdNQX+T03+YWNPaRXCSCoI3YgPGV0uvQ2B7/xl3L60+uUcMnpLpaXOfnpOQVKjRnHp1evBrO7SEgE2HQLg4vyyKpZiKkE9CTqbG0DQbY1xk9Vt2r1wC35vltBEf5xnSWcgqA2N9DY0v66O+Zqpt/SKxTHIw6IL3Zbnpls1BlfeBbhQR0zhQJo7qdGX6VUKY6BJCrogMUrimoKjReIikm9kuKmytkJOejlNjrlgt5zYkENs9j1KLuGxKgjn3IkG3r8XziTvHSZrGwWM0R3P3vMLG2qDqR4yBGKocC4PEfNezVdC6q7il2LTMeGUikduf5T4lmFSeHBq2u/kIvKmCLijZjrCQrGNmIzvUoYtECbXx3p8looeLBDOJlUgtUGGYA/P4HhIals38kDAT8ZMqg+UfmnjQlNs/4mfyQghRcs9BxmXQN5nNWZWWLG6iy3tMP9v2i/E/xg0HKc9taW50LWFzc2V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQKAAAAAAAAAEIIUXLPQcZl0DeZzVmVlixuost7TD/b9ovxP8YNBynPANj68vqQu6QhFFvJdyKmtHcthKNhf/opXXNq+cpftM2P26D1dLi4wOe4isRJWW7MQdTvdBt1iEhk84tNT/No7gRNTYZ6urWDeTp6gUyNWmt/JOFo7OekGc9ii2YsKWJH5dB1xJ8+ECwsW0veNr55WCIjz3UblIXmFzxmyxkpFWAJ" - } - ] - }, - { - "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAXyFE2fTNFbK9k//bZdkV/BlB7h1o/jw+gc9T6gmT9ReooivHkUbFbSbBA9GaV3WNP0JjA2T+VgkS5KR+QU9cboABRsV25+hfQa5tSauOWnujiBafL64+HaMNbT8WXai68yGnmYxAMDpXLfwmsroBa/AUz6Wzf566kdklg2DPkzoN0mMcCv9+h6cUrHj0SIOJrc+QpI7bC5VUHTGfxBJd0b9vrLQ9dNzcLefnVnVRUWWDrBZV6VLwVrmsh+Sb2Mx51XFHiJdkIqYYEuQLA+lfqfbryxV8F7kWT/D5zH4NzU/SUnNmZbSDbm8hEg7XyGrzRp97Y7qQeWuuSU3aBuAgmFihq6Z5HbZ/PTNz8B3o+/aLG+490kfTGFCCY4hPdCgsBgAAAM9EJOxQ6Zf9hP3tee5gWneeB6Rnjph/OY6pbuOLeG05YboEbWNFCS3aIh6+YgEMoldv9ZjAzDGTJjEMoaFgWmHrb9PEFjCM/PCYUWWTpCNdxD0ztkOJqzHZc0tz876uB7UHzGrC1jNskpMJ+Vs824Edtc6hdNuRsQItQNiiFDJrSSewFdPBXpNNoY+m64/8HKfSH5Sq+JDB6o14sAf3y9Jo2eDW6omA15bgTKj+Mocr9ZgiaQNt2NMh+f9dawtP8AavMgu6Z/Y4aHvj0c0GO4TuDz/3HUFIiUk2I/IWlrHJsMcCMXG1wK9KpAnAItcjj5mwYOdvITHa2MoZemCBqGSAHaNtEBFJPGURApze+CkDwjGxvTQn5cfKB90k68FGFduw377AckhOqkItD4retBv51+/lhyREAGnrHfn1QzSzft1v5iUNkDwS3yUYxJGppBHL078+wlIWyGpgGUBkvjCHQ6/WFZ3/mezTGTs9Ggfx/7v+5NDFhOJ/PiNuaANKInmnc62Y55b7OEL3cCUFZrEt9SgPZm1d6GjvLS7A4jXQcumJ1h42QttWmYoCxS9mv2NP8nhYyuTZ0SAeBDhnUfIovvBPkGR18onDmAMdYMmnK+kkC6xlOeMuLJj1o+fVA+Dtd0EaysPVohYz5cNbY9DpgzXd60rhEwWasFylnCVLGbWuNImi2BFAGjAR9d5KGtx1WrhQgG4C82ok1/N1JuKB5aBydktYK30RSjvTu2ru2QnnycvL+ttaWPVpETNDHoCinCUntFsK0WqNKMPpBqg/o3U6UowjJykigObT9S+qGNZQso7qw4Qz3fQf5sYHOkpdH/PICCg1GQaMFXW3VXpj2xScKZBYSAIAAAAAAAAA+4xmybslTBXnUFKAQBksAIMUNOOi9udG94YXt+SUgGqhTXnBV5TkDgTsrDYDl8gp3QEvhCZISUYUTiaqZe8xCQ==" - }, - { - "header": { - "sequence": 4, - "previousBlockHash": "320DF8745BA71B418443ADE495A57843D4E24426FFB227643FADDC35743040C3", - "noteCommitment": { - "type": "Buffer", - "data": "base64:NBInAgFuYjM7x8t1LQehrck2JZYGWv+sIRwVwbCDMks=" - }, - "transactionCommitment": { - "type": "Buffer", - "data": "base64:9tOerzbquWsDIY0Tz+PiIUk24egWWq7QwDLnyr5U78I=" - }, - "target": "9228823284279306817296266184515742822248210830185427859262273659833347", - "randomness": "0", - "timestamp": 1695243739403, + "timestamp": 1698950303319, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", - "noteSize": 8, + "noteSize": 5, "work": "0" }, "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAChulkRtHQQly/dOvyEW7/u6591Uj4SRpTXG9KkS1HOS2eYS/8yzJkwijQ+x+XjvlxGbyfBajlgbP9a3z+j0dBgpnwmO3Wek8UKCy+tGeDRSqNAqHp/cgHlvtFur9xsatdyFuym505kvxAuX81FlStxQRk5zklWpizQTC5SuDvDUZPGjThuL499Dqdrc/FMisgquztsypSNwqULWVx/1NXCoz57Tas+xyg8aK3A4E9gmJfSMMuQKvvIBBj/KEMQTkKp2u3om7nilw30Y5n4WaW4w9Wx8HLo1g6WUmdNkZqIQEd5TFBpk4+26B6Wh1bUcfbZtoK2ZBVWlCxC38Tsjr7JOsnIQfq1v+sPjTu38P56WnFL9qChTIqZNEFTEygJMcR4miU0p6IgsexikF3PrBZ8fHGWtKEf8Bc6GeG2FgfoJ0rM1GOOlL+sJcGbNqWGzLMEmJo+haqC5mCNj2Pngbtr62Pk121Uu60tI2zeEOLpTgtEvH0UeRTPTCFqzmGznp8aWs7GGGY7KbGpZ0ZkzhckEi5GeAmAKfvx4svSC4bR94UGB+Wx/B6G5eJ1G4haOozWaW9QutGuFzaoOPR1i5/vqbeGYD5jDj7ItLPAbyWFFpEHpQduz2v0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw3pl9Y4rHj9XZBqfuuvXSJ2nDi/K7Z4J9B/btrNDkLklDlzN8r8ts6fBWvouvoyEfcePZsVa9LHNIicnJb2KpCQ==" - }, - { - "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAXyFE2fTNFbK9k//bZdkV/BlB7h1o/jw+gc9T6gmT9ReooivHkUbFbSbBA9GaV3WNP0JjA2T+VgkS5KR+QU9cboABRsV25+hfQa5tSauOWnujiBafL64+HaMNbT8WXai68yGnmYxAMDpXLfwmsroBa/AUz6Wzf566kdklg2DPkzoN0mMcCv9+h6cUrHj0SIOJrc+QpI7bC5VUHTGfxBJd0b9vrLQ9dNzcLefnVnVRUWWDrBZV6VLwVrmsh+Sb2Mx51XFHiJdkIqYYEuQLA+lfqfbryxV8F7kWT/D5zH4NzU/SUnNmZbSDbm8hEg7XyGrzRp97Y7qQeWuuSU3aBuAgmFihq6Z5HbZ/PTNz8B3o+/aLG+490kfTGFCCY4hPdCgsBgAAAM9EJOxQ6Zf9hP3tee5gWneeB6Rnjph/OY6pbuOLeG05YboEbWNFCS3aIh6+YgEMoldv9ZjAzDGTJjEMoaFgWmHrb9PEFjCM/PCYUWWTpCNdxD0ztkOJqzHZc0tz876uB7UHzGrC1jNskpMJ+Vs824Edtc6hdNuRsQItQNiiFDJrSSewFdPBXpNNoY+m64/8HKfSH5Sq+JDB6o14sAf3y9Jo2eDW6omA15bgTKj+Mocr9ZgiaQNt2NMh+f9dawtP8AavMgu6Z/Y4aHvj0c0GO4TuDz/3HUFIiUk2I/IWlrHJsMcCMXG1wK9KpAnAItcjj5mwYOdvITHa2MoZemCBqGSAHaNtEBFJPGURApze+CkDwjGxvTQn5cfKB90k68FGFduw377AckhOqkItD4retBv51+/lhyREAGnrHfn1QzSzft1v5iUNkDwS3yUYxJGppBHL078+wlIWyGpgGUBkvjCHQ6/WFZ3/mezTGTs9Ggfx/7v+5NDFhOJ/PiNuaANKInmnc62Y55b7OEL3cCUFZrEt9SgPZm1d6GjvLS7A4jXQcumJ1h42QttWmYoCxS9mv2NP8nhYyuTZ0SAeBDhnUfIovvBPkGR18onDmAMdYMmnK+kkC6xlOeMuLJj1o+fVA+Dtd0EaysPVohYz5cNbY9DpgzXd60rhEwWasFylnCVLGbWuNImi2BFAGjAR9d5KGtx1WrhQgG4C82ok1/N1JuKB5aBydktYK30RSjvTu2ru2QnnycvL+ttaWPVpETNDHoCinCUntFsK0WqNKMPpBqg/o3U6UowjJykigObT9S+qGNZQso7qw4Qz3fQf5sYHOkpdH/PICCg1GQaMFXW3VXpj2xScKZBYSAIAAAAAAAAA+4xmybslTBXnUFKAQBksAIMUNOOi9udG94YXt+SUgGqhTXnBV5TkDgTsrDYDl8gp3QEvhCZISUYUTiaqZe8xCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAApUqHIEAAL9kf0AuZdpcQMDH+8A7LiXoYGE2dTRMw0lCQyTAlVOWWr42wMIEoCRfxsMPoNwU82KaNG6Zf088v+ZGJnSt9npwxlV/nJxvE5kGRstPJZos86DTpli7B1UutY0YpxLqA6C6pJomseWxjwgqw9O2pRurVyG4+6JkIGCIMKSz8RI+76CtyR3tvxoNaPy5+dOGL9H7e/Fyf7IGCOrfi3EPsSzMWVNTH3kxkYgmkQJLq2yzNQTVyCVx2QsSTk/mqDGL3sYhd8BUhI/WpY46+joR3/KygPR1owA/qi1PL0ZuKxgg1lVXpsc56x+jhLjqJvVTjb3BewMPAny7+iypFYCO7G12ro2DK/rftypqVFIWB+5z9jeerrw2CDwMgLljzzeyLhKVQsLPpSkxJNz2FnX6KFipy9wrOhW98n+UNiI6Qq4PPKCD0rk+ZnSv/phlvnLpJVHcX4/W1p41eDcaMuCJzModVHoqQbmFCkhw6q0A76w5IM/vRbZ8rthCS9tENQIh1/47U96e/Ahh8NMx+ejMJzr16y0fwfXOtv/0uwKhq/rNSbul32FbB5OgVY4eUqizQKWhI9/A1KFw8BZ1A0PoaT64DGR1EEk9CIwT46u/fdlXes0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwjqIwbPDIQJyvxQsNxTw18jRtibYUT06Tb2NSJzPcc0AwDgty+b72MFWnOf1mgU/mETmXwofj/D8ymPSMoEHAAg==" } ] } ], - "Accounts addPendingTransaction should not decrypt notes for accounts that have already seen the transaction": [ + "Wallet addPendingTransaction should not decrypt notes for accounts that have already seen the transaction": [ { "version": 2, - "id": "3c2de8f2-7d87-4987-bccb-3cc4aa4e2123", + "id": "09ecc71f-c40b-4e21-beb7-800db6d9e747", "name": "a", - "spendingKey": "acf44d68fa6af003e48ae4644a2dc827d7ab366049053220389d43893f981e72", - "viewKey": "d9721e1d8f8c0b546261140d0b64b05917df4f5265084d42f3caeaad1df76d4d8c19efe9f8bc9433cf2551e18016b14ba1021cfb3c4ea7cc8e17e92a4216fad8", - "incomingViewKey": "742830659489ef50f1a3c741405d21187abac5ef98306d8dc1fa058091bfc603", - "outgoingViewKey": "c05e453de89c50122bcab805aab79aa73236fcffff93096c2ae5fa29a3954c7b", - "publicAddress": "8486df5e571ca35b8f1ab11e0d76155699d79e7c57665056acb797d3f9b07217", + "spendingKey": "5fc3b7a8ce947e1226cb983443e1b9af10838d26a4eb349280690a3a26959df3", + "viewKey": "c669c138ad56f564059d3d5117ac0305e09c63c0c568a5443440147fd16e5e4cd4ddb4fa6263f59ebdc331631eeed8589d2e55b0d0b37d2d077a3f91be1e099f", + "incomingViewKey": "718384323f44f74efb018c3da393643908d25527f2413bd2af4989aeabb9e004", + "outgoingViewKey": "25fa8b46c859c9cec2839ab2e550c7d53693b2156993e3425c7d9b666caf3462", + "publicAddress": "6774675a4485a44ff498322d33db7f2fb5c21ae45350c78741508ab0d6951501", "createdAt": { "hash": { "type": "Buffer", @@ -3616,13 +3269,13 @@ }, { "version": 2, - "id": "e56c63d7-f644-4050-b213-d98de3b5fe39", + "id": "0f9fd735-7d58-4507-ad8d-1d97e13ebe6f", "name": "b", - "spendingKey": "72ea55a5330c779a5f4aa9ae081cad940567bc344dbb997b5366f2c6c0f19c5a", - "viewKey": "84c226dd1028b9729978f51335c4a484bf215795611c210a65e9d5a41edbaa505c2a2c8e4bcf5c9494622b181808ec8700cfa0b5e49de98d20de18f55621129a", - "incomingViewKey": "12514cba2a412ef4f0e04f640fe38c76e95d7bc4b672e28604c0be537ceeed04", - "outgoingViewKey": "4e43aa355e284431c50dbffbe81e3765902220b16862e2aae6d5e82006e043e2", - "publicAddress": "bb0dc05369e08aefd06560772c7221e07996e141ff0948342e56354944445637", + "spendingKey": "a6d6e8c73f4aafaa52dcefeff6cf9d610c262cd43983a436c0dff1a08c13c0c6", + "viewKey": "67890213f02001cad1c1dc221db2ed73055fff386ff7fde097a7ff9ae94bf8a6c5250a4ae8299a01eafb51e5af8fbaca8d0b4a4968f8f8851548e71670167d73", + "incomingViewKey": "2c61933431e2bd1e0ff168d48bdc326f7e93e0261aea9d0b11c6f0cfb3b15b01", + "outgoingViewKey": "7143f431ac911f6570dadad217a3a649f0744cd6ab773650a2f64033a6e61613", + "publicAddress": "cc4c738fa15ae557540aeb6b75e9350998ee47d058493cbf5a77cfa1904ccc4e", "createdAt": { "hash": { "type": "Buffer", @@ -3637,15 +3290,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:f+LiHROGMW3hyRD9njI/XDB0voU/pl9W05osYc+OdU4=" + "data": "base64:33w4bfJeBjpfcKb/sQ4WcD/IBEu81/Ni07uPb0dmPSU=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:E0kM4pv64VuPmA7zFu/S8Vy/iayAgUJlzdgmPTDiPzA=" + "data": "base64:uztVzbDCdBBwGDPuCtI19iUpLgEOlwQgHyjsn7Bu+tQ=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243739875, + "timestamp": 1698950303843, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -3653,25 +3306,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAcAxC5vvQ9aQHLMvEkxM2W1mjXMBNBeg9wPglQ9oTJtStLjXPM7Jqw9IZrexK5RHEtcR8xNyRTS8NETL/mpUS28SZ+djOo2ODrTxyWVV8SmKndKO6pE4d60XJzEfKraVpYNiuVCFk1tQpIhPLS55H9ebJC4HsP12NLygenwZ1xEoXxGY76IfeJxfrcNJrle5YnOfEkKNagBrtymHCRIuP9tC37dQGh8j+8o9dsYnOjXWyndIVMSv5AIQcS2ZfJP0XuqwixF+rj4QrC6InfFRRmlvNoOKhmKatCJImLPAM6M7uO83rr3eDYzXY8vnf55p8tabN8Qmzpsma6LBmrNwbZzBEo8ax9uiCXS7f71d8NqIGKIMU9RSSSxbjif23ZtssNJ5ggHAp7ros7Pi1rdztVR/+1ITFs+tH4Y74ed4ZiUAxkiiONeC6AOnkwpPIavywrSqh1U9L9hOAv/ybNBfPpwr6DKS5/IgCRT4uZGvhd+tvOePnhs0nofOBl6ajtXoC5EVV13AAV6AN9gHlZajQXuic5+bQvWNsk2y6HG4lxtEnQCEFch9hsvMuCNmK7LLCCTBpyOKa0FI6npPtErPcuYFItWAn78eUpOGUbERjrM21rxNDuJrQEElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwUYXbq19tO45BaJ9w2o8jpzO19sPkzOsatDLdlViyS+tcgx1p++g/ooPL7K57DWFuNFewujzWzO+ms2ynWEM7AA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAXGtJfbbvQL+TmfxrlPLjVZjk5W5SSnI3UIn5gypr91muMMoL65ba2pSuFzA/shbb0GmehPxQaGWqoJe4kf4TqN4exCJvO7tKLTgEdi8uCmysyh19Sa3OKLkV5hWE3FeuMQ2V37m5j2C+pvPCg/CRrczrCSnoWvmarSfKb/bQdjsP21YB7ZVaA/zMD5sQUN0NELLmMsX0f935ztS1a4cB5tGhSa3l8kWl+4sVfIp/zo+g1Kq5li6FIfHrWDaCk0fPy9jgvEF2B9btoh4cdHHPnyaFpSa8C/5zg0A51ECvDySVyMuMyYt5rHz6fZ4zA00a8nlO3Pat1ExPymDlNF6TMsPN9+RfUNpvhA+qnFZ7z/udgd/nbRdwpMZ1NZSDgKFMRrVMtpnht15qzLSe3MmugqfbMTLxrvM8g2+sf1zlPJYMa+5y3YsJOnytM1ZLdX7+T+pPRGovXlJsf9d+WiTfPiIn1mrYhxROLT1Cj1xKQgtoa7vDX4ZPr8fB0sAtOlK33X9E1iJAwg4D9IMb3B2XlFSe5Q+g0yO4d2gcSfHNE+HwG3zJ6s4xOjIZrpENYN4immBg4RuKp1o6dFfeoT/FbjkDVqbCnqddHBoPQ8fYhhFyMFX2YPE2JElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwem0vnU5mgHiT12AIgT89R91lwF261PUfIeurjQeXp15L8o7G5wNPJgt7wmIpTfnBOWaqNbtmy2OcE5L4U7pfAg==" } ] }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ], - "Accounts addPendingTransaction should add transactions if an account spent a note but did not receive change": [ + "Wallet addPendingTransaction should add transactions if an account spent a note but did not receive change": [ { "version": 2, - "id": "94e73752-f549-4180-be62-9eb63672d479", + "id": "74123b0d-aa84-4f42-9c55-1448607694cc", "name": "a", - "spendingKey": "9543f1f5ad091eb31d22b839eef990fe2c1324dd643f1ec5f9c724d1cd73a255", - "viewKey": "8d992d368ebc3998df6ffaeb4fbacba5e462aecb1c509e302d38bbf3776ce6a2111274fd2186aedb46ec080f5f023c7b29d05410962507d08690ed8d31e78203", - "incomingViewKey": "0863a6b51d28a3516ae84a0ca7faa2f2ae52474d504bf6f275e8a6be96470304", - "outgoingViewKey": "cff34b2bc924beac6b1ce64d6b910696d81cb015c6a9bb5f0cf162c012cfcaa7", - "publicAddress": "68c912475a2877609ab2cb2d4eb716ee16996a74b728f46e4c93a7ef6a034259", + "spendingKey": "4d984d7a23ef58bd4250c9aa25d7eec1719025e94a3f060104ab6d5adec74430", + "viewKey": "4fd410e8221a97515e8a850d8ae47751ca424ebfcb0d12067cfe38c68e6f1d0ec75e96d88233f4456e87248357833a2b2dda994575e97e7a373be1ca63ecdc68", + "incomingViewKey": "73fb2a27ef921a67d8f9bd7be74d3a68097cac2841e3a450a57aeaea3f558706", + "outgoingViewKey": "f751361451f49bbb38de72c23017e204e05e18f80f8585f2e08cd3f02ab97fc4", + "publicAddress": "1a954e29c108acd788e16d638dc330321e5204303b95b165d8e5c4e6c35f5194", "createdAt": { "hash": { "type": "Buffer", @@ -3682,13 +3335,13 @@ }, { "version": 2, - "id": "4c5eabdf-8086-444d-b1d1-1fe8713ef260", + "id": "11873cb3-f330-418f-95e6-536d47df637d", "name": "b", - "spendingKey": "27aa64587ed306d2ecae114924ce0b478ef6ad9420f5bf5c05df3f24375477ff", - "viewKey": "83fcbebba4be7272cbfc3fb7c16163107957554709aaf4051b793f09d13e185ebc3cba54f050b2e0e452bdc3b58902e0423444b5214b5a9e4a105033683989eb", - "incomingViewKey": "825890bde5a4b6807f0b971e2e255d0b19d8f4a74adb66047a46ca26904afb00", - "outgoingViewKey": "c0a1007d3749f6c33f083aabd316b215ff39548569c8bba6ff4b10fd9284a872", - "publicAddress": "07130fe5004424a5eeed7386f50c69b434ca290318bfce4400b38e27ba5a279a", + "spendingKey": "45007305ae2579cc8b45ee0d39834468db17a14b377a3836cf52d95f8452ed79", + "viewKey": "7325cba01f6a72065c3ebb9aaf03f928ca87f38f6e2d7956fa90d9f4ed38eec2c0edda07cd23b66a90fa743ef9c453290cd858ce221dc09d266f36e0c320024a", + "incomingViewKey": "424e3e5053ee48aec5a184a96fdd616afb40b559a4d472e849dc2e5a4cb0e902", + "outgoingViewKey": "0538cfd8d949028e3c7b8b80d789300223608621b6e2557331fecba993ae48a9", + "publicAddress": "92243166f100ec710b8c70cc14e4fb5ae9bb97f6dce54358385eb8a572346b70", "createdAt": { "hash": { "type": "Buffer", @@ -3703,15 +3356,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:bCv9ckB6NuxTnBZeS3KX5h32QpRbwDwBrTXkc2SD7gk=" + "data": "base64:jj9hBUPEQnKIUUjqdssmvNf+fFaDmReQMDYOPFHdvW4=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:aM/SD03abOHcidhGDK/iKLqRvkUf+kAe6Tyov7wmK2g=" + "data": "base64:PNTrhOihZ4CjJJxPOvMVqYLSs2WJDbzx3Hdkt5S00hM=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243741427, + "timestamp": 1698950305477, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -3719,25 +3372,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAr4e8X1sVbotncvnhwimne3NQ4ZFNElxC2Y/cNekAeYew0/U0EL9dDIwayKHoRC6tmLJqk5Z6ww4+W2VVTZuqe2jWGsNWVyH0dBEmpe2GqNSv//78UlYFma+DMuPgAKbuz7xDNiWFvXo4xnzphb8EDm9L6KiadeXaG3HU0bvkGmYLMQKVLqL8wP6i7Wj4DzcmNE7ciSVrYUwnjbsRxljgU0zEvlVsDOl4XSYW4YKELZyw7qvRTld8TKMefIsuCsELPnZoHVStAQH6cI71owihrG4037xwvaqTJdtexptV/7x0hTcCHS/aExtbh7vh5cSN0xXge+vDy8xFvMlRfj7ftZDSrZmoInL+ijZWV18QSIkg/FUAWU17dO8dv+6u22AJgKr699+2yiYb3w6FFASICdMAHs12Gp+J+RwMCBy/64AV7iSVlyjuZ+rKd/XBT/NPBpP+21XAIpdtLzzFzRr3oC6n1EsuNh23qPoEUxB2nTT3TJhcMbknlpKUcKlR+WSRrXxhUCUycg8N8JkshRNUXsmkwPZdvxvHRUwVixDsCxW+BbXFrl8FqaWsKrdX7TaT8xt2Pwdii0/XrbWXQTKEd0zQpbQu576aGJ9ygNdLWF/8cviE1rUSO0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwW6a3P+WxHsZJRKreYIVwotXzOT9XTxHI8S2E/vNTOpKX5GdjO5GgYFqv+wEYSRW4hc3zLcA48Tie03aRerCcAg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAWy398hkPELiHm2YtRjjNq7cvBix0idM+tU229OHF/EGHJ0t4eCKAfCoLt4x33Gq/4pd5wH8KVcs/RJdMuC4YbF9yWklXCh3V3YCwaLq4sluBii2xbsnIBiwJ10fFRZWz1cOdnziE7e92folABmNViOrb76nFJJQPWdurViyE5dESB273vJonDgTGJ1fiab8eWHWp/KoipLUtvop9KQygSoChlVS6bx5EBQ1Hl00/CCiOST2PUTbqQB/aB5ZAnaNKwyO+ja8c0GWiakMVwLgA/d1mfuuSkmHC0NgibXko8q+j8mgrOvB55qPZF1lLKEe5KZyKVLzuLw2YgcvEyx3AK1db8ghtg0Cpi1XSiQnsCdhGCC6Oqx+JQLDx1495x5A9TcMG601Nr8hGU+FHDrSktNdl9DKN4aQIG1HsS3RyamvQiZnAA8rw75GlrbMJFHo+Upo/OzBZSxIPlHooZ6sEVIJjnmC23l5F3govB2NYl423QZWTshnaw64yqGXwhEkQEWwuT3DVcNJoUCzZfdWESiWoj1+qA+9aWnBmKfVQv7jZ0MeqCAxOjdWy1QwjCy+VwhMoo9NqCozWOqkAb86s+PHlnH/0oZ2p15FM9iNOfPwMKDZ7Xb2soUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKivM7B2vpVUYRciQsXNu1H3St0cxed9yYClmd/LUL077K10FziQbadp/MYZ0R+l5JduHZJirG1t6fMCxXUNnAA==" } ] }, { "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5M1dwAAAAAAAAAAhfjq4tIqIxxz7q6AOl8CVWAI/BcGR9M+IEuAWFSo7yCBVEZnedLAWuaBjPsF1veLcMxjrFsaFL1EpdErNf5CVKi+KXRUY6s4z9sKtzyxTV+C/IHg5DpR2Md8+gOxc3ukwH1AS0hwwlVJ6BZJmrIzdKh5ydgXDrklASujDAXKd6ETB+cZT/v0rXoEXV2BQBHIuaxrFjPGy+Xb+Rcq1pz/TrI6fzr4jPsJnshSmOlQZCuW7/t3LdiroO4Zt2RDD/FkW1Q7i4vDxf7SkaJQEsfwk7lG9gX8MQMJMRFQAzkflwzWlVy91M7wG4ob2dIfAov/GNk+cblZxbVCxZF3VkaM5Gwr/XJAejbsU5wWXktyl+Yd9kKUW8A8Aa015HNkg+4JBAAAALOoXTn3UUapwCwTtp1lbFjuCqP3Xk6dTdLwhwASUzOfGSAt9To9NNSCG2Nkl+5bAPyawaggHrXUDopYINpNHJIrr4T6J81cTdJWUI2VLN5RLtLAebqeECkf8M6URb+TDK4xAtifn68P1cIo5/5Vw7ys+RXsDYZzkRh7SfGAGkzcX1glfxqSmGc+dLyQfsQGJosw8jAYq30/fDFDe3lZw25BGl1IFwVH0VKDWcI1QwT7wa9ZTcUpSkrUbHf9C+j9SRg8wwnj6YHLrUzvrBaCKXIq1vqGaecbumOItW+3l3oCBETSW1AymeE4U6yOtVVz07iD4MakN+8tkAuAKihxlrM7UI7zWzu5AErN2NylrolG6cJ2q8SenTZCV3P/y8xG7XW2JJOZyg2F9Wd/NeB/pCF8T7QZQs6QQ0BWqQKoWLDkgPZN728Y8r8hcfgHSbmAIdkQvTDMda9dd2h3pLN0DxkWQGhefOiU/H+Ys/OKTaL7YmwHIQHy7AO9Js8JRVEq6EoVnf1FgQjshE999wyF04G8T8O4JB+ulTLWaVxQTRrr60C+hM3A91j/dvHiWlVHT1ml9lHHtFI000z+eb8y50j98GQBxH5L2DbQ0/OolO4n8Yzf65T5U8YcrMog1/MPEQHbdT+fSTNyryBvea/r5NyXoABEL+TWG2Gc5Z1Gpxw5KeyuXN58zT6jDGbAkOOWgShTadMy+kT0tixgGarCGWPFft1jssBOS20zTZjmGatjMhS/XLBJhgMvOXAei0L4Bs7n1HH1WHuzwGn5mx8/rOWWkMjvI7aec/K+uDekIXwWkIJ8i7kXF8f7n4L+77lZGflXiyujbwZtwrC1Wfw0DZtH03blmrdaiVpXd87Fu4BkgoslH6Plw5DKoabGTU62U6kdvMX6ObMG" + "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5M1dwAAAAAAAAAAOaW3ZpiTZC/HZ+i2UkE4OS2ouVFwVaG7v+4ujgMGNIKCUeVfEXjNY8/lhLM9PtdRyoJbMnHFxhFJ2N5BErdmzwP5uDeuTSu6xZ+UorFjkGmmjlILICsc6o+4KXnV4wLWbktn7HHqzqMwRaUppRgOGE5vddIZ0Q7pIeFOjeiBKh0PyMTpsFzhXoHwdwzTSNfF2UTTHmXygECOIavUVuDRVryqtDCnMD8yLwqt7owu9x6lRNDqRqxTp+FkZNRG2Prjou7sisqrffeDVMvGS0PDkQGF2MRC+wJbfKGLGyPhE1OT396c1fFbSOn5H519SZhYvjoO7zQFP9s6TxNL2sfOxY4/YQVDxEJyiFFI6nbLJrzX/nxWg5kXkDA2DjxR3b1uBAAAAKIBsZXLTqnugwAGxQhTDfeHpLskU4cvpmbo7SX4Khs+KkWZk48QXZz1KFFfRKxFxUrPOTglKLihRsLDN+1p55I31sgxM/L9k5jNsRNxw951uQaFMy7C+fYlkbXc9v8XCrfRGCsmHLvqaqHM7HG9JtujKuc8Z26ejUy+AXGxsSS9iQLZQgqykiZzRR7uBfLfZpXd9CgiSFddZPtlgMhrK1tgHEnzW/AhdbIhaUfKg26cmrMJYOUbpDqohxmKMoiMlgaB5BUYBQGZfms+cuGw95wWB9AJqqAIvrtn0KGNy4tVtXBToNdzthD4zQxOWAiudJny2lQHinm6VyGUhkf0DtCET6QDQX+KjC1gIaIFcE9gO3uTxv70xoVjDXjHGxlmtqKWjvhAKuJTe3P6ridoqrgKdcrkgtivqtfFWdQFRnMaSH8NGtZQR766HuzgvIA9pTf8wK+CF3nNksY6zlz1BEyn7FiCjmjiL15zX68INHgkqDE6g5VK3tVE7T/GwdtvNjZcjtRjIXqCahOhaNhEQfb1bSFrJll0KvD1mE7YYyeK2V2Zz7kfse9t6ena9MbcjK7Trig72avrJJKHcU4cTRxy3SBoMUGUKP3ck3w1NKhsOnXurDEZlVTB4P+YyooGwLuqil/9zaqylM7gcVAU19ttrPOfSPCCb5RuuRJeEmfzm5b4iuKuUf7RgEHp26SEApC6aNbcFPCPACVwAAaeBZM8tf+eoXtkxTj6VbJGg8jRvnNx8Ajdz0jEO3OJ7Ct14zpUOyMx4pGdIIhkmUYCHWqOwBzrDgt9hql7Te258piQfGgVTi2ZCkLDMAvi7bXZU5BBjYOn3fE6I7Dm2epoyBB9pWjScD6MltpTQEx0Hxl68GeVSB2O+8lBfoBhUlWFp9WYRRMgb3IA" } ], - "Accounts connectBlock should add transactions to the walletDb with blockHash and sequence set": [ + "Wallet connectBlock should add transactions to the walletDb with blockHash and sequence set": [ { "version": 2, - "id": "0adc4584-45bc-49a4-bee4-ac1dd6cb8346", + "id": "66a244d2-9656-472d-aad8-06f6f058d985", "name": "a", - "spendingKey": "9152add8c5ec3f2189e1a85d3eabfb78f0561bb83ad5c11b9b89644587135ddf", - "viewKey": "431279cc2fb3754341cc477116e00e387b0c0fd334f6a7ed94ccf0ad39a323ec077792152b913abd12230dca8fb55ae1127b38e8355fb7fc2483090b25db2907", - "incomingViewKey": "19e2a77995679607c993a378515c27a45c23e7b763a9874186e50e79fd274906", - "outgoingViewKey": "e205323f9baed3eb8380cab5afbc320eb479a8670233ee21c5a9ba8f7c65afc7", - "publicAddress": "f0a7bdf6094dd353bdd0239b8c475bf099b85fcba63e476300650d0a5dcce01c", + "spendingKey": "278925a7947c0428b4bf19a5adbf8214d51e549552b39064f279e2b28f818039", + "viewKey": "2369aff1559d1ab3c8cf6a292500ab74dd1dd71fd0499e2a1b98a83e7b26d5e424bfa3aab028d3bc580dc73c2cd2e860996464181961d444251afffd0422fd66", + "incomingViewKey": "82a393e4398cfc6a3c6f837ab13178e2c4a8e4aa384a20da2c07063084897a00", + "outgoingViewKey": "b1187d282cf21a823ecd30a170d202efa6d3405bbef13822eb0466baf3453dc0", + "publicAddress": "4ad9a6e62d62ea7e54adcdb88404ea7e534d69e599cf9644c450afd3191313c1", "createdAt": { "hash": { "type": "Buffer", @@ -3748,13 +3401,13 @@ }, { "version": 2, - "id": "0b1bf87b-93e5-4c21-97cc-5f9df237a7fc", + "id": "69005fef-42d7-41a9-8e07-d34081245b6a", "name": "b", - "spendingKey": "77bdec5b6a202a8dbb443f425feb5bc26f355ffd3437fa32805099ece1592624", - "viewKey": "f89e76138d31e5883c71438be328f1ae63492ce42ae3dff6c3d6f4a1f91988bf86d9dbfaf52464ac3d93cf132caa41b9c1fe56870388360d00c50f2906f31bb3", - "incomingViewKey": "467d1be505be2de83fcf0a2d7c95234796d2ec485ee63e9d203a00bf1ae25a06", - "outgoingViewKey": "313cf42f4bbf96dbd8e723d5a413a9206ad4381e2479f150344b87c664738c17", - "publicAddress": "35d73a34886576cf5b77a8aa08824689f410d59f08ddfc6028b2b09a0b4c9ec1", + "spendingKey": "6e3c78d087fbb5f2c1287128f2ce5e05ee99255d0ef9e0c0693b9b98085e92da", + "viewKey": "ea81585ed77d98fa73ba32b7eb40e68629fcc9b6e0c5f75f02d88d86bc67150646c404d1a02f17993aba2e65ffd2474541f503330551cc0cfd9f42bcd3197c6c", + "incomingViewKey": "c3d4cd3d0e4d1ee1547dd371df72c33a0db06b50607abe6e2dddfff61ebce504", + "outgoingViewKey": "e4bcf4e1a54ed05b6f037dc3b84994cdfccb3f0b6652fe20bff8ef488b46ec91", + "publicAddress": "c34ed53e16016ab9b6f76f813799d9520ef2836c240c51b6602e90620838498c", "createdAt": { "hash": { "type": "Buffer", @@ -3769,15 +3422,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:ReRPFctKuUXhCnVPZhRQXwJKjfg+8DPDKP5lWrteVj0=" + "data": "base64:yf5am6ArQMN7ynieAykgsRV17SsN4oVQ9uW0TZsoURM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:eO2mk0aPimumCP9dsP8tP1zSUaYOarfTwt+W8rVhzAg=" + "data": "base64:mAFYWEHSfYBsIyKLbxibOxpbn1cxrOc10XBjlYh9JSQ=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243742718, + "timestamp": 1698950306711, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -3785,25 +3438,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAKKZaFVj7bcBfB/ZOrDAlavOKAzqDgP1pzRp6DwFR3HKC1s9xP3LHWWY+LfDIZ4GhaVHPow9roBW2XD5/roIM8KkyjvOmusDCLbqd/uRWUZGglVUSgYZOCcEwkRpqqML1Tru4rWtD6mC4HoB4qtD3XQRfio/i7V05Unyf7IOrx+UG7An/O4kA+S9gs3v3tHyfapxS4TZANWxwT5cYebwKeNuTQhhxNXcgUSR+4pg4zFmn9u7KFD/t7zFryI4rGjYvECAZMMn5QBoeq7EA2pDQwjTj42NXJh7mj/qwC56zwcbMBpU1NmBNeRxYPPSMj2E/4pVJmuuP/CjKZHumRymzhuqj2wbY45CBYV8zOEDrhWO++E2QjWrEJARbbWGFQJ88tRxcQgQIpWZlpXJL4GBHRE9oH+VHJy189HKy+TjY6y6+PMADDa/VynE41oq7Vj0T3QeGJPKBQEdBSr1BAUkXM2Wf7HKV2PDQlaKubBSuV9UismJwfpfdqNj6pXaPo8VEWf3QdelLtMChoCec80w2VhPfi4t2mLEVvHO2VRwnltO/i2tuj/tiawTFaeIWPEiWjK8it6Zeu810bN7V7ukupachccGX3j3jfbITG8x5JmpC7wVYhYFuSklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwhqFglQRSw2DMaDnnrwwIr/G5k2wUtEj9jmvOkz8umYcp8qyubWBeqSq1R/Fh4OVeqfWlL4d2nzxeEH9Xi+S9Cg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAGqh4/avKNmtUdTtVXoxCb7rCJjbOWJWaLsHWUz/DclqJMBuc+D60/enfeYHPh7c2reNGDUbHSmyktoqu9tmZRWhk+udQA8GTeMIUP2FwCE+V3Bxp3hG1NMShQNggmgityq2c8EytUJYcQ98EQ3le42DhQa8g9Ryti80R0b2NhHIF7FsnsrEoUMsy15NPOh2LDDcU3LsoY+s5hZm04TT76HnaWEgsEaRK3Yzo5EtURc+w6XvfeAo+nK2nDxw5i5IkmFUizNJre3H7lwBC/8N5056T5gQxBSrSRyV+poXEMiT6AtOm/YAmLIoJ23ANLqZMwD7bJE/n4eXrizZtYeiWnVqXMSRtvmLgm45ACNrBwb07RUDTfMTlRDwfyloIv7gy1C+3kv19ma13zkaxAsxyfGCZ3Ru9uJHiDkdyHvcKHRuw52+nCPeMX81I/uqYeyyv8uJxOaBoXrKKalSJ8lLxUVua+dQJ60aN9zU303e6QoPUSxWsYydo4iiDM1J6kMyevJGOpriSA1gXtOFFLR/Xx9dfYFkygI39bF+hgwvaSjL9PTRJXA2+QN8SqODVf6rTijSbPutSppcSiR7jI/Irr23zaNJdKGdulCmYkg2K+j3RgaRWRhXU2Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw3t2n9ZwPgf3pUBUnKh3/C29zCZhE1+XU1rOC0teRFYkKOY7X5lLc3jZ/LdA6jbNYTMMB0lfQ0DG0lbXgmD7ZAQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "BEFF8AD69D303B07922782C5A8A209B11845569F3EF192C1DC6FABF8EAE40BC2", + "previousBlockHash": "B9192A011390B4E48A39FA87188D9095FF34372E8911616C55A1FAF01000B3EE", "noteCommitment": { "type": "Buffer", - "data": "base64:FOHbn0ClhrNMRUWxenYUkk/h49EWHpgC7dAJSRvnqRk=" + "data": "base64:p61epriqOcnsfgZ+tH6QL+HbfSpuy5C1m3fZIhZ0EDQ=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:qpKQW4fNU5xOIRqq9C+Yf/tD9qSMONZu44uUwGe85uM=" + "data": "base64:oaAW9O6xQNv/lM0gUPLKIsihJISvJ183KDJnKr5fG38=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243743005, + "timestamp": 1698950307064, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -3811,25 +3464,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA/tPK22aVtodaLst06v62zcB/hnvTtDdwGPupXtvXX3Gq1mXHRv1CZfPXQfwogQrwPyewiG4I6DBkgOB/rRprKDfXVyQpSF/MYj9EOLL5P1u1toJKYOOsExIBEjjleBjPalVtZ0w8ndJr36mWOHSiqgh5glgv6DHmtEY5Fn410tYSpX4wxMBdjcNBk03epZWoO1MXMYlFFqFde7O1iQ7hWBQF5guP1grkDvQgZU7i506KLmtkVbL8mYq9sZM6pt4P8BDaaUUcuIJSUk8rxHpZFaaQzC+3Bk5bQPp/2kgq6/U2BdaEJSbiUMVRXZ3XpUfw7uiLS1B7ZiAzJQK4oyU7NyUgJIpMqwuw1HLq69hQFde3bhgutIAcgoSOLG8KbgIgq4D14KmS3nCe4ik9QR8qVRa6LfAg49zgH+/ns96XZcjvA+3YaiNR/8M0TViuFBWNL+oO8Ujg0AYdYDPqrEcGIh7Nl9kvoEFj/IiMcsx3zx/0kDH1suLqIi4Wo7kACjdupZg1+CPgNu/6nz8N42XELIRI+QC9IwZ/HVNNH9rHAP0396YjyHY7/O7UU8Af9DjBQcQ54jTEufQcG+7jBEQmVSHdzFmYBSRKgkDieoE/f7y4Wh2A7sIw6klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwj6NrY7XFcikUTjRmzqIAsX0txQBTcEnFhsx1OMtUg4GMGLJpbVpZ667SUdbk+V2xf8aUD+toqF0V/8xjbhJ6Bg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAASwnHuPVuOFl+S/QBLehxMhd4RHcVOfDPDQ6TJ5kH2cSx08k4SX2lHeN5Y3YPnxAW6uOJ118ljIfFDedSzOpQOVIx3YJ9nrNL1yCQydBfNN+0e9tBktMC1p0RcIIVFlIGwWi55HFqJCJdyncal/ke67Hnt3PVFjCHz7xWJ+vuKgUFzkTUuETZnINaBmyCmc63iSdTRar+6qJiPX+adJyLemUK+OxjLxjrsv8HPFVOhSOXZxBFnZTmYiD41C3gUIZuhG/qnwCA8ep6H+KUVL7YplFHkW+BqFnm4VshrOYTo+L3OqDpmmdSJYPZAOLuJ598+sd9wLtdkHIMBh8un0ixiUoMVR7xHwGGW/Di+0H5GFB9Q/xaZFdrDfo+05E7qswCZxQ28mSzpgUbPPD97q8hf0TazYl7BWdlwjXmV5lU3ZsXXaY53dHcM0DY6UOqtFXd9OCcoUwf7WJsQVnfxx1y+snETZr8Yq162bhr8Z6ILPNi5UYvdbyLl6AOQ5ihQiv55BVqzIJccsU1Y5CO80i/pI4RT1+f7cMv4r6nz71DOqK/gly0CV7wafyutG4cHRCpOzBRKIr2rAsyz0JgjJPrSscOeDcRXNro4CBiH5ZulQAHnK+NdmhrtElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIGJVBblH/el4L/lfoKDBypGuajK4+9GhUfoL6Flz6E/DRG2WirSd3ZY/7Ib8nTOcZCl/D//vtSXHGIKUH7DHCw==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "0D344C267D3B2A6EA68A1A333FAF7167EBCB026CF8DAE9A6BBC9009F451BA135", + "previousBlockHash": "810C2348E0D3327159EA26342D94AE8CE0C921E6A86FCDA57B9DBF3750280A01", "noteCommitment": { "type": "Buffer", - "data": "base64:JFZ3rSp4+Z5+GHDjHugomjmxVvVRNlU6vRcaamMBuzU=" + "data": "base64:b0RIebg+tlPxvNZRDrm5jOApPmWMoXdrYrsNB7BvPB0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:R7kjNAdLYr4Afjv9Cxr4C0VD5IzNSLguB4jvHIXw0zc=" + "data": "base64:Po9F+/Pjmk9qlaryceoU+NEwlzHrGWRmurS8WQMxogI=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243744381, + "timestamp": 1698950308452, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 8, "work": "0" @@ -3837,25 +3490,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAA6QG7dh3hbU9Ink+lWRFrP1++0E6j7nAZIWdi0mcvroenNCmbgy3x2BEQBwjqzWB4S3Ri/Hqdj2iU+kC7UzvTsRru1u0JMzeUsDpH7QiQcF2izwLi+A++H8G7q+GhUukOPlBH5xIEQSczrGgf8fz7H1vnhLnWDLB9p1cy1zD+ZeUG9NqgS0Z5sUGUtMRwnBQjVLze0Y5g00UBcmA+kF9dGTq+RGEqdd5gB6vM04FHhyKugqITiarUI4rxBGrys5PD7qWwe6cz/suBuLZChfV+fthBwkiYC3DuiGPOd1xP75XOanKwtWbS8wYn8gQycbG/l86z+boBmabqMx3KPJ2Km6MdM6ehqjQCcjyPZHMaJOLidIpXEP9XVkpyzhCQgXo/KTKaEUmNDkEy2ptBUDCkjXJoxbXsEdDjWXTAvzCSzpGfdDxhH42/m5X3Cdf9eSEa2QQyFwOKpVPl+vCQEAIvsHHm41RgUlTrzSFSdMC7E/AbN/Qe9TsMh9+5/xbFN9V2HgE/AdiNHAHbefwnRBBUwx3jynHqertamkUexzIrd4koFifB6WmWgX6JtMNwg1b6kGpCMy4sZ3wROXia4ipumfO11NKZVb8IPMl8BUN4qXzqh3BMZ8d27klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwXeSKysS1NMdwLMlEFBHd7vpiJgOfGdmbVxpU6jDV9cfvHYaybHmwdYjRS1JZuHky419/aZd61ewI0yR6yFw6Ag==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAF7NXl61jFNZGmnStkWlbdV5ABN3q77oHJzTOLHwz9Q2mUlQrBTko/UPH3QT9n7OCAIvUFldKm8+XHMzkXyAdpowfMvZfPnHfdvbhlC6rdaelaKQHVY+oMbyNrs5yXRtfwNLpbL6yuD3Bc+/MlsSzO+ZI8oQIYPo80PUHHSQZt1APbkfAiufIL3soWx2q3bUwqiueRFvTn36rn8+yAbBN8qbsMMYj1olIvaetWsJrSmOw+PoouHhoX7KEK8u2VR9RY/W+fzyH+RWYOPPjIjSG1B9okBc0AYss8XZH/FsTIhghkZs0AnFK6QnqWii+57bvLxO6jbvRtS7XIpSjZ3dZqhxUyeogJy+dApOoTw4l1OhuXWfk7abwyEGRSVbBJytDe5s8b2JEI4uTkOWHZb/dW2EP43jFxn1q5EIZQb6qxgifr47FBpqv7862jQSmhICL6km9HiUQPOPyKsWyxCy/q4uVZ2yRtJ66dCumJ/TAbMxvReY+1BSKnJMQuMHArLJOsz9yjqYSRH9R0cVO/CR7TXXGaacpf6kkuMOPlCEaz7JcQ+LrRjdF1pZYsyYv5iuC5sRRgiQfsx2tRGivwsM3vVCAV/daddM5rOr6/rmq89QjZ0IoFWiKLklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwFgK0h+GhA8Mfxe0Q75/y3I0tX8aKDoNjAeIyO4j/SDKRrLdeesRbrIaWBGNwkobqb1PbfSW85YUiYiGUdnZ4AA==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64:AgEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAtMGAbbhvlIyxoabcb3vmyzWUg+94jQiUAIeQ4/2KEQyoPdgQ2yq+VygWvKk+bhQbRIlJ1JSqNR8wmmZH1NW7xlb+X5FKSHC6UuVCPynXBC+iN8KxrLNn6FswnUF+TVWs2kRqlVOsfdkrGdsbmm+l/JHc4EMR2To+P+KVKoHeOuUK6QVBe62aRMEl5BXyeTARTQU55bLHIGvew6mnZVCnblGqq5FwivrrGe5nEwWyHmStxmll3lrXkTRxoalFaNNyewEdCzmxAjzCrkIzQEvc3ErrZlKhTxCzqmz7/KOKP2aOPRF7k2tKfREP2JWOG2B0xF8YIW5PenIYLdSbTAdymqetXqa4qjnJ7H4GfrR+kC/h230qbsuQtZt32SIWdBA0BQAAALIBD58X0ZqimD8B10X4M90fL5hGPuYgeLp5ecuq8CZ53+9n3q/gjYIG35yKa5k+LLYxdYQIBeSXwtFtmbeUjJg5L16IH+N11aU1xjGUyJH7vh8J37sh+nUCPGT5XBfPBoOf5pEj+eLwPJzZHMBrwm5no8w5QGQXMLSzr+14k4gk2b5Z1vatP/ki2Vy2i0mIN6N89nWkm4ZYizQ1Xld2DZ24VRABH8awfItxmY6MsasxOZbcBf7rb/3kBNduVmYMNAAOVGDnw+b3LGkdDvxr6SiVhm/KqEWAVVXG7fm1f7RL+3DvGmtg/mFVnPahfiPzK4M9zw/nQ+ZlGrR5julZI8baoqhV41CDio0bUIn9/1xqpG8/T0fhyPKKTH7/9pamADRvyyXTGzJ/mG1qu1w06E7j/pm8J0xFnZUAEXb1OAqhUo01SCRhqEfeI/h2KzMDlIE+ZsIGDjHWQqgqm7U8jgn4V3H9uUnEz6HnQfHsOn/9Ck89rQUZDoBTNZ2ec4ca0cF5Rmarn7y0CYct0XfO6+XZduLenf/6dx+qLWo34pxxwXAQkGm14na596j4xBb9X9aUg7infURJUkcg09K5pGS0j5NWpzRdOhsmAhkf85doZp9woDXyfl0x19IkHlE51HxYn8A4UyvYGzl0qNuAwDDBKUCbWDPZRw2scA3SDMmoyVFVr/a86iAPID21AId7PZjZmuOuJZRNo1DllT/86F/yv+8UAF8HLYYDRenjDBzjrlfNFQcy9kDigDMvPJ/jlpQEqdji5FLiRgUkz7t9kO6TKjRlf9rkExo5gHYm+wwyAE+P/yM/0rSlzA+dvpucWf/Jxp4VdEbne+LI19RcqTtruiW9rlwpjjIt/TFI+2jNVBb9gS9YezGlnxFjgPnwUjWFHi5sAzBI8hvlb68MEUPRTfN0Ndyg8bHYufjGxzrn7w1biMpbVWoT5jpTey5buoy37b+V9rmjciQtLxyWVmvbdNKrymZ4tXj+A+BF9e9qlrt6zbEgIyOF19mbbWgNChgf9d+XaxXoIA5WrLjIKYchnwI1RjmeOjfZCJrCrcctdgiQ3qhfks6rizfkuDX4/k2G3VXKpbDw+fFyU8LgoYUJQ/eMtXMpG4XnAfIQqk+X80YFVVa09ACLs6Lum2LdNQmFjpq2n/Vhypewq+jVdJKCPOYKs31IKr99suoB1D+I/Z6Bjk8pkUeL9feldOph2sLTx6cEsPOwESA7ogyxU9DQu+GjoDcJbHXHaQ5WS/WRv0IOZTpEPQ19QNhzoe7h0r09lXMGPyR3LRGrsfD7zbovrYl+sK8RqtK03irrq4PysgJlXP7197lnM1+RREDbfBoTsOwzTiQcRrwQBx37hjcHxbWW7KklhVauOl6nO2iObNZs4GPECN5p2TuEV8hLCB/wQEOeoCcUDiwsxV6/TdvC9KinV8ckEsVUF0goTRBZHTC3YUcJ//kjQZlacnRH0Ev2wmF4ad/i8ER090dpwH+l1dJQTHOpDRvhMaVrSvo7wCylbx5CunnDUC+TFRUo2Cx2q7MtRqLHFwtp4Ry5Wl42YTon9CNkrF2c7MZltRSZVwGfd/PowNyRrY1mO5+pAQ==" } ] } ], - "Accounts connectBlock should update the account head hash": [ + "Wallet connectBlock should update the account head hash": [ { "version": 2, - "id": "f0051194-9edd-469b-a29a-654b0e1247f7", + "id": "06ccbde1-d453-4be4-a652-0c9dbb8c8eb6", "name": "a", - "spendingKey": "b43b557d7cf272fc9332fa18c51be0bb9fbfd726a4326d1095915b2390d7f000", - "viewKey": "656b86048ef59db99fe025d88af9e0ca6a15f3c5ae1ba987d683d52821cb9ece4b27ea92f6bab2d8f15450d0e25a0a8e68675cb47f9d9e43d81e0bd31d2ecc5d", - "incomingViewKey": "d0a57a0560130c6f91212b6c563665f5b8a02ee721317e8e32fb727c43993702", - "outgoingViewKey": "e9020594f7dfdddd498adeb5d2d1e058ba5fad605217a223ff10e577c598da09", - "publicAddress": "648c72b57401fa812f97ebdd2f75ab1bc755375258235d09bdc453e78416a297", + "spendingKey": "9efdf3f5fb85422e8ea44f05b098767e711cd22265c87b5160df07e5de3d96fc", + "viewKey": "296c5469e6d865e1abcf3f2f575bef62d697357a325d23bf6486c2a01acc1d346de40866b6f44b06cd34f62f93ceb4517bdf61240383bdb4e4157cb1d87f6fb7", + "incomingViewKey": "a1a9636c6fbcf27bd669ea1d5702bb070b4f1ed046b5fb9e6ee91d6a03114205", + "outgoingViewKey": "a2cb83598f67a86b64486e5162c2fefc82efad15b2840a27fe45376b2b41203f", + "publicAddress": "4b7478c3b73c853e7ecee2e12b7111f7beb09869d3a9cee52fb7a174fe6cf663", "createdAt": { "hash": { "type": "Buffer", @@ -3866,13 +3519,13 @@ }, { "version": 2, - "id": "bdd03f41-cc0c-49f2-b561-123ffa7da8e7", + "id": "f916a19f-255e-48d3-a493-3d3193f3cb08", "name": "b", - "spendingKey": "1eb698f30b412f2af9fcf98f8e42613554db1c755e7e22e06906f8e461d357df", - "viewKey": "b4ce8231bf16f6403bca5acb5a1ed064111b02f88f33553dcb87ba7e90c0225632b2f787d4f4be98f0a819f73efe35f98adc3af437a93c6681b7ac88e4c4a19b", - "incomingViewKey": "10cef25f60cb135d955175d61c5db6c0ed6b7cb4131bf9be5bc53a9a0dbef307", - "outgoingViewKey": "2ec5b7f26aeb6c81c10e1b86d2276d7b4b3d995d16c6c0bdfa0792cf8e394d0d", - "publicAddress": "b4196894c335a369fd8e397ec9911599adfa66f39270e7fda77c935520f122ab", + "spendingKey": "6f9bf42102a9417ce6a7003c5bc87b28b621d5800b736f186c4af2e7693e4b04", + "viewKey": "5a400f13bedb27283c61c905573c56d90fcf6604a7f7f6d15f062a1fad131b02c41e778dac5936e1fcd81c6f260f5f773d7a4724b7a615c4e6949f86f8c86449", + "incomingViewKey": "32d28f11a94cd6769599a4d365c0ba2817b612ea4fd71d56606bb6deaee0e400", + "outgoingViewKey": "aa305ba82115bdacd6a318f999e136e78b26a41a024ab8bd57abccd7ccbba5ce", + "publicAddress": "14c5fd14632d565e11072973f8922ea5d2877ec5df0f74eb6e09eccb391968ef", "createdAt": { "hash": { "type": "Buffer", @@ -3887,15 +3540,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:8bddqS8qBdYJP1U9aVSnILfAAVjwOcn533GPoe00nm4=" + "data": "base64:TddGrK7ryq28ec8izlWoJpYY6jYGZq9gYDS8EvPeTDU=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:lznW1qwJlphggD55Y8iVa9hUOGtLUTH2YBgb4Jmzhyc=" + "data": "base64:bPWYN2XJJimZPmaosOUWRSTwRoghjw1wuNpnmHQLrK4=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243744820, + "timestamp": 1698950308926, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -3903,25 +3556,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAOycro5beBxZAJyIeNWJjvhDLpmAoLK/ZLgDxSjFPPa6ruqBF6BVed1efY4Yh5U4euGqr6lb168b4BwXsH3P0Z3TCtsnHgSbq5SwNnQGHKV6Z3N/ezLpNnwNnvexcq9Ws/Ima7ePqrxVuhorA9RqSc0XJobZDL1FV9VIMj8bEGzwPS3jxBaELIhJGeu38YPJI+IAj66zm8WOe3qweDU5GilOBIm50YcV9sbbm8mkruoihJ997Gdaj5l/i3YqDPSJFpS8th1/xZKS8jxxrxXnPeuQ10xIO+RJwskVjJssOTLmID1V68+Q7dqhxe6nLMvBwc7/pkqPglFsl8B5ldAjmchlHPOtFJFWX5oW8eUZmpwbtqQhpVyyPrH66UY3Q6jI2zjuIuovJ75aqJoLQDZgArigpV7tFpbTITlzDdx9QryvQy/4Slo4/ZT33ml4LgeHHrgcN6TyqFeGGxvQgvCT7TiH28uei8xjASpK6PjOtoEgwnd9wSUHvvP1i4QeJf8RRgnuS3FB/2PO4h2weJqNM6OMQ9hwoEEY25TcpT06G7XM48aEWCSLaR/78T2KdwVPMxCVx/PiPZddf0V5hVf31cvTyjXGy/oLdLXMPYphfmIUbYyE8CkZTyElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwmAWo3l2f7k1JcOesEyyWA2S/Cglgb7o5VDRhK6O05CLLqi4AO3dzVRpCgjJDxIvLE7nheudX6YnI8vD1Mp7rCw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA35VoeYzU2pWPiuXobcQz0LVQE3w5kC1IJMEYYjNXJKWzA3IHADSuYdF0aLfpuaHwvJLxKIIx5Uitv54Adyz/NdohUw0g2SnpmZHV1DinSduUp6zKbufud+BsPM3380VljwPbUaxDVnJaLEnj5irWMC89ds/LH8hBJEWZ8CNTITAW9hUgbrUZSNwxkjG+OmV4GM3Cco3ytChxOatPEXIkyGMVGrjul0BqAtWdwLkPacOQEEkCZst75b11L4mni/jz2TFiAJ0Y0COI6VyIotna3qEuXR5NqNZy2/IknGpNdThEYDoVsjrXosxNrLSXsdxSmlTnwt1yy8/UZ/idfE4UN5vpoy74ztH3RJzuMcjNYFDsVQePE3dlj1Oys2PAJEkA9wElwu9LqJHPsseUFcrwlZ5IlUk9LOPQHPfwF0tQ/KpToq9HVpEIEb2or4MqCaeDKVSzMjn5Pmwcct1V9vLPl5OhnmelYidqgSRIvpqDDLWlyFmj2JdzQPCy18O5Rj04CaakjCmzLY9zIaaCQi6cS+UGyaP2ilrLMwlo4h3qg2R9GRK8r+3RS11eOMOLzulc+nGktHo1wbM9nHoOdhBpNlCIT1bzMu+YSZUsyU8C2xKNWBi8sFPyhklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw7vKEvLlMYBhtTz0UDpjp+BXz8ZyCP3r3zuISxXMGZSahTvxAgMVkfcpmPkwDTgxDUtyqyO4VwqN9x+YVGFZcDQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "7D49AC8262C8F1B3DD368D31B677ED9B768227D0C1037F53C3BC6B9ABB399DF8", + "previousBlockHash": "CB4C9BF593ED6C7722FC65EA495CF40F31D5036A7A2750AC12B165F5A7E8FA49", "noteCommitment": { "type": "Buffer", - "data": "base64:2mpneaKegomC4jX1ZVTLao1igZ2msme3fxlDsW6AKw8=" + "data": "base64:BHvOwmbie/5bDK90jF4TKHKaV/yFpMFWh3li9uDIe1Y=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:wvZp8Isu1Gx1ytb5Aitzcyu3PYPd1z8Pa1sVTwb97j8=" + "data": "base64:XMZ+GbXGmFIsqx3ZdKRZkha9gPKeHkJrgtrbny0j+IY=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243745102, + "timestamp": 1698950309286, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -3929,25 +3582,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA3Fhz7wTXREFUZvbuCWPQiv6/8Hgt8LLb3UAc8LCeNkSPd8ALOrploJifSewFFSJWdesWgVMqD62wb31735zjFmiD2fa+QgmFi5gFMGvFkWGOhrsc/L7NkIMJ3IPJVy9bGxY1Y2XyrVE0IjJjE51IV7fUKkSa+ap6Z8dzwRvpQoMM+RX0wu0zyZy7mdHeUdnWxeqo675pIheLDOAjh+lKWk/Fd+mD2WT1DIuRP/0PbvGxSdQ+3c1OEblKKByeXVMZBFZv2+Q/N4Wv3CWhgZY6JK8+8yeHln/YLjgiyZw8sN/m237D52alhYOyyR0Fk4cfAu+2Ar4R+93tERH/ba8zEWC2wcUSoGWhefozo8HJjmZX9yDPzbnJ/F33ydYbH44Qc/ve0BTGiMFpKEm7IlCnjRNns97fvYuA5rXl8FIeqFaRN+mwoK+o9EVMGbAoT5w3Qgzt2JGM3bED3DPV8AQOu0Ihr1I5njEaM8Mvn98tYVgsc7S/6CNWFZsAmuEGEvwJNnrmebIYlYlBny8YxZEp/fP9XYkfGiSjVDXAmUe5xltu76abxB1Gnpl3uG4QwvjSyt7edEn7k6vfl+Pf8+uuM3bq5/jyOiLusgXyT4nr+HDPtXwOIYiSrklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwyrRdObcyfbcXKWKkUTm8YMxOMDDwH37TaomaTJt4weMceX20vzJ/OksSob8ifVf9PdssFbhOaLU2kq3un3SCBQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAC47ehbU0t/dcmYJ7J8kDFEjnD9ZaxRCJXoAyo3l0cHKP+VSX5fFyP66aIo73ypGmjyMxZSeZQUfLx2seGi5tLA6RCGCXLOlBdy3aGIaYT+aV4Z+sF70qm4AT6ul4wFxMIyqYUGQJAdpB3pRbE3cVC8b6p1A0U/ApJa/KyLVA8hQSR/ZnLkkiPe1QnGrFdul6P/Ogxqsthgbkf4o3L/B6wK2yGO/lF3sK9woUvQ/K/X+AGgqaLacdNiw9vbVZv2SXYwAoEgwd/S0t5Q6VoFlDHjcKGstUd5qqO27bvaPd8/IF4vAII70FkI2Wfb/K7EZmkq+4f4pkScD3xtnzcTMWJcMCDhAS0faoaCIxxnt6EaG0ITVkWuGupheCspzdTnwbPKBbx/21XvSiMYHzUrECfAifo6ewhXfQdKIw4Kdrl86GmNdfqw8oaxrzTaIDeOptlNyfUFkpPiWXyFVNQtTKEr3dfLStMG7RF9ffy6A7veSj/7ahZfU5Tai7AE1U8T4+SbXz4RoHId5ZoPWs0S2f9kFV6iShskUYGVvQZLkXuPNyQwCgxa5I1EkCPm45qnkuegjnw2v5DdWUO56u6qhDVkWGmSMg5L04E2YJE2BRC7sf+wOWdBXwrklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwnuaj6hPzD26+P0W6SA1WhAthWIt6yM5hQqSxI+DYWvPBNN60ZDaEOwfPVjGuM42YVyrC/lWpHYrVpl/SGDn9AA==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "2503C9FE195D2C7143EA2B3989761784BDAD5FF388C47E3060F6236A574A4342", + "previousBlockHash": "5CCF53F5B925EBDB9A18741516D1FEB497FD5CB1CEE4B6AA53636384B8855E91", "noteCommitment": { "type": "Buffer", - "data": "base64:hiFxIUEQKU45IRx8LH2ztH1xPRgKhy/VqB0r71hQ5Es=" + "data": "base64:yK8wPpDn7MekBkcQoTOtHdCPMvmaEKFAVyaYslcgLCo=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:B4INURtVD9T1lHW0wS1IfqATdGXA3ETLqERrXXEXRd8=" + "data": "base64:/UcaWtmLsen09INi5q+uLu2SYl7BsCwF4BLpuru5QxY=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243746451, + "timestamp": 1698950310693, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 8, "work": "0" @@ -3955,25 +3608,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAA/8Ibl4KBn2lyYWPnoIDV8G+/Sy8VfpECMk+Z2guxlyKnONN3RGcJ7aJ68a6/KgY6jOyDvHLLr3UXyiqSFiBpbgIcOYO3guxoJcxV0020nYyJGKzyQC43KKYQ9C+fwTjcbyH/k0IWS5zeKbwotkdBIp56goQeXeV93qa3x9E9Ko8VazcRt5ZR374FG6OguatFgd4bL5NAJyy+m6oxrF/2EGtgQkKiSm1tuHyF9t5MWseKg7zg6ctMnFnR8H67ncwCAC6RjbIN2KDd9zek9fxv/CHfUeezkvUfGkWo/AlLYAdd5fo06q3+4GvCimUubEGN0jR4AjVYNmusS6sOMVsnvlk6qZjrWr3vIyWAcxbEijTekTZbDI48UKreV1brLCoID7vlKCU6nXS66/ddPfd/UnA2lVaVt5MboMM8Viy1VyxtT63P9KY74pGt7Hp9dXqJRJRFOMML1geC25FkBmQN0ffKKvsWYlEUL9d+iubYji3vZngVF6fqmQhxdK1jrgJnMQ8sm27q3Al0T+k4DiHJf56yQj287+j+5n7xsuZdrjTYV6jeGQm8A8tgg5tJvvQp6ppjAwWhRuV83ustQv03K+f9R9HspVMG6fdy2w2ybvMgExQqsz9EqUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwlI0Edl/c/xhSoQoWnyFgldIMPw1RAH1HQ9EkiqiGshFQE5RO/zRrwscvc4+bPWhwNdK53sY3Pq5tFsEQdPiNBA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAArxws8UDoYYW/eEYkbadOfIWx06KYkaMUoZVT2IDMSzCRbMIr33oUQZAhSMriC9xHpYWh25VU0Ww4rAdp9w9SVQzNRXuiY91TV0cIFiOA3aKTduZrrK6qAlusjUHgENxIcdzWFTBQA/NrXKj3QLMEttUn49c8aRFKiQM55d22biQSQOv7OnccDi/NsH7+nJpIPhjMka0FAqkZBrLgoBtMD7CIgsU/7U84OAgnBPFPO0OWkXIycl3FzQ7pTnCuFVmqh+TYDhKmN0KwLeng8z7jij80m7WmA+3DKngGM7IPFhXOSfj/p9T5CdnUoOE3jyxkDFzlfNnVQR5vu2Gt5SwlM5qsEPuhmBTEGCYBMo3j9qe5VJNZwisRvZDrFSuBDcouRxQ8/vVodugkRP53mP8MI3aZtopI/zy3wfRwkoqJL6Li968rCAet12bmASGU9CaK5vHHS/HtDEIZdPzxgcHx+VIjengfbmlz6t0kQEYAp9PiBK2FnImWl42QhxATfOiTNyltlwvfEWjQQ4RH6QdIjjUmfZdM5kLLw8v9edkR83sD+2z5KcAtxLrT2KREgTvWl9E6ZsWVrbAmAiah6TYMv4s7W1qqvPgOlO6XCoPGL1jtxkVpo3rZBUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwI8eMzSzGqJOFySCN28+VN6u2j30Fl4ztchGqlY7v6UmS1+G9ZeeXlDXEvBzKPSylu7t/h3G3Vz1qcNrlNOC3AQ==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ] } ], - "Accounts connectBlock should update the account unconfirmed balance": [ + "Wallet connectBlock should update the account unconfirmed balance": [ { "version": 2, - "id": "ea74533f-d4d8-4f08-8fb5-58a23d21d397", + "id": "44507cd4-2496-4dbe-a5b4-67ad13e986c5", "name": "a", - "spendingKey": "96015fc0445079de8354987548feed95a795d9377f50c76b2d036e4bc8cda20e", - "viewKey": "859196b20f2b0009672410e8e28adf2db869378e7683934895ab2fd3cdfc6d588865d4cda1355615b16725bdec4e4ba104eef90c4c2c9bdc516f0b1458b86eb2", - "incomingViewKey": "a29611e9be7178095c85d4602715c79c50e48327e908816b4084dd5fa9ba8806", - "outgoingViewKey": "7514eb22315937fee3a08a866e87fe6978763a87ce52fb73fdf2ded16b7332b9", - "publicAddress": "5f4b727ee6d9bfac282c3a721944ae7f0f3bff4f5a68cb40aee0cb082825db85", + "spendingKey": "423a35c3e6bbf2e3246686532853003e561ae163042091d1d763cae754178dd6", + "viewKey": "1fb6fe6797409edf3f532f0c30fb0f6cec3e82eebbd7bbd4f46feda998d8ebdf24f81897834c2290b15162be57667426fcf23b43591401f85b99f576c790d761", + "incomingViewKey": "22024bf49b291147a266ba33dd965330fc7518c2f97e897963f2cedb764d3200", + "outgoingViewKey": "0baf6e9561e60e74423aed73ad2204f649eb75b542b8a702b7a7191dd0f17240", + "publicAddress": "535961ff41e58e73f843d70e17c1cc360dc834538dec24fcd2701d300e4538ac", "createdAt": { "hash": { "type": "Buffer", @@ -3984,13 +3637,13 @@ }, { "version": 2, - "id": "2f772b2d-c324-4c7b-bc43-30b851a0c957", + "id": "db1a7b92-0880-4ee8-b9f2-fe849b0a772b", "name": "b", - "spendingKey": "0ff8091689f1bb680b93d1e41102555d2b9f94ed86e2b8453d03c858544ecbac", - "viewKey": "d7e8bef9818403bf40cc028fb27fc8472c68a59cd94f3bfe50d55bb26a10150a26c8b9c1ba6a4071bc256a62eaa008bbe5897afac212df1969034bc7b02b328e", - "incomingViewKey": "fa1038b18ed38638d384e39a386e49e2755e9ce2e5151ff3169d97efd8ee9007", - "outgoingViewKey": "2194794227bcaf66c1e3779ebd1cb805ac8a80fe2567c7c3272dbf2abb0c0c8c", - "publicAddress": "261682eaf49387cbac39bde322cc822eea73fa5667163d3e069178ea7dc3f345", + "spendingKey": "a8c98406f8d073e79feea352109666958e6380937ca9f832e0884c9eaefd3e2c", + "viewKey": "7edc40ac1958f81a9b4b35e47d898f66ef21d47a46b5b064b93ec7330573c1b5070eaa5e09d05e143d37eb4de8946196e95bb27d2b16e8a4c530549fd5053217", + "incomingViewKey": "f9b1f91c515e59dc2d5c8dade683b4273062fd39787f83ea25d9afca63f1fc04", + "outgoingViewKey": "13ec08861c8c345546feed1b20ae0915a497fc926c83fdc45b42d8e925873119", + "publicAddress": "33573e2c1392e8b830c5d770ffd3823219102e167b9e0a18c120974a13c74ed3", "createdAt": { "hash": { "type": "Buffer", @@ -4005,15 +3658,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:PtZukd8YlvQQzUiI7Ho95dpI5AXA/XGivaubOuihCgo=" + "data": "base64:N8bN3OAdFMNlDI/C0fcQEalDHUvc9Nqm2bhYHjAtGxo=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:LYmMRxjkvucY07ttM2U0RExpnxutgu+GoHW7sZyopqw=" + "data": "base64:iwfywTeumIGjmw2b7GDkLdngtlWHykDuMQF/Bykfnuc=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243746872, + "timestamp": 1698950311149, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4021,25 +3674,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA5nyjrT2u1lTbpLc3NHOiboYNks1oxhI5WlhV0qIH0taK1HPSrkLT+2Oo8n459O6oBrFXYJw1ehse7uvZptvZ4VpDWyC3Fzbd+6TKFngAhuGkemE3GCNP5kOzKl7SqKgW/KWk37Qd579YilTrIndR5alhngGfrQh5dl5KJUu9FbMTUJJVuP9qDxYKEI2tb3udAtIx5xlhO0Jj5yOxqm/eYnRrcfqlP2NPIXafOPTStomG+Hj5NOjqV2K0blPxl3qxYUeXD4xTSyUXOL9z0AazE8VG2AUZrOIDxgok8FSmxlqM5LvG8K1Ziq4caMxKOMMAd9DY3SEttyRS1lzD6Ry8E0PiKTPOm8VzPYwI3+O6673Gu1VP4H3Biz4q263W8dJH9IjWhUxD3RuvTyA7lMHiFoxh3poPhxeJdIQjr5Frty/LJWXXixyktx9LaG7H4Gg8oYCpgh/jA5gW+H3A68bvt7ZHk0lVYjjrwyWvo5Oxgv+L9ewHPws/MNFxLaQ+QWZ5Q2nTC+aguE/VhLB5MLwChMLcL7vzLu0OnRxFLSsGRLbBxbUwk/j4r9K0e/tw9/Qket6v5N9lJdvObMRwtMZqq9l0eILvB8DNR0PcTboKtImIghpqKYpGtElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw0LeU2SW3mziBWv84xrn0JV6lBmTfpY90JDfYwGSSw11Pd/T8iffTk3utMIV8+pU1SmIOK371ZUK28tovYL16BA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAARwQsIo5CJ65FAtM4YLkPadKuVKjLwQurKqJXM3299Uy5Yg99mMGP60+H+CbUKfAcsAbh805hupl6XcHiS6k7HyORMghtjibOByhXnm+V3eW3+NBIIf3z2I8YtVp7NLm0W6P1igf2uhbKVGR80EsWvgM25oZGcT7mtxoilt5e4HgZy2G76pkK5oiTu9H7XzOhSIHEZnaWwMiygzgx0o1tqe+xNHQNbINjyFXhp0CyaPiodDSgBHarJIEMrVE85YMosCec0JrhNHSWk3sUPvEVqxkWP4CdYMfWWR83kLB4bLwv0yHLKXK79IlZQWgNXYxu9YB5EHkEP+FrkoTw9gme4Pe6cIZl+x5BcYN/evs2fFU71BVpkOBGtVmDT0q/cg9gbDt43Ef1AYWrgtGe6yeeWTrNMmMmQu/ZvNawfT/qRNowH/olS2nic4xUxVWrAFRSAOMnAB67ktzmGjOHsnZrvhTH0EQES1P6Kj/1ekg1KqyUmCmPpu/BykDbTLa6zafv2eFucpPM2I/Z/7mr4wmR35aMmJyPWc5B6wqnANMO+k07Hs3AWS+hiG08suV70cyCvJss0BNXbWy6rKFKbsC9gOUKJN5bPt5nvBdKip9jQWKMK0LOEgmNvElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwiRVtVZ6T5Z1U7Ea0t2cn2Ydk9ofxlMNeiOVBHZl3jQYZKfXnbwFQ5/x6piBBVH4aF84FX9ey7mNUQiQwWPwhBA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "580365E997C4929F84E09EB8B984C20199A14E1C53C6322C3D648871E542CF2C", + "previousBlockHash": "AEB6F7A2B60BA8020DBE10C81F3E62E9A53E6DEF6BCEC195119B7CF14D0CD133", "noteCommitment": { "type": "Buffer", - "data": "base64:k3GENxQPqNbaoIBftJJ1Bsu7PeY/5IJBTChWr/Qa+DE=" + "data": "base64:sdlVSCmWcZSczWlnbBIUu4aViiykrdHTOBR4kT6iVlU=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:bhHaq9br3UG7/SkK0R7+oVmjtL/Sz7wbl0KtIIYiesc=" + "data": "base64:srZWupvVDdqUAtM7y+PCEqYgceyFkwd2HIH8ohGDc78=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243748219, + "timestamp": 1698950312550, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -4047,25 +3700,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAJ5+T/eBZdVXN1Cp+iUaxrHw47wbJZNV7GebDmWX7g0SUreL4NivqSOr/E2d81NhJq8PfPSV2A7du0mRO21WcCQFK3cincUcdDd+iPalI/kmVTM+2QdzXVqp/u0SzDLSBOrwCzjY18gHLi1jIvXuxUwO/sYdR3XloQO+fS4XWDWgQeF2wYdATUhqdHT+AhlPiyhSikdg14E1jpC00QgAPg3jSanZnV6SK3fcodN1Umdil9KY6ggmyue3civ1Ezf/Q+XLcC2qpbFS7BCuYSr6zONas6+zv1e0CVNfWVtVwsUFiNrE7tln2QKYPwVZVwJ0x89aixVo8yhDQUCLy5ncFAwtXTu7rqIkbvjj0myp2AtolHJ68sV1uJSrhXwJE6T87f+8euti3JoKCC+kejEYD0IIlvEBg+rIaRb3nhk7fZa4W68BPx0Qfr9A/9MdhKuAW6HJOZF1omGBjEaAdJZJNTUz019CkyOz2WATiJFAj10LOfuG7zuK9wLi9m+5UK5KX9xGD5RT+fml3nGc7rgL+5Kg0R/ZhOz7HLyhcoPkJl6TisE8oZm01p1CyGIwkaiVcynfSLM+J6wWujKlM4BwowjKZv1/6UzhSpwzpqtXWqV35++EIwl59NUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwFULCasD57UB+Zrj0NWN6faiO5gRGGh3S/fs7iGEf/S/wTlfg1jJPvAlJyUtV880rvG8pS7p/fOucBHZPPny0DA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAGE+GYNyFHSpIbwNWg6pkA2sf8SV2NXoKvirSTbxkT0qO6MwqjLQLD/yCnI98Hbh2eFjYeGK48g5xJUevleq/LrQzhZfLjR6EtaNZ/r6X4pWUvMaDRKhOM+Sn6qdHqN7Ivi0TE7JxifxChEX90xZ1a3ZrSp6+8/huP/L0VvDyR7QLbLh8fh337nnNtcJOguOLKH8gBmCbFJbwzUi4mAr7Vg3R2NB9H8Ae/Xo3JnOuAUa4ZAg9C6Dun24ezarSLItEDRtKsLwxmIThZFdoFH5QkXuzjJF9IvISkwVMtLRD+EGNA83SAtr740zp1pjbnbplyc32c1p18WNfX3iJs9Q8AL9FtPiPvaUGL8Y4tZHUCP5Fi3axn67sKediCDzgVOs5w83eEuIrEEv3FWW+90vQTSDWTtDBrf/rb368eWhun5YowAGGBQu/LMToZPYX3WycaZyACDMjSm/AEDepLRuFfILy6xEtYrmWY9FCfooph2GiqEsHLEjM6541qrn1ge0IJR+fNNrDhFIzO1/bzBBTUuS/wR03EIiAiWjZexJBQMetOH+vEQ0NjgbQPo5YBV7eQZEk0aGo5F9Zz31GzcNfKCC22KdnNgPlgtog1hpFJ25yJCjciW4j/Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwo+8Q3xWDi3riJVpFeHw0JDwbQZO9kZSEHTg6GWQWvzdzugO8B5YC4eI0pD0Nl64SWmT+Cqe+8BWhyGhy6/T+Ag==" }, { "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAA/9dmCfub7J2EM+DNnla3yrbbcWV3/JgGPn+edqngkI6vZITMx48I47Bf+o3Kyl0rp8DbYEVAAOryOtu8tEaFztAyPybMgLRovO+1Yj1b3AKnQjNLBCGtuAficitB0lvW6BfCiLpfr4WlgnC+2zBF91arGN5qx7kSzIHaKG5fF1QLlziJsJc6m6iAa/tzdzZLAXi9pLw7XOjhXGdkRa8AjVDX6pW8Hp5Uk8vuPNtPL8+iE4yDwc+yKsYDrZc00ojjgCQdC9/+epwJzv6aNKctQAp/QWM1Qc+MKSnU9hk3T5GDpcdg3N3enSwZpSX4a07FLPHu6Us0j9OiUIvk2VrqVz7WbpHfGJb0EM1IiOx6PeXaSOQFwP1xor2rmzrooQoKBAAAAFIF7V4BJ0ypolSaaAecZbgxG8/HJvFf+Zr2jP7pPkAtOHXAOgOCYdSlS9/oN/6LLTv3rS4CWr19eZuu+lShlq6+hutdj3Khvh1TYAWzTKOF7sj4Sj/tM0AeKIqdu4sIDqaOlTMcewSt8u4h3ahv3TWArNfIxKXHOF3fhdAHGCnnMndtM1JK2nwA20bS6MikgosFs19JXYbl333XlK5iV5cSk+0ZQbK8lgjmmLikIbqViyN5u+nTm0++YWUdNNIbRBM8EsyEqSGGVJqWwoUGmotjgdepqAe0MgPesdu3UKtzfODN5iJr8gU/xk9SkejpoKGUbWBBhcWzHM4gtBpnjNcMpTaRN8eONjgUyrsyrTfjw634E16EEfxb4zSMay1aKJnvk9ItRAq0g/M7DAJbu8vVvm8i7LI386uKuNBoqPBTmFFUSci3gSEbGyMzG+Q43/HCjiTwbfjld4Ma2YhbQjQ7JkuhuzBZQih1UtH2A/uYsBZW+HwzJEM0J44DgM3USLDRwyJqiLzu33r1hfhmN4g5a/p84KQOcpIT0F8HLrBeVl21AvFrb9n1w4hDT9hj8d9tGtuLxXz2vOWtP2Tqqx77KAcVWXNiMSuerFKWkN4cZ24kdbWRH4xaMG5rueYnXqGD+UwaWKw8tsjUr3nMyC9gtNqEm11a3sPSXP1nvxp1lpZ9dQ6ppU2FWhFI6FkFECoQPJyZiZsP+/7c6rA4Tabg/FtI0K3LVF8aTFPorIVaGnSO7Vk8qgFnlRNfcSzE2vR/kD1R7XonNkxtuf+zMf62ZzyPy62/kMWdr2QzHhuCJ2RekAsaZ5+goH92HVBbXSGoBC8YN2aP5YeidaweqcLLLtri4qNSTq3+PiW4eYarZWbbqqyvwMqOfsxBajZ0r+jn25ZsOtzhyG3XNxY0nMDiBX5DI8L0JRrCZm2O4sSPdgSq6Bf+mbEOV9f8fzo3VuAxcs6/hTKRyq+68MERNJIr2fNKQWmA2Uew8MB0f6258i4ofd51gS63dSWzlm8VmFwyxvsXTKdGZgYuuzeheZ3H398uaJ/cFwoJ6uuHA8SbxF+GBXW2D/ZWv8IzTdkoDIhagST9RVGslPEl+EncBWzC1wIYjNpjIO13/HbX93QXlZsQcXx1mLebJUB3GvE7oJPU82lccQFjcNWkByG+MEsS0j6iorn5TrPxQzn+EYpJbaVvq6zNKCBvxWNBYcoGyq4wUvKUpgqK6JcbLzg0MrpgUo9Na+jZCbni5Hp5dkuPPp0RCUT9I1E3H02Er+XbSQpAkoluWpmuaY3TM/DdO7N327eZxCEzX/NXYLzro0xkCDNrSSqq3EX5EKwmGLhwZWXRGEE1mc2k2ub7aUPD+yLdJBur7vrugn8AksOqlHqjiefnhY/dnoiSsHEyIEx5cbD5+LQQ/t2h168wJZJkw9efQtN9XXNgv8/DZ08RcC94dAGLLZx8gPNqks+3eNWA+dcd4LKz/9ctAaOuii4bYIgAooGo6kNUEc599xBCe7VdZwNgkdttHapXt2LDmyjh6+p/lHsiFYpGaYVjwo1R3DSW0MOFugkl1JYzTkv73rMuNBADdmK7FRUj2Jycmx4BBw==" + "data": "base64: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" } ] } ], - "Accounts connectBlock should not connect blocks behind the account head": [ + "Wallet connectBlock should not connect blocks behind the account head": [ { "version": 2, - "id": "11990675-5b73-4cf3-9dba-d3f05fcfd373", + "id": "8a325a54-0497-4887-82f8-ecf6d52ae853", "name": "a", - "spendingKey": "52347a405dc6bb6fb7900581ae4865b8cd43289cec6636eac4df4f0bb7120977", - "viewKey": "dc2f271f92757f3c439865d709714c75734dcc56e8dffd03c24d6b7146bb7693e29e949df91096304128b6d97db3ef7d96cf001f69ff578f1962e08e72f2fac8", - "incomingViewKey": "362ba2dc4f52cf96ed4c1d3c0a5f3f2704a5bc4181dad275a70663d743482803", - "outgoingViewKey": "67dd7ce8502cd53c5f3b0e45dc591ba88b8ceed49b6d3b3f33e1d4593d58a0f3", - "publicAddress": "14ec58c8192e3e456c8b146259ebc1fc9d6c464be44bb54dfd028f28ef8e2080", + "spendingKey": "80d019cf94b7c142e515cb32e9428f7a8ac12f39ffc791fd3341dbc181f4dc32", + "viewKey": "8e24ecf991fcd189adfd2b7c46dd9898a88e0e9d742f00966688ea244d0f1563e67ac36c807e82f9ad4b3d3c75547da48e38345a786253552971a2ddf0d2a86c", + "incomingViewKey": "03359f143d8909fcf422ff974fc8bfd8b6e8be1edfa07e1590667af4b1182b07", + "outgoingViewKey": "dbf0bd71cfd3b94607ac6b625c9ca37a582402b901802d06a97931fd0b6bbd6d", + "publicAddress": "a3d71a49eb70e689824d338a3a230736afd1192137814a01f84c04a62b2dd618", "createdAt": { "hash": { "type": "Buffer", @@ -4080,15 +3733,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:20yHJ3LPIo3c/2dQuF21UokZw3CH1t//FFcvxE0DqRM=" + "data": "base64:Vmfzmrniy8JKjRzaqhTPB54EWQ+xH8DpaqYZ4tuXOlA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:oB6r37eJu8bstti7kI7Tuu+nTrvlGibjvrEQRn/Gne0=" + "data": "base64:yBdQN+d2XoNeXSmUrtud50SrfQ+cp2q1lE7vMPY9IeI=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243748632, + "timestamp": 1698950313035, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4096,25 +3749,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAgGj0oOIVJAIjVugpkISxuMIQy6uB+HYDPaSYWl6CMFKr5Sw5kTA6009iBIeOlEKnCkFfa6WEo8oRgwQadu6BFN+VrayMxCUUB1X10dITN/+oVRPLIulN+VJ3l320OxysKFzkgE70zK70+mnFK/celdxDYh/CqW5v7cLvY7TAjXQKaJ4K+6w9w+LsnSVXLyEONhjiNbYbKgb+JFrs+gS4KMz0hrSY9iPH+GEKEln4momra64Xpj+E5e6ErH3s3sOzQhGDNlfeRsRiTTmPL8F0pTgZ8DfJke1fJfSiXaG77T+xFrCJwBZSzH9hSTNMrYhY4Y5n3RIcT8SOlXcsFCtbc9qYp50+MoCvs96AZl11H/UhLpd5cDLto3x50MBTv5YM1CMzflNO4O3cv9FQL7/lzpoRIfuMp4U5mTT2+a1g1xOeopqerO748jlbpIDgUjDXVEdgsgfH1zCXKErqf9JSgdcdsf7rvUSdDQdmzZU1uWuzzJHXuMfN59drzBhQNILL6cxRGTCQiCy4KfuvFTFNHBe9F44WrkfdNomlplYbcdG9Hrjt+Fb2y1gYdpLInwq4P5TNiu9t6ZPGXMnzTUdSeitUHP/AYZXU12z5wBvoA/1UXeYre0pjmklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwO7zHVFJBenbyiYlwHgfx20y2a8UqquS3YxAt3mNgesLu8TlvPeOKrsOwvtF9AXdNF9BmixewFbqPxregk8M3Dg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA7glFxDATSOQPjmimp/EbhH1Z2SIt4kNlY1JYgle/9Qynq2zzNCq8/RmHalsreAAB+CYNf+QnDyonU9oEbUjciSHpaDMNA8AUTxhdJHxfm5qWl+nC2hoc29IOCfPf++ySiX6RG6vUm38l38H5b630/qQc+tWNAylPsSShDeR7N+UMjLJA4Ffp6RVMuwUM5I4nKFdWhh0qw5duw4zFLNx985Pi7OG8lY4al5HdSllltwOwyrLTQJTb34tAfxl1tIjFWnBz/ZYNG5Snm0k2Gdbw9owNu7CSf2hxy0Byqjp7/8xEFtmsJ5Yhuc0SOi6dud36H+drbqNoI+tYG7nUTTs/NodcW+DjQs+b0ZTXAEfVJtR46eBKnxovoEy8wDYc7UNF2LCkIzRZIfZt4g1H5mqe8laLjIyppx7npWRIYQS0fDZHNYnE8E+6q5T91cLZD8ae+pLzvtkgFuBp0P6ynEI1RmF2U2DtYHLbCelt7wukImPUHUvhgHudGY6gpCR2C0zehEhqZLBsbGNvFVr3mXAwctFOL/SSVwq31o1KZlyHqLK/V2DOTX8xNZsSDamZGOOL3eVwhN+t+320dBeGI/cxdosR2nP9cQjzxX+GsUdhndyL88FIqB6roklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwrXbLGE650q9ooxOw+q0AV2+v0mlF1hpyamne6sKnBr8pU5jYkHmqL3AA2Jmp9IilnQvD/qbung/+xmIM0aYxAw==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "5C3C3CC8CD2BD33960873074CF322D03A7A8DA3E155B6CAAD55C5AD4001BD7FE", + "previousBlockHash": "3E557A4F9A5FF00F6C5BE93227F364D1DA9634964D6ACF4D3B8AA9929B4DF222", "noteCommitment": { "type": "Buffer", - "data": "base64:Ukql9ANli6dCM7qnHIi1tlcDM8L9uBAGClQ5VYIXW0k=" + "data": "base64:Hj5idrGKtIGg7UriJAs8icfW0YSx8jqryROUpyDS3U8=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:mmP2e28V4ZSWkFS2JzR0vvSl+tfTrG4o7UUnF9P2ppM=" + "data": "base64:rbvLinFXpymEFSsYPYlpsWW482lSU7j/Xq5PXbky9Yw=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243748909, + "timestamp": 1698950313336, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -4122,21 +3775,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAMGI4F5aiYG1ey4x7cfUDDGEACBn0mzqvoI/A6pKaMiGK0YBuo5Nlrs1HN0FZUF3/yLYxtIClDpplXGcPMBpPspIAMz11dzrc1pKvu+sImCuEySXh8iLQv9iYTSzYmUmTuFksKnFYPzUS7hpoGOYNZ20k6DFAY88MM6r4bUhP484UT5JWoCd5KGIBI0ZlZQsED601hU0LwoPGE2Rm2+0y+z8RXLbLWkS+ICYhTzzTyJ2RGasUdiYlM0A6od3gCEj5V89V+1xvInw7Sjlq0kV6R1Y/Ez4Oz8nSob+O35CaZDfcPj/1rjpQqiw0CfjJgXgqGtIOl58d/TATCPZ+QkWKNU2JpZwEmL2IfgnB2lL/qvXmzuO7OLRcgyAzTkapEGlSmuk6mk6tyo/qv+mY4bc7z2BjY13k4gUmAZtacRDVn9jNE7X/plJgV1aYZkWRnWJg6ncYZLcH6buOkCZqnup+mV45QfQ9/Dr/VKCK837vQmF34O8H4av7+MR8rWYAtpkqozMiYzNJTfb8aJzikBTqFkUh/ctBXFjeskha78OPVHIUTBDbjZHPyGugXE9u+fgnaQgcx5Kj5mv5RMow6ZQ4bhqjbuolK/DV2y30f1R9A1glCaue21CFRElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAweTG1DoKO/xA2RRbqfqJxgrz54PvJpW9dDXRim097Z6q6yRcKyeC0ANUYvkGlGnHxzJTqwsuLFSSUEfklOFlBCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAhoxbWBTER1TkUOWtnavhLr13AZ920eq0SWH1qVxKRquiIlkYQ0pJscQIyLGsruLJPr1mVvutWRaswPao5tYuThiabqHgX8kPIvd8DCqBbfuVkLeqwKvjn62Ci2T3LhjmI0iyDGo/Z5EIMcDtpOu4R6NqzkfV6NZGLVjI0VG5EE4XPsGusTl1ayiShJAC8qyVH6RnbpaVY9RY7jv8yaZ+XiWhAGoB2B5Q3LZCKd1ohWaTT75fPbb6TT1Rs6L1LX1UPbkJF/pBJEdXYYAP10srzugRGniMff66WLjZdVhJv+NgvGeZyhgLebtRBL+36PBvR9hONuqwIYNOJ8mLNrFKy+Jye0i/TnZOtx6P6pAn8iDfH9Xz/K1EUp3DLo3mDwgU0JcfT8GVtZUeeKpJNIXaNoRJqmp48SngttCgwerLKY8qHwVDmTur0qhFJKkzjghvQQYwcliG5vjx+DDUB9O78zZzKjBqTHa+wxSeDFVRJ07y7v6YPrmnWE/zDBUVnj3dZkBTbFySejWZsvgrom14W48D9apJpG4VX7D6fZMdJcr5oB+dtMIdv0WYw6sn1IOzmIy69FDAcwuO9CowVDkrmzziu+3mNnyJH5mTzqLjjsFe1PCEWYeVH0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw7u9/1zGDXdOAAUsEVlFlr+hV88mzX5+daUkMc2NnfbFnzt0/II/Frvk6ydlqNvYYGJOhtkRN1ChFYZsx8BNZCg==" } ] } ], - "Accounts connectBlock should not connect blocks equal to the account head": [ + "Wallet connectBlock should not connect blocks equal to the account head": [ { "version": 2, - "id": "ff506db6-b6de-4f7d-9528-82ce5074308b", + "id": "4ca6b638-083e-4845-bfd3-2bc45de973d1", "name": "a", - "spendingKey": "6c7885b1af807946acde84534b479e7655713e2196f05f9284e37e13f40f9d65", - "viewKey": "a94909fafde84aeeb990795a788322d5a8157b9b0d7ce6b5707261276316709989f95ce6329b12e4ddee0968cd9125c04c64fa472188b464f390c21861b1bea0", - "incomingViewKey": "3a386f46f42c70996eb4a2bc7e6530b69244a1c0fe0d709f2d9256626a9f4805", - "outgoingViewKey": "c2c2170c35a44321e845f6f48dcfb9ac0b21e5f46fceb8361ab2cf02e45fbc62", - "publicAddress": "d9e1fcf7e3e27ecc24eed91cc1a5cbb601d093783f6c1e46668bd10908a4d2ab", + "spendingKey": "844992338eea6c7c1a55b32c5f726724ae8538548babb95a9ec68f691810ead0", + "viewKey": "e9068de26b98aa04f20cd2b15de63b949e2d6144f732cd6a29756928fc1a5804fbdb4a9f0a450571087863c3ca2e530d8b362cd4bdd3c68a71ece239e9469fde", + "incomingViewKey": "a6d9dfadd0aa77c81ba24c22634422bf5bd6a41694df3f4f72a3ee2fec85b304", + "outgoingViewKey": "e6ab79f3af0db248b07c0e595068faf5a464753f9f4cb119e853075574f4d1f9", + "publicAddress": "5824b87e06b6e7c41301103dc3f8591944fb12aa7f4f86e876899d411615d51b", "createdAt": { "hash": { "type": "Buffer", @@ -4151,15 +3804,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:/T91a2KO1h/wPWvDkd6O230x79R3hCFIw+083ZXI/gE=" + "data": "base64:nTas3gcftdpK/Jb8y7OQcjl9Ugvibr1+aNpZwbHVPmE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:YqoxsB1WcflutlZWuFNdacqPzj2N9rF1Akf2KUPMnow=" + "data": "base64:vZXYbnKbqXuCkCQMA6R4k2gAssRXgQ7UZduDl3kwkGo=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243749319, + "timestamp": 1698950313848, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4167,25 +3820,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAALDILH0R84qulERK/I85TRdzh9hEapM/vYOwsatHTYi+Oj+x7rcV9t2SqUlyroZaXvNiTW83LA2GL8LHQAoGacBzDQWzQ6tU28PiMAxeXGrOX87RlaOJEn4772i66rEg4zWfUb2JhAJmA9AMP91XD4R6Qqdkuu1XjXkBzZq9buHYPsUvxYZlu7pKFfMqUEroXqH1X10QKDEOU2YjmQ04/T9PK7kVqEj5E6OwBFs8tyLygzRLhjAw034h77pjl2c1tESJpwK46BS6ZQkfu8+8HtAWtHR5YdcF20EsSdsJuTBwArbANnZBb6EndbeJRgAHIybWDz7RgVACvXGNBr1TeUXPsPpPgLdonxWneF30OSMVrkij3GeUjrWyI/Zk0kQYFH1C+mD7qImPYc69VX/xanJJmmuHK7ts368XKQ0D5eT/NKs56AdRxH8fQiihdGm1pgZsnleKNj0Pu1tfHYtBlLFo+fZ5zaoD2GKJW89ovuwUwrQcgeB79ERIrwUOuRlUUFbePaLNmstltgpfqKeVIhCqIYcerg7Vb86NL3MYbWBDXm9pOVeHEPV5MUI5wgXp4xxdRUU/t0Zev9EilgfOxRaNXyBw3f95bZYeXIxeam7/4DCoWqqNVqElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwd1D2GZ4FRw9KE1YmE/lDI/DsPbs9bMyugimPYqjfawI1LJVp86532AoKAhE7rH3zdy+ZwuNftHICygQ9M9w2BQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA2YfbPjzhFTnNtyQan50XnwwlnlU6sXve4WbAcf8p7raMxVY4ob62z7kH6eJemDB4GcPDpgyQrjhoxOkm/0ruKAazSX/O9FhyQFpu4P4paJKMyFKd2CIXE+Nbb/iuV5EWDQVa3PsCht1cvDVktv+74a5piWfbCPNtk7EELHDRR5QV99Qd6cAM9S1DDEbtxGKk8mSaDZFQdjI4iEHrrWFP+QH2yqhsXor8AF5KVAr6DTKn9QNRhg0fEQkY/hJBmgfyiE4Ndz5uD8vzKYShRYZD9tYJkNpkc06gidFhM9kD2ItotxFqPbpE8UyQWLnFNbyrQ0Rff18cFE/Ptb2Yaz2L0oCs+0YTtWKtONgTxaxNfiBDmgo1W+ZVsjloiJvHrdJKOPyczT2j0U66MXft2AWl1nA9ru7i0xCRexdUQhoYfD4otgFmtwwjxpPd0CEtMfVWduJkYfgj0nCo8aPE0f6jvnRjVWL9oZLtlQXqEoOhTT16gy7cfGh+wX8c9Of7uCNLZMQEY8qUjBWg3tMQ5yso+WM8SxRN0bFLOgUoy/5ODDaX3TfCRjVxpq2RQjzuhbFXp/di/h2yG7CRtet9o1znZU5fbjnS+PmJe+GL9USLhgMakfv8tCLXaklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwlK3TDNoUrlGVcZ35Xx+R4NqrIHlnwZ8LG+p/TcU3v52svVGqcg+vszR48MxMUcEG0Bl4TZ5+lo85XxftN1SuBg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "F4374CC9ACBE95C67AC9AA1DDC9C21371E378E86E3682C0A6C720C6E07A402D6", + "previousBlockHash": "E2127824E4C0D9FD13C1F541E8E2BA4175A96C6AEA510B30E2E9EBC421B26790", "noteCommitment": { "type": "Buffer", - "data": "base64:rAvNPKRfvdM9I4A3ZNJ+Nm5ewrzHMOLc11F4yPCGjzA=" + "data": "base64:d/A6/LGP1+djMd7xU1HA1BuawWyeWvKm0us8EJ2n+TU=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:6+TiVqScAsdR5HKePcGg0nTck4eb+HHDaKWziL9RGyE=" + "data": "base64:8h8doa7Ai/Yarvft8m3lpdRc4jwNUm7O7eoU+PehsfA=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243749594, + "timestamp": 1698950314143, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -4193,21 +3846,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAJaMN3QLb8oEXaztnF6ZiH3pjTB+ZBMmuQYJFQnKSBZCj7pnmXccy1JoqmlnXMblkjiEePk1Vl51v2b+kKH5PPJfMZMSQdprpLhz5XXHM9puZWSqYVH1U3GjzFruF3UEfk10o5qFkCljcX/6vB5XrZ3oId2l/y+wBucucYz7dYOwRYr3pBJpwuw1fxpeD0Pq7Cq95Hsp9HfE7DkN5pU0CJUCyvUzB1HkPfhMpxqJxE8itLwwvukvQyal/QXxqnWcT3hvj4xVUOcb0rUc+ZJQ9vGUaA7+gZjlqBdOnJjY+l7Z8kxR7pAKOWunkruCjlBwm3zsohGjR3XojcuUqwreJNI6v4Jtv7vlcqO8i7LdhZlW0zAIyzCv6cxV2/88/WvxtOJ3inxejOpdQM2GY+mhkf9o4e0xUZiYaVDWlySff0aGE/LrSKHlgCIPcenzdhv1PRm3dqerrKm3u0K2quCrssTnjGjV+gs12hrgYTDLGvcLIb7nNHYpG3QV3K2C/HXjuW3BULS7ZGrlq/PmxD7hEVVhhH+Vtcopf9GIY74n0rdL2YR8pxAIKoGhJKiEdSRV9+pLt7rE7lOPXxzHb+FVGfK8AUPS9Ug0+bar+6rSNW8wQDvZBh4JkFklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwu9dyxWBq06I3Ft+VzzzsEAd2q6VX37FGmrWtSMX8MlVn3puMJzLv4uZLChgqQbCY2W5loVh2TEhVlbiwdnuPCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAO+9J0gyihZHwezyEp0fo9tpNlPE2G/EvtLeOMNJZI2ipIN0yuFdWmkkrSHPhwaYLlZdUVKwdSF22LlRx2Jko6+35U6AWzXKkpeKCu8pGdpKgzWQiuw912u0f+po989KGlO4EF1Og0nWm4MAe1+xyPWz2uZ8/t+OQsGQhqGR3TesU1JWzF4h0U6cdHHO/T2vDPVYwM1Y8NqeC7dHv+REhyeMNKnCSqw7cOto6eZRyTn+iWTzSsnZd02tjpdE9PrB23VPQaQD/n10RU3bsuJAAXGFSX4ugNDJcfe/xJtqJ/tYVkbX4l2U1JXbhCejjDyfbXmZmp+Ndcv1qPAL4bcywhco9JgBS5T4Fot+TeF2lSEpGRaT0XA/QheEuGgkHGyAKefuYopDq2ebbrdGJoKd7nPC6CRVaeLOQGoKMAZCsMJwcjwSYAfJuamGXpyyGvT/37Tj7Q32UG1ZQhz6Sl0WvFAVVBA1Z8u44kaNsZMoQvJVubhle00klM4AIqCN5RHu3Uuc2xB0AoVSWRYsz95JxyAkfXZr6ZR8+4rmBo6+fJGYhDxjMQaK3nDCXnqTT4MsNEEMpsNoZN+0OnluG5yY0klfKk7FLpzq6UE7gCFZy8aY+JREZsJ1gM0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbiu7tvRBZNQVVasKWFQ46msJFypCfNyCSfE5q+TO5wMnC6iZaNw0hGGc4gQqdRBhkOvO3D+2k25YvWJnGyshDg==" } ] } ], - "Accounts connectBlock should not connect blocks more than one block ahead of the account head": [ + "Wallet connectBlock should not connect blocks more than one block ahead of the account head": [ { "version": 2, - "id": "f33d8ffc-346a-4814-8673-08a7992ae600", + "id": "f6e173c0-4dee-47d2-87b4-78c98cdd8ad4", "name": "a", - "spendingKey": "410b12aa0c309ea999f8b566695beb74b877328822b2b7f44de146876bebc4c5", - "viewKey": "d2054184053aa7b410485518ac1f3f7b4932621e912f821fea57ac6dc7441dc9ba7c0366dd7bf90951d14dee014e3f4c0a5859e9363a2b56650fe81cd701803e", - "incomingViewKey": "754fe3ec3a09c78077cdc656a2eb5e0e19d956de4ad00bbf5adacf12351d3706", - "outgoingViewKey": "7404c8f468cbbce165e266ce2ae8b67a9cdb7011032a07e5c3c0b37be47285d3", - "publicAddress": "8f6ecfdc707353f8fd5df0048ae9c5ddccd536ff7d7282699878d6101128f0c7", + "spendingKey": "8e0b557b191d61fefc427460f8c5a41c0775d02844502e17d00eb77b9fdb27cb", + "viewKey": "58310f292cc7a740f87fb9124801dc11eaffc2286485e8a711d2a2152c91836f9863993c726dbb8a9e79e8894159d74817e15e509a7ff6844bd996acd9a89b81", + "incomingViewKey": "5e8715fbf59c9fbd5a01857f4e3362f1ec2413ebdf18e375e1591acce04e6e06", + "outgoingViewKey": "dd70c89cd58b472b755c914868693aab434e001df03f03b0fe61643176b1e7ec", + "publicAddress": "e7fa02474059b07eb725f63ccf03129195ec7c7113d44275aab0555e27021ac6", "createdAt": { "hash": { "type": "Buffer", @@ -4222,15 +3875,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:PqiQ4xGSsuqosUTonhw5UF4SueibQ3kexlhroQjveSQ=" + "data": "base64:UuaoZeGQoCOriJxb0QwC3GCLDDytxu3e5DNAmS2xMx4=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:ABLb7NjITytISg0G6dh1HH91pcl/KurLvKRfHBoyq8Y=" + "data": "base64:yHX8Slx3fFf4f1LKvyceMvSPlGCDRkTYTBmqMNStnls=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243750006, + "timestamp": 1698950314630, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4238,25 +3891,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAyOLcplKCxcT+qawd1S0/HHZ0kQjVD3wleiE9jRJUe22LkjGlnAWHPRjI1Jo+ebDmoW4wtkYc81Nh09h8cjALM7Zp/xvBX9LpIjY8YjWNrBSAfdNyfhuGRL6HZNZhOZGNBWELAdRO1CwZDimfRls6kV3kALkaU7e4IPydR74ctdwWY+Z6Ig6I5ZjCdTnwoTJFnwr8DzINAUMdXJfpyOGgphOJViPkU1y648JD9eKl0zuMyb8AR1hMPpGMzjRv6UJNOyBRJ5bItCqS1RSjsH+7EUROZTbr9o4s4JYkAZgatrr5JijO6uEBsBW3YjUFwoLkNiO8vb5xelV2UrQo0CjDROXq62p47EXWDly16RWYTCHu0cqRpWCrc/6Vr3XSfRhLcaQJOZnPQqBM8v8QoufvzixVLQjPSwJUkuJk8oH+sQGkyplf9HraGG9ORf4+3UVHuuBRk9+/mcSyNDfOHFTKjX/BI8s2bQve7borLd3Xnz+USio50Q88diPf3qDkiw2Fliadz20/ra9fZLOvbvzhCbvid4kkpaCLmJe3iI+iIWjP4PSlS3tJSCtIkju1ZWRZH895t4dLDGMxE09MqtwklY1PxT+fwk3YnaPJPlXU9fzv6TTQ83bQGElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYgY1cHknXO+yDkblizNhWqjnFZrV+HbabItVXX+4j07kXYunGPGHlF0cmLcMrsGnUOWOzH1RyBe8CA9/mybXAg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAIDHLYIstBqsqOcZhTUB8LYoxa9xg2PIOLl2iyrR+OaaSVeGgZZiKcKqLD4OV8SyKN7YaWKxOg+NRDSYvcnS54gz4DaRgG+UfpNHhq2EaW4GoNs8U9Ya7OmAAsIq/9gLDHMbmYMJ3zDA6tXq1nQAas6hn9pcSDca0LGi/5xJ+tqsVcmESGxGUAmcfjUMyGrVbf236m1WfH6pxoY1I1TkbuIcrBdkLQbK+BdaShlTDaxy2aPvqM/tuJ0GipguRTkyvEy+CTcaoZL6k0WNAv8QSKPRkI06bCZy1e6WWtBk2ERmH8ZvornXcY1didBlFV/YDacGaOCTvrty8AVqjvZm7OC6hoGrHVquG8wWpD7XYNQNpjwSrthqTzj0D8LdXnPtaEE7B/sygKeGVgz/pZWFi8B0Z62C8i6Bh9F6nWW+ix5jVrfSAjsl3qa08p0+X5FqJKROCz6cnmisFMEglnuUuwY9DyZ6mz7BStdjLQGSH9B2F7xpjG8ayBUFmg6N5sngHY3TIon8F4wHkcjzVgKUoNEucKslMVr+JWKZexyjNP0JB0X/ZNG552aKHjFjnb/OCpAUUkdwAcK5wFQ3dp2GStFcdBhJNqib5vbaFOB4Dqoi41sieOPML20lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwvUBXICSqaV1rDmSvNes0UpyHiabONUUk6C6uTcYz31Z0tvRhnFFvMMFDb65Md4ytPWruuqsMhA9XzJ6nvdvUDA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "3364FD145A4B4238A9BC8209636B89C52E92FFB7F3FAB8F7B8A61637593D51CF", + "previousBlockHash": "A391B30AA9A28DDA7F9A83DBE35ABBDD5A0ACD47B69C36150E2F1494AB913683", "noteCommitment": { "type": "Buffer", - "data": "base64:fBl0YmT8LOQVrJWOgVq4xd+zp7sPHldwIRIKMIWgKAA=" + "data": "base64:UyL5CRqIiiolO4LKJ4bHju57nT+thJtnNePrVfWj8zY=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:ryhv+JUkTfYehcmXQRZXZFuXS+RJmq/9TP8i31Daroc=" + "data": "base64:n8gstwJkYsvqN3ax7D4rc1K/68yJUgu2Vv5SyjXoArc=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243750281, + "timestamp": 1698950314918, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -4264,25 +3917,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAqvOA3bYjs0ykpvOs62RHjJKDOmIxQ8YKWlsJMd4+2bCKK70jBBTAhTRKugLEvZFPOVupFj8iApzPvFF0dk/bd/GGG84DT0Sb85SihLqoVlC3pZPl0YWyG3RMfr/dIDL8+eFzVvKxcEPnDcjo/DdijdlsuERxKXRhD1M+yU7piuQKIDyzwBX6WkBdbZhicOQteEDSOla0XTuj5Bh8Iscel+i9er42EtulyqAB6uOHhRiE5AOS5LZy/HiZpZUcKGwTOxDKofqnKb8pIcqNh7OXyj3TP6+jZ+aV/Jp0vBDswXJ99do/X/HEe+4aNx3Aekb7jKrMEQkj9jG7cPBI/XRvw9Y5GlLK+RLPqLNHVkTDYmBhODgFD7eztfLOlW123Bxk4GMYg7sxU+gbcu4JDKtEJZBZ9xg1cSou0u+a6dzKHEZb/9Jc+Pfn5swDIQz9ryQLn8vC5ATwdLO3eEVAff+TZNDXxhUNdYMYaK3Re27qSs25O9ZMDUI0b5mA6w/T5Dy3jhn5xBDs8sxNaiWJY0ZdWoFtX6hdxEmUc6pn0EUuZ+eTFGtvz/WNnj+euqj11MPkh8J8FEpUKCYoKEue4Qc47DhZhLKgr6iAwcLzLjV1J3bStnoJDdSW8klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwkl9YxpevI2c0AQfy5vrWNlkiSIAFArzoLO5HOaQGXooErCa0RGbh5grCxdJ1AUJc8KHKxau3TOuX+OCp4KjQCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAGLAd6MdGyGfkGQtO6XUlqpl9Aw/7W+LmCmQ8/mEv/LuTkaWGhdA77Tez3YDTCiMWkAfnSs0aMe2FG4Yl8IziMdxH/BMzWdDS24Ian5p0bySD2ZqN1G5P6LnnndmwxTIeWx4WakaG6tPD9i9uu9YBbMVZeNj2Ihn+jBge08QBqD4RACKfSJvYhsECpCnc+vE3yzgC7sGRbtE1HArLxL9jlitO8GZSHXT+SnKkeI9h3bq5HauKPByOGhkJVmacEMfLdHackV7pICRSfVBmkoOn/yOe9OKOk/elyNwMOw18t/TFYdJdk6o2W8ITk5G9FzMt0BUb1mN69zN/NyU5bW7FM2ge334DU/mAGw6Sgv6/v+ue8SIAERCAbJuofWx/+Y1bfZ7RgZHJ2QJZF/67cvCKxlodqAllYM76G2L4HwfoXM4/P3Mn2RinRMPAmiF717Y375uW6EQUst2Ka7Tznc3JHE+H+xFR6mdNbHKJJg5pqkj5vRq58VTahTs0rTNFWAAhb4qNS05o0dJQRyCJdgzJV6X5VajiCAT0wGgxwroOQrwYLz9w4noVvhWDSOD8EmPacsiM+5SvY8eGNcPsbO4TiXkZEE2C9feJja7PJn7eY/X+2w58XtTQI0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw6N69MIZi98wPxCBqsqftw2sQyCMQ1hFPb4XzH12R1Ga86U5lbKyq2w+oG6Hs3UipOyGOcphkt7at4wTpn2iKAg==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "C5CF20D9D4F989A7B571C018C92661E65CF2F8F2CBB8E0F853CE2C0F0CD1EC50", + "previousBlockHash": "4020DF65AF6218F783F175369C6CD8416F4B4E1C385ECDD81A614DE249CDB7F1", "noteCommitment": { "type": "Buffer", - "data": "base64:Unezh0ON8r6LRoYWEA1nswhgPyVjjurzY/TFxotgPAM=" + "data": "base64:4MtCE+rskYncxuDY+JvPNpNpypSSUisVVb8JJ5kej18=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Ou8skkpmqekfI9kZ67A1bIbsPRRrSDHi4uuKQoo/D8Q=" + "data": "base64:yTgAyG6Qt9aSGjSuIHkQExr4pYaReveomYg0ieK/ggA=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243750554, + "timestamp": 1698950315204, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -4290,21 +3943,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAGdVMLCq2R0XNsrkP8x+52SF4mq0rzJHaYrtfP4i1byWT22can+IGkv02vRTtAp6qIxQjT4TifWR/7e7cAVR6+QFWcc9WTw5Scu+YuwY3su6kZUeUDX2CWgmwrzBFcsVSuppksjmGfRlcv9DnBgOe2y6VFno1I6o4PciKn5VVrC8FlXrj8bqU5wsJw9FfeJf8fEKWdRJ28ytVvsBRIkVPu8jyhzHSYjY4sN2r7A5LNdWNYwKXbXOBYWnWOHBqkeAWXK+bupV5H9PB77v6ns22KK03PxmB/SPmeUhLjnUwYu7lEBjVY0mmrjegCWa0JjJEc8tFqhSJUL6JmL5SzLvK1H5ajdsI7gBdv0YLhMv4XGJYiVTS04r8AsWtSVOyIiRnVq6KFJXv9pvh/ylvc+IlmBl7DVffErDap05bC2jUncc6vvYCDHCgvUprsAsExatDO0mgdAcn+pp3oFBC5TRn1AK9XT+aBAl6kbzx35UtteGlqREU6vAIQYYT0sEuCZnbiRxQDZjRA7BxO0jiAn19/4hJDgdDejbMN2HHr6IBVFr8KarWtzI+9fif8V1BoO0/tZEhqsKsY8qBd8JYR6n2bUHS1nrPWmVqPNpgX8taCnThm4FI6cu+J0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwoVEYmuIRgrE+ITIShfIAKB+51UR7uty00ZOODeoXpl+bwSjGGSyb/Cj6ht5yvZNiTuZQV5tvfP0PODzF4gNGDg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA7//EEZ5QZEY++lBT6FOhccccp50h9I0oh0oIQbQcarmBd5aECiotYtW4JTnr27r0Mji19z22Qd7p7S7REG8m2CoUZDK/51T/w0zeip7aGv+DLFyvKSgSUEwlLYYYrvBMy/r3fktJWT1G70itkYwu5I6qvv+hlLmySdyd6GIbuEwTy48jI94742eCOF00/Fzx8ytIDC1JpoovyPJLFz6LaJkE0sF+oBAe7qXNDoaxS3umP+yuO6UG0p/wtbMqhYtWLsK8OK8TGC3wuFGPxiYbPuYYgOCrjS1Ns7WhbpnqmIdXqY/qLCm+Hg3nkvcAmjCIjtEv+lYe6bIgOIcPhrUxZtYdmlANBpdwQKoxVf965rcwSz/jrDnJK4s4PXkOKCld40Kb1RZvShntHCnaEfgkr1tktantDzlC44PZH7nTXAKyfQ0tHgiuLXmcfw92owz1E3srZbqikC5Qruwd7dsKTpl3kCPJmF7Kv/2inMNs6IZz2SQpqhT38xFncMGk9Rz9htIjkc5kxwnt+4YvPzkefrJaHA2BJORF4/dTHljOYKFYb2DLzcpIabt9M7L77UqZ9voOMkQuxEOELzmzs3+qkn47EjMvIR0+v03MglXh2XvYs9/6oW7nw0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwHHxAtocWvaEZ1VefZoF5LlJF57FA67kY0v6D8fJd5o0kQkL23INyl1Gt2ub1tT5tq/nsgRRjiJiJic5E+pQaBQ==" } ] } ], - "Accounts connectBlock should update balance hash and sequence for each block": [ + "Wallet connectBlock should update balance hash and sequence for each block": [ { "version": 2, - "id": "2699fbc2-402f-434b-98ff-420b10f1c5e0", + "id": "5134e2e2-2558-417d-93e4-68661f55f493", "name": "a", - "spendingKey": "56e5deb1e919b15bc735efe67c9ad08455c4a7be74bf4f017c3d53c45a3a68f6", - "viewKey": "d46a829221b26951f88657b89fcddf9def1fa4d1201b1f6c190f418b415ff60f79f201ba523eb414891f11fe065734c03aa9e392266fbf505ac633ee876e5e0c", - "incomingViewKey": "54485106dca8bdf455548c3dfe37b207b4a29fcb43ab027cdbbc75f02a83e404", - "outgoingViewKey": "981ffde4146cd898aa1df7e9613029bfe4fcb9a999cef95e0771b11f6e937234", - "publicAddress": "523eadefc7f8c487649d7638c345d9b997dc1f500e3905b3110d834e2fbfe9ee", + "spendingKey": "2dba0d2613d9d23d182669beecca90bdcaa80c36f309320c10dde6d1cde0b36d", + "viewKey": "9ea893fbefe0e0ec2a7f06358ebd0860ae3ad9a37ec78de6710687b7bc78e03f7d80d524a1e0ad1e55590612756a18dd1d3c88fd1b5b18c2f59e0841c120e86a", + "incomingViewKey": "e2773deb598855cffbb216599b53c9128f2724126c52ea9d5c107cefc8f71c01", + "outgoingViewKey": "3be1ca40bf070b8119c69761cb404540923b1a413afe7a16aebb921c7285163e", + "publicAddress": "76d85f54bcb4cc92019c9e1ab2f7e7acf89c05fe0b6683ae58ddd5a0ec18c22b", "createdAt": { "hash": { "type": "Buffer", @@ -4315,13 +3968,13 @@ }, { "version": 2, - "id": "6d723fdb-a3e4-432c-8ac8-57be5603ab56", + "id": "4f563b92-66ec-4e17-876e-9383e0918189", "name": "b", - "spendingKey": "490bee71f3f39f47d33d49279494c9194f224f57e2aafbf32855710188b909dd", - "viewKey": "aad7c5c549abb379ff37fe952e1c73cbe37bf0e8da327e488d61c377491f6fd13b0739bd8bdc356d42ecd64baff1f263cfd279fc0f5288900a068beb6076c901", - "incomingViewKey": "e626e14501a1081939a99e9bd1a18d7524f2556b288e09de41033121d5cacc04", - "outgoingViewKey": "4cbb0ce9d55d2d535b792dcc12bf2516d550a7228e49876cf9d28ed4678d29d5", - "publicAddress": "7cba178ab89e2dddb7e1996edf1e78f4e32fd6032dab28adbcb359113348c6c6", + "spendingKey": "b4072c31dba37b69ad2cbf7bf13a8b978ed946ee3fda9a3abc500a4deddcdb5c", + "viewKey": "97951010b69b309907254338a186c266e902b49f19752cd952b0ec9145008c4f8cf498ce1f19df624be119e48b0ffedf6a74f17e7208eed56b40fc142c5f318d", + "incomingViewKey": "898096e4748100aef3de0019119a940919c6ac184d4295547d577b7d52435903", + "outgoingViewKey": "c2c773052fc63f3883b4adbe1d479764bdc4840bc085e92699dc637ca6c0663c", + "publicAddress": "2aa6aa2e76930b898bebab92a70e250775bef10564ee2a839c92482f5504c40f", "createdAt": { "hash": { "type": "Buffer", @@ -4336,15 +3989,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:+hovP57mj8xH0nKIqb0jvXlzsZ4FkN6HKX8DdZdiQ0g=" + "data": "base64:2PMno74k5EySHbRiTNxwJ+9+XA9nwckWmpoCkEMUzWs=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:cQkjKNQbXNclj/Xj7TqGuih0Q7VP7cTBRB9Zbd5uiA4=" + "data": "base64:I5II3unjMu0aEv6RIKxvYM0PRg6d8T8CdnluWgOWbTk=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243750972, + "timestamp": 1698950315613, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4352,25 +4005,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAmnWo1sz/fSTMTM2SbQ1QhWshAVS8pDeN0YvwMpeKLOqs+yi+5OdKDiQwbiYl19hyJLMK3P5Io7GZZezkZbRdTAIF1CgaUdLbEkKD3mbFak2NLQoBVgewAL7qZtiONJTYA9wOrTHb+HfDtVx2pyrzmARMEjPIKbYjk4wOos5Qb/IQbCOfyKhXTEeVypx1lWAtRykTzIZSqihJJKrFboWFhxgO3Pf3sUSVG88ni0IN1i2RxMvAaZLnYjfouQikpu3JPwChmBRPrlj4GSuWKGO98Nxd1YvbSO/o6+3XISmcUQ4ZCPND1HsuBTkAfwo53qcbUXTxdwzXLCqXNgA6MjDR4vT4QHruIZLuzXUlfMTICNyXzuWClOpqu65GXIa2HARHjMwcYSyFn7kmwMFLxuTi91ZP1IC9+upwueFHDzkHyqHzadyLc8+ucBKJx03u8kR47Akf0O7CJ3Cm6n9n+xcTIbB+QPHJSkbI/lN1yfmNj1C/NJThpf9OEBmDmwGLvGJLwQeTk/NOTObDaKb782+CWCRsPxWIDNFAr0Nu3RLhaezpfo/PuHX35FQU4sNF4RnDdNsVRDKoz1AC2tziKdKWINlEhehsrRdZJ35Tx3Y+Vwu+TGYhQOGX70lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKmu6/gp0kTFEPi75C2Fz13/FCBDdPgz+tRNoZCL7y5MLIzkw3/0J6x733GnJsIjntTrlZrslYRgATPAYiMHeCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAaVs8rf8po1Tgw9Qi8SMiRupxWbNxA4MQzwtl2E2L1b+qE9+GjvxciAUcKY3RchJ+1zjq55RLMslFWqYzhFVWChb677as4N2aACBaj5u08W2FLq6gLjzpghpAfAvfDczoabrs/7GNf0banzU5qzdiu67NKsxisShaZp94+zmW1ssQ1KaIOvzdtlbRqaRCcK9nocwRUWfWGuWfTeyaOV/2lBZ7A6GYCGjHVtjbcQQKqyCMGI4AB8KQH52Dje+k4URbZH+ljcbsZssvcNGV+26SF6/wVGnQoMZAIKjhlcOp5VBxo9vjrHSYWRgW6ICTluXzh3RbI1fmIfVWhbtZsCJh4EOzpqzSOs+gy9ZPQjnoYLNOReEvrnVs/CoN8PzCfeNTcZNlu1wwkKQmuSXIanIYDH2WV7Rr81SQr9ZIeffKW2QizZ4noo/ebZMdb6Dep1fA/uzsNhQQFDheORJZPRQ48PfyEyjrjpRDrLhroHIc84iV3sbAeSTnTvU7pLK/IX32B5etJp8pVgssca3Qr8ZVLMVD7Pk5DMkfSoFIBdOs7Dpm2kDGGu31eciXom8ws0E9kReEDCctHoTDkDNVB8o/wywwZoC3a++4BhguU2ShrlV8iQC1xw8uPElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJhqLBPw0i1uBEgcnke7S6OF8CuQNoPRl8Ty7ooViGT6k90tZYscRybntdzi62OGuF1CU5bIh9CBbhW4lltyGAg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "20CC36792AA4DEBF3BE86249DECFD3076D2597F027E9F765F25796972CF3EB3F", + "previousBlockHash": "F843BD744E6C392124FF52D86F077FB3C3B9E18699FA4D097E79F2A5E4E20152", "noteCommitment": { "type": "Buffer", - "data": "base64:/Tg44O/cPPYEudae6r6FT6RI0mS4ax31d29GdF8Q2Ds=" + "data": "base64:4UPG9pHvjS/Cjc+WihvaR2fbbk1Rmuc6DgqeVpXGGlg=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:oJyAtLGbEzHU+fGuOPA9XXq0Ol5iyHIX5eXuKCyZSxA=" + "data": "base64:Q/CX7+FTeJH/CVLcAbohEDFllvAQ5hzm37ufjC3oQLw=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243751255, + "timestamp": 1698950315942, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -4378,21 +4031,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAoooYaYjgBncfJENDYvE0oCYEmb3qW5V92eFINVM6+R2DqVrICObFaK5iZCAw83WNW3K8pUFC/fnqg0OgnZ6JIkuA/IKmaMnnZHaHKf20fHKReUvL+clOEvhi9YYTxvnR5eoQFgAYVNuuw9UajmM5QWezsCNnpbXaLdPKErTjc9IR0V8p4Xq3TF9ZdTjXWDj+XATAnV6whv+D132Q+Ov+HFzg3p5G/056VsQBLCgFNbm0KsGD6LWBhPuRcuW2mF9QYm6GBEA23CTD9DzfORo0X5TA+xekmn5XZSdfhhGB5r/D9rQWwAsb4prgWg7HCzS9BRG03rTlN4akp/cuOxPiYS4lEUsxek8YEBLhsVobbbagiAyzH0GKwsmttRM39qIEanc+yhzWNEWPGcVZB0VWq5QGzzv2mNGfbCgyXgEG7nEKSQlvqRcQjuzc42HHIe6on9agsVvZmrmXwaYllCv/si/LTP+EvBrMp0Gj6HfpAXvuEvFhH8HD81ic/D40erWJpX2Bd7Lmq9CuCp77Tzp7d5jjJ/PMt2QTq3stdoWCbQ9csy0nbOBrO72jXdIuHlGXXDwWp8S5CRUOv7wHRwJvWOfeXSt+hqxqT0piTIJ/nOaDYP3/sEWZvElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwF6L6RCPJ9kWPgYKg5ZqbbbtqVlw/DDu7uDsgjoTROpB7EYMRFZZ+2P86Q6eOKICIDzg7NF8dOHXsmzEpxVM9Bw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAVroYx6iMKuFvoe9/eofCgV25nO9qbaMJRkj/6umoHeOL7WugVoVSWrQex7GWWya3Y30KUFtXPD88b0OdL27wEDKtbfz+dFeASq+L1wsGHxqJyUXYYIbqe5RcK6MJoqj5V4QIIWPkNjZSxWTWwp+WeHdyFc6yO37+Qm0JyT2P22YDlQ2iaKPSDbv1RNB3LwhynKk+rtzDimosS6INRCtmPrGGdMixAFnNl880KHKm44KPcmyASHFe4XitIn3v+sdOK/Qzsu4ZJLiLVrnzidj2lVQukgQBT0EdIZSv4gCflWV0qpsTFFnd8ap5LVKepiHih78DsAfB+AYgoAVfm1rK0C7VjLSEwd3oOKH9i+81z9HN4y4LX0peQpQ88a0VeF5dknbKxf7qiCKiKfkySlhvcGyxUrhBEs92V7L8qQ0X4+PJTCRReKfzjYoTiY5BV42kyW5892soSRPQpaPMccVpYhnhrX7vCLgAE6RSwdHjzmtMQ1E8nTnhHdEW98fnRxzp2B/W4Hp1XxKcBA2UWgDKR92GYZknS4hfO8B+daGxh4ZwAWDSrU2Cr2WQYyQDwOkqx8I7wgNUvWulyx0k5Ubl9ZUrCdTDOEE/UQmVo9vzw4JlHXMHbuhepklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw2MlpHxpbinyu4FIXiI/iHrU9d6zRnEhSwvKzy2LvM2kz+rsfPxxEHns72WnCHVCPRgfYyj/VTEFxqwZR4D//BQ==" } ] } ], - "Accounts connectBlock should update balance hash and sequence for each asset in each block": [ + "Wallet connectBlock should update balance hash and sequence for each asset in each block": [ { "version": 2, - "id": "534b51bf-995e-4f1b-a4fd-bdb9eb2c36e2", + "id": "b7d7eb34-5a50-4124-92fc-83b242e5a7be", "name": "a", - "spendingKey": "c07ab0c6503aaaf88c256b039960e4e5c81565675ab6a381efc141516cce7ba8", - "viewKey": "2d8ce223d1f80d24e3e285f9dc380374b7d4ce2052b1d07602692c9912fb96bb2d0011c81fbec823a1b1f00641ef0190da19594b99c907973795eb8237d22c11", - "incomingViewKey": "9a2e46f808b85f1a07ef9099ec7ebc4efe57f943a0aa17e4512fa7a93099f206", - "outgoingViewKey": "b1fe930f18be9ecd4a277accf367c84c8e4ee80862c47ffe2484c07d21110b79", - "publicAddress": "49275ad575cce3d0bda4fa3c2e347578dbeee1c0b232548f3f3027b14e3fbf6e", + "spendingKey": "105dc219359f867d344084edc1432e865ccd3e3525de980c1f0c015ccb2e1f2a", + "viewKey": "9437c1eb4aecc169e5ecff97ba17f3f39dff242f3fb4770f6c10ec69a3619f6f216cbe6c88b79fc9e089da4f319bb494c603397e2feeedec0f8b0859a62150db", + "incomingViewKey": "f91875d110b09860b62b6ef4b4d6b4dd2b9b79a4bc20897250f501ab965bc404", + "outgoingViewKey": "a86c33466b06fc32c8eaba70113e8f178450b4da26b3c2ada6c699a80448a3e4", + "publicAddress": "14df7b5e90dd2a7c71c057f3eafbbe261847675d8f06c581f6b8f6bbe895d2c0", "createdAt": { "hash": { "type": "Buffer", @@ -4407,15 +4060,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:MZ4bSwFf2TQ2uP7QgO3GMgKr50DQhSQm/+HMZaaYrDY=" + "data": "base64:VHbfyg2garlSQI1JRJtb7YsuxQbcURHtVtGUbsNwhk0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:ItireR5VdD/vAHdPjtdm+ndgZ9lX9VcgEJ09rOps+ug=" + "data": "base64:PMeKrp5ql+UIOt/iAIwykdBKGbuCKKZmq2LYxjoSHGM=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243751677, + "timestamp": 1698950316369, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4423,29 +4076,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAt7CzvBZy+R0hdd+g9WoMrcLsj/GKZGIYTJdUH9DW1umF1p2LNL4WQcmkTs0DY0XJbTLiQtFirXTUDiTwl2gvY5BzwAYQ2i9zai9r4thGnB6rTpUpEsyOCC3dEdMPhvrimqbEfHDVoOWC2dgMNsjHZD8Zl0xwhtWk+Ps10q/jxq0SXiv0ydlcerTDBUDd7KA/hyC5/0zZLSBsRNSptO11LHQZ14p76fNZImQOa8VT4dqB5E8L/M6INPQi1ZYEJir+CUx116eTdx5FNwppIJ5FnYkawQxgZ8tGvJ9fTY9U+ANdzzCDuXhTzVVv2BNOIE1UxAe1PXxhousNXkAbyaZB2BlMSHKmjqQIWlDj/pD4AuXfMBNKK+7UyWiwsMVWTXIexejgoZA+b1ZPK4vi/ni1ym4ivvK+yPIP9S2Ue0+377/qjuQFYcSejq19PSVc3XMSWpTJFNHbxZBK5Ze4JjfWkBxyiQpdiE9wEALAWnjiJfcLh8w06PrJ6Lm573x8BLjBxeswD6v8YCzWabjEjBdunEZ6XCNs5B00OYe4OjdLHBkpWTwLfaPxSfbk9/BTPrzJXcOqLokYcqUvQm9Xgyd85cFEjxwV45lbFhIXf+RImFFEqQDFbi2Ot0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw6GthvNIEEcaN5Vw0UMexGdWsKKpernPY64RZRWN3D6Vy69MTNTF3DL+DYVMzr3neoeJWZrlyOngyH5aPCwiKBQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAPY9jMXymL4o30lEiX6/zzQcYglz7WQDhh7JiUc0l+UGWbHtGobPpY/bjZgyX8/uIQ2iV9bJz25yx3W8fES8ca44nfLmtg+dTZumABYVmHr2hp1MlwAGQ/n1uY/aG6d3yBJ7kjkgn+sCcMM9pd60YxDwOvIMfA+aK+9e15PcmJqAO+lpMvejiAr/6g3PgcSq2S/rlXduGEUZgL4X2XId4RTyze6i9xHdYGvHZTveIkzGvCUYkTZ7bz4E85jMfXM/+C/UrQfkBiz5Wj/NgwnEsBR/9nfy+eirc36umI/cTFLaK0iIkVQk+NYCRm2URandHivWl8RE1Y94hV0ozC0Z8qDXwcul4B2wPMridNsi5R7UEKLA7QZdpG4gxQf3IWXVv+mWrF1c0etPifqEUkKv0yCTmDI5CgZXWLmlJxJAvMbpVI4ZoLUJcgVURHvR1Sl64Ja9kAU1lVVQXUWJeHLN/r6jp6EwlcjJVEmw32EPkbHyBEYhe1eoIiK5XoaEfgZvUbSVhUhEzwhcvuOoXmlckpHE9oBhwfUtHzzjxxW0zhq1c5VbCsSAjJiQuqih8vS5y3Gb6d3SboHbji3aS6x2BTKSsh2MYde5vBgrlzYnjxDe/PRibM6jN7Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLT3HiQI38ECYHeZ+N19Q3OS+QtPHmD9Hn+rJsS8x2S3N/cED5oxfH4XiTpC87XTbciH9H137amEo3g/nlH8SBw==" } ] }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMfaxUmyDlmIDaxZcv/3avu+2DCX2EQgXbeEsqyIr+dmW8bcgoUlT1mVonZJIHc4agb6jBhjh1W21ypkpExJmAJy7mciVRpxb14Zm56Up6XOAjPpQndEoPb6RdS7ZmLS5FNSFJbFF8uhpL+gxvHqhldhv4oHFXZ9GX2g9cM8GxKwLYGjDKubXXIoUGtHUexx369yVeFxdZibFsM1geIXy7slesJD/oJ31vtkB/9cnmZOwfJUONYnDvHv6KGpQsCROecgaYMfSGgxtnYT7Dg9aqoLLNCH2FgfUVSR+In9ltM7hdJhGPCy92y7RRjmiHzevrwOBd4RlQV9TQcmxge4XABTL+haa1zP0ykJ+/slbLvaCqanTN/3J++jKscqvxDc5lfi3/XO9c0cDyrNULOgL6swyyGGxrGQMMxt9CGA+rlL4fTGnO8b/9glKbophO1jgpFkUExxBuo+f9RIZ8n7CXaDvaOAfUd3LqIQJp7YcoA7B2LP3ntMwmio15HKWDpWjzDpZYzHcZs9d4A8Vja558YQsrcUiuE5N2eh/JbwLkUYO8RwV/dDW9axvw4sd0dfbfH8Vlp5bjtadvwLU7fWq5XVK1C3HV1JomvlyXyZ1dlL+CU+j2d9KXhWk+CwXOmFzZM3axAScActU6FRZk+Y7AgUGhFPWHihy9fQWcXcOSjDU044QomBuKOCCQuQVjiAMGZTBCxn8Gqqx6ZEKYvdBt0u32GheviVVpaXdqfsM1NWaVK0SDxrM18TF4czKelDKbqn4CmckSpDrfgSvcvTMb+WDgUpJMU5omCQSXWM4wxEOWm+kf30GWShruQRy7rHceSh1IKesPl8LlNPD2hIJbaF/H3ZiOY8UDat8PLksQ6apD90WeTd5a8YVUjmRuKWi3pkcNKmnqwkidzxi4i6Au0dGPEVUFHzKhKoNF/DOv2YUcG/RB+41Pri5mLDzV8FPEmg1cz2euAQHf4S3OtztQ0CMgngv+OCtSSda1XXM49C9pPo8LjR1eNvu4cCyMlSPPzAnsU4/v25mYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMKAAAAAAAAAEknWtV1zOPQvaT6PC40dXjb7uHAsjJUjz8wJ7FOP79uAPmuRXOUlWDk7TxSRoDSeZaiJT8I4erz/SYDGyajrKiuVJqcZGCEGvIkuNfY+lygMUoY+g9V4UEDsV8NETwDbw1TRIX1yZjDg5Z3/3XPTPQeTkNGAp4UlaofwbRTjuOhxgg/cVpHLhn0L/KdfFmdPy8MBHtKmFbvN8R+TqThC1oO" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuXcaF1oqtuLJ/urdpd1qOx0vdKouOC5loKVYX58Rjcq0R+fx6pJP3ov56yGg6tQONtfjks4PBJbUHMdM93Zak10A9e/GVtBKTQD8IpnR+XyLRhk0bJ/t36SwqDeIvcuKRSRUADFopJRpaBQ00sXlyOt1B82mQy+AFwpTjadwLRUMhF9nvwwz2opTwU13fRmzi2+hyS046Z+ywDzMbqcatujKI1IXKTPmGTDy927iRhKJt3BWsyaxIBvnrhP75pDHSd3z3wEOwhFoRWToneMDfWejNNwgwbYW8zbRBLlAiFc0G5GNen3Lr4hsOcnQm0KwBJ9X8byT7KwAqJYWnq5EUpJgSx4zkqsB4TNitp2Xu7W22qpMZg+pE1OK98I3I2wJB69uOFR18aJr0I+hn0J+OtW/oiWr66ktl6s2qnDMBrxFttBBJr+/o/p5AdPl1xxJL+KiuJUIqXLRA+Ol+10u6BG7e8/pfTaTxRoZHG2k1JudfKnTIgq38yBTE/8UZfa7W+wRXDAX5MwNuq2rwf98ivfK2uheE/WinAicoMqw2DjIq+QH2oP993kk0t5SGLnqcHushvTtqYqdH+/a2BAW8Nse2dn9fQa2nI0Wli5shAs2ELhEU5SO1ikhyFbTJPM/ILUoqmta0p+kOztG2H5tFkJ6D6GeQWjdQaxxUxuuDL7pIVmm986diDUJClDGjdTcBmuhXZG/43KsTMlgCKWQHmyIiBckOap7lHfWyfQmNukM/AKx5irE3KtlQ20qbHP5LW8kqFEaWWOBaGAIhi43ADGY7+3K7VdbplnvOsCDnfKorz4Yga6/ApmEbAaPgF4oTs4N4Kl+xXMPAIt9QvVjo/O3Sao2XfniDoAuzCmEcq552WNrF55XiFyqVkcdI3a7KMANOaUIPnC1jIMTw3Wc/Cc+C6fh0B5wr2HurhwvDXb1Gu1lFswVPbfIYGBJ2AHsbWE7FsS+fOnyHx8ORwBLlEStLBXGv1lAFN97XpDdKnxxwFfz6vu+JhhHZ12PBsWB9rj2u+iV0sBmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAABTfe16Q3Sp8ccBX8+r7viYYR2ddjwbFgfa49rvoldLAAKnKLPhW/LkfcypSfGpbkSxN2vzC5WsGW6nKfo/pHh5u6P393AzXnlnM/XcCHhu0WjRjUPqlTr+dwt5DvEwGkAwQ2hZTrDD/Xd0dUoRGuA3dzjK/i46PtWdaZxuEyFJSg0rRebiof3usiO49VWqf+wJy+BGAzeHsiNiG5fRY6/4K" }, { "header": { "sequence": 3, - "previousBlockHash": "8E0A80CFD692C840C371F7E7AD1181E5AB709B063074BFA66F016E5AF472F4E8", + "previousBlockHash": "F589AF7C931DE9C8CD19FEE11C83A422416F6D00845EEC25B242D5C25DB2BE8B", "noteCommitment": { "type": "Buffer", - "data": "base64:RRZtkryNf49l2Xj7jhywKAIIM5r1lSfXl1pt5PvKa1A=" + "data": "base64:TwT1pStbvpGnloq2H1ZJTi3OanIv8vtFgIBAo1l+kGo=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:PxpfLWnGn01q6lgN8qZCaoQqNAMgEVjkN96057ZJM5w=" + "data": "base64:DKLVNx8Vb5ApWPDrNkG/CvtRvyIG0MMKP+YN3AP8c1U=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243752391, + "timestamp": 1698950317203, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -4453,29 +4106,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAl5z3sOSxJ1FYc3KNoVPIm3nxyyMa0yRIb5I9+oYf4ZaGMvkzGmjtSwitJSpHWkflpVaDsMLgq/M4Tcfa/TY/FS4CJEsf75WfRo8BJnkm6PugeCNIpngfhZBE8nmJuLh9MpS9z0lMHCN9RnzFnx7YHo/hsOeXQgxBEjQxdDlCMwkM0dKPvvzydpXLuzlHTqI+Zf46P8EcZN6jVDQhMJoY9/Y0KBkn9sSQNXlKA/sMGkakJBPt0X5ZB7CIxEjV/1nB3Eauh+tpeeY0pAYq2RALJoznwqfSt/WrgH3yJRcwVVn/Moggy581Gny+Q5N/Q6UBDLQFrPNT3phW1ibvyICBQYrxgxmGjK19ygvKgVfGiSw8FTCMozFK7bu4NOI2SXId17q1P2GnKZnVjnufN13Bo+eaElQDhx4DNzWo1gHPZVv1g4vnnDmsTPDzTWnR5giBTfh7yI5+9RAV5wBKK6KbeA4Wv3AHbLxQS2NBCxnhty7rl6tO1KI4v+ABvf96Zef4E63pGEKvBZO7jGt8jiou1jinn7mXwZnMSq4+HuBI5EzlqURw2a79L1SbeNjbeKnRhYvg0UwD3k1QFpFwyQgzyLrSC04nZHXVS/1zO98Hu4GOThIvLFF4Jklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwPpVqXRVOUtzhhfDtDhbVJl2inlKTToKHu07Hh0eUdaSkTZCWMJjdy38xcveZ/nfuthwWXwTKBrF43wPyEBA6Bw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAJ7sjCZz49SQVll+B0SarC3EW3y34rDM0fzTUxvCwIcmz75FJxLmpQmNG93Z0LRSEUwqM3FRRZEfyUfsFQnLgHpNvwlIcTX4fzax0Q+o+S16Nm5Mgs5YV3QVXSQoVqtTavdeiNAyrJI8K2neeCL5qjNeFjHA0gziJdMZcmvSESPEL4+OgnIaID2J3Ir/xBQ43dT1wUzNvFqXtdgBEJOs5je9hwQsbQM4809S5qvKNc3uwLMY7QqTHflJ1ZLvZUrMg69NuwLZp3mcNKepuT0lTx13BP8bwe/YyNHe65R3SgYq/jDYSmSgECPwHT61FR9FDJ/ES45n3j2t+H0UtzTI1brQic0moer8+Il9WN+vDiVj+5lWSDapi82U9gIzSetJL+DjEgWWZggB07SvJyylYYZw7ScYnjCBDawRvcUAaB9m+W7XbTiFH48wS/OZNWYNbVgreKxykAsYFSPDoNwzpZW17uWVEJ/YXiqWufoqJ+w5iLx0VhHPh8jzjKycxiIPIl3XScBjl3vjMlbvR5OzgN/e67qyAXbcBfLe832Rsxm3P0TO1JbGYgArkVIQwUF5WC0eGUyGdPb40PIMvWUoO20RqNb9qJDx9261vwMpKKKI4GCoj7t1dY0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwqxQz5EV4DtVQ0/wPq3UqUrA4uZgRPeZ7DbG0ci0dKrZbx7EEswGWepWs39/MKiOFIpQqCun3m2nhq3ziGGuwCQ==" }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMfaxUmyDlmIDaxZcv/3avu+2DCX2EQgXbeEsqyIr+dmW8bcgoUlT1mVonZJIHc4agb6jBhjh1W21ypkpExJmAJy7mciVRpxb14Zm56Up6XOAjPpQndEoPb6RdS7ZmLS5FNSFJbFF8uhpL+gxvHqhldhv4oHFXZ9GX2g9cM8GxKwLYGjDKubXXIoUGtHUexx369yVeFxdZibFsM1geIXy7slesJD/oJ31vtkB/9cnmZOwfJUONYnDvHv6KGpQsCROecgaYMfSGgxtnYT7Dg9aqoLLNCH2FgfUVSR+In9ltM7hdJhGPCy92y7RRjmiHzevrwOBd4RlQV9TQcmxge4XABTL+haa1zP0ykJ+/slbLvaCqanTN/3J++jKscqvxDc5lfi3/XO9c0cDyrNULOgL6swyyGGxrGQMMxt9CGA+rlL4fTGnO8b/9glKbophO1jgpFkUExxBuo+f9RIZ8n7CXaDvaOAfUd3LqIQJp7YcoA7B2LP3ntMwmio15HKWDpWjzDpZYzHcZs9d4A8Vja558YQsrcUiuE5N2eh/JbwLkUYO8RwV/dDW9axvw4sd0dfbfH8Vlp5bjtadvwLU7fWq5XVK1C3HV1JomvlyXyZ1dlL+CU+j2d9KXhWk+CwXOmFzZM3axAScActU6FRZk+Y7AgUGhFPWHihy9fQWcXcOSjDU044QomBuKOCCQuQVjiAMGZTBCxn8Gqqx6ZEKYvdBt0u32GheviVVpaXdqfsM1NWaVK0SDxrM18TF4czKelDKbqn4CmckSpDrfgSvcvTMb+WDgUpJMU5omCQSXWM4wxEOWm+kf30GWShruQRy7rHceSh1IKesPl8LlNPD2hIJbaF/H3ZiOY8UDat8PLksQ6apD90WeTd5a8YVUjmRuKWi3pkcNKmnqwkidzxi4i6Au0dGPEVUFHzKhKoNF/DOv2YUcG/RB+41Pri5mLDzV8FPEmg1cz2euAQHf4S3OtztQ0CMgngv+OCtSSda1XXM49C9pPo8LjR1eNvu4cCyMlSPPzAnsU4/v25mYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMKAAAAAAAAAEknWtV1zOPQvaT6PC40dXjb7uHAsjJUjz8wJ7FOP79uAPmuRXOUlWDk7TxSRoDSeZaiJT8I4erz/SYDGyajrKiuVJqcZGCEGvIkuNfY+lygMUoY+g9V4UEDsV8NETwDbw1TRIX1yZjDg5Z3/3XPTPQeTkNGAp4UlaofwbRTjuOhxgg/cVpHLhn0L/KdfFmdPy8MBHtKmFbvN8R+TqThC1oO" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuXcaF1oqtuLJ/urdpd1qOx0vdKouOC5loKVYX58Rjcq0R+fx6pJP3ov56yGg6tQONtfjks4PBJbUHMdM93Zak10A9e/GVtBKTQD8IpnR+XyLRhk0bJ/t36SwqDeIvcuKRSRUADFopJRpaBQ00sXlyOt1B82mQy+AFwpTjadwLRUMhF9nvwwz2opTwU13fRmzi2+hyS046Z+ywDzMbqcatujKI1IXKTPmGTDy927iRhKJt3BWsyaxIBvnrhP75pDHSd3z3wEOwhFoRWToneMDfWejNNwgwbYW8zbRBLlAiFc0G5GNen3Lr4hsOcnQm0KwBJ9X8byT7KwAqJYWnq5EUpJgSx4zkqsB4TNitp2Xu7W22qpMZg+pE1OK98I3I2wJB69uOFR18aJr0I+hn0J+OtW/oiWr66ktl6s2qnDMBrxFttBBJr+/o/p5AdPl1xxJL+KiuJUIqXLRA+Ol+10u6BG7e8/pfTaTxRoZHG2k1JudfKnTIgq38yBTE/8UZfa7W+wRXDAX5MwNuq2rwf98ivfK2uheE/WinAicoMqw2DjIq+QH2oP993kk0t5SGLnqcHushvTtqYqdH+/a2BAW8Nse2dn9fQa2nI0Wli5shAs2ELhEU5SO1ikhyFbTJPM/ILUoqmta0p+kOztG2H5tFkJ6D6GeQWjdQaxxUxuuDL7pIVmm986diDUJClDGjdTcBmuhXZG/43KsTMlgCKWQHmyIiBckOap7lHfWyfQmNukM/AKx5irE3KtlQ20qbHP5LW8kqFEaWWOBaGAIhi43ADGY7+3K7VdbplnvOsCDnfKorz4Yga6/ApmEbAaPgF4oTs4N4Kl+xXMPAIt9QvVjo/O3Sao2XfniDoAuzCmEcq552WNrF55XiFyqVkcdI3a7KMANOaUIPnC1jIMTw3Wc/Cc+C6fh0B5wr2HurhwvDXb1Gu1lFswVPbfIYGBJ2AHsbWE7FsS+fOnyHx8ORwBLlEStLBXGv1lAFN97XpDdKnxxwFfz6vu+JhhHZ12PBsWB9rj2u+iV0sBmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAABTfe16Q3Sp8ccBX8+r7viYYR2ddjwbFgfa49rvoldLAAKnKLPhW/LkfcypSfGpbkSxN2vzC5WsGW6nKfo/pHh5u6P393AzXnlnM/XcCHhu0WjRjUPqlTr+dwt5DvEwGkAwQ2hZTrDD/Xd0dUoRGuA3dzjK/i46PtWdaZxuEyFJSg0rRebiof3usiO49VWqf+wJy+BGAzeHsiNiG5fRY6/4K" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "2684836017D2EB0B6273AF4C4E6F9F088BC22C1A047C35614C0185D54863E945", + "previousBlockHash": "90E5F416E0B1BE404B200DC1B35282D83E851B9A24AA38A9239572B23AB16CAD", "noteCommitment": { "type": "Buffer", - "data": "base64:8g19Cwyw1z+qStl/EexyLN2LYoDIYlArGRS+ZytZEU4=" + "data": "base64:GkJ4+13YJO55oZTYPNjw0ebUHDsdbuBgzHu1xwMqaQ0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Yirxpr6YsCd1dcN+DLTB1E1bwModLtKpCiSjHxZ/Y0k=" + "data": "base64:bDkX0/ClQ0l7/5kS+eZk2GbHtzgwQ/7TB5YxldNQZAI=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243752685, + "timestamp": 1698950317515, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -4483,21 +4136,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAqGcTC7PY1nJ/K+j9mp9Uto7WhU50bgYjiavVXB5X5eWX0Zejfnw4pEHFEg31u5pBV3+RwznUMYueTEbU4tU6dR/CPONv3iuu0zuWHJxuscqW6NTEBqMoUg4Wlhe3rD3/xtZrhNuvsRJoKJvMtBLPX7PZn3IG13dN1lMMttBv5uAUxQwx2JwWbDa+pphFRt7wtjD6f+GItW2lV2+jdD/k2nRX29s2EH/gaCC3vQ+Jqn6KaTaw0ebsT7+v9N41066eeqrQhYrv35yMREgzwmZU6G1Fn8HZqBduPV29KnDvybSNK/WG+BKlwWPkJdV61SVri88UguFnD0v0jlz+jl+WChetcXsCaZ9PWO2C0J7IcT19RENmMio/ldtMd2LDnWMBawdICXHRRGuvQ+/LDI2pjX8l1xFGigOqgbHNAMwmCVdkpAdsSoymA2JBef5knFuiSSqf2IJ1pDmCqB7CtjCMsktDYukDe5Gzpxl3VkgnLgpvHKWDYU3ySZmgiVqMg55fkH3EoqF4ZErIJPWd8qYG2TMzSoNSc7/nY3iN/CA6TZL/K11PXbFYHDHEIN4Keq+oIIRakiKAQ8xsJZwHuiIShbSf25NxYLXSEvIxSj/H23nBNbMdB0o0YUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwPW3UVyBwCqZ5EDDCy0u6RQq5MzVbuEqy4mrSYw6hHVnoV7C5CJz9rwtrQ/+5WoNQ/E4mwnc7bNW+4nAE3mroDQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA4/AEXjJFF3ta9IoS44DNmFmeYmkhmTESDVXMopMfTMiuaQ4cyXqvNO9wqVksVk5SYAAIaw9dlV/DoKEEQr9riqa+a6orkEO6Vv6Tf5BHI9+UAErph5ZE4XkhQKWVskvV1NYLEY8BNqHtB+v5fKhnciQUzCmIst9TbR+faERagLYNVMBhemn75K3rBavltBtToTTExM5ZXteCgeIVB77H8304Xtw18ZCmQWzFWLQT5uCmQv07/eoq19AEfZdrl24CoNqINaRhFUVm9olGOYEtEz9bHFvyYSM7WdICR9pIhgPuNAKGZPPRsDMlHoN9dWjx6OiYWU3bWyrqx6EJw3eElnqMrIEIXjoJYgia0acz8/b9YmNMYFaKXhLdQznKjeweadaOLH3ndRAx1ZrPHiIxnSoohB3PuJJdfMBpUZkfv6+SIWaEQEym7V5A13IluzfQg0BgkZqiRUJ0gK5nt3VeTqVRE0vHC/29+n/eud031iws8tqa9siL0cK5orEd8V1Pu19lD863+YxOIBoDC5k3YCDwfyfys+P2kfufa7lpWyqWw1ZFkoueU+MDHX7UzBntJxhwExSBWI2jtNEWEszK58WWxKL+ty2eMrKk+7GU7+NIXja7ccN5VElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRyNoHcWWc2KPv94xs2GJFUZkmNmmF05dZLMsTqsaXJuBqT8AuB/+c5EpEoreG534RoqcuwtB0/eJFMFa17J7Dg==" } ] } ], - "Accounts connectBlock should save assets from the chain the account does not own": [ + "Wallet connectBlock should save assets from the chain the account does not own": [ { "version": 2, - "id": "9c0ea72c-7ce6-4bbf-931c-b15a9d01e6b2", + "id": "9229042e-08b9-4e39-9282-b3ba7a7466e3", "name": "a", - "spendingKey": "0bfd89c2b5299f9007353b7bdb786881a346683e80a0eee257f908de5d259631", - "viewKey": "dc4af9c1379bff439a5a6f6b3eb024639a02983f93c3687b4323988443ef8450c7bd4c8f303c8c77c2b088cb76d517dbaeb907854b0ace53cb3625e92c5d8232", - "incomingViewKey": "09a48e96cd2e1a72a7154499e49b134b19156c056935eac398af59120aaba804", - "outgoingViewKey": "2029e5d36296266d2a7cd85fc3b353f2748e3848defc0721380cd7af7edbe3ec", - "publicAddress": "23cae3f6bb2936840c9648b3fee9e9d356fdbd80728cc75e2d90945fe1f1a4db", + "spendingKey": "f90fc90f22f02d24144a4da55ed7655b90c2378d633035deca5a4d56d7cc773f", + "viewKey": "e744bb1e581f9c6e8cf5e3ec8abf4ae0379d7cf29020a4b739056947cea478121469b229e792a3f2b9b5ed11d946d56f6ada18df3d744ecc515633e5d1c35f4f", + "incomingViewKey": "ee739470ba2199608fd8d2b80445b1d17a623d43399740b74b3e6f9f977fe700", + "outgoingViewKey": "272a285a1e4b1025638e9fcee7907fbc7a808be9e70d2f39eed3a2f4b5d622ef", + "publicAddress": "0acf1d258f7eae7cff51418e3ae1cdea289bd80513ac3e2917a03b828011d3cf", "createdAt": { "hash": { "type": "Buffer", @@ -4508,13 +4161,13 @@ }, { "version": 2, - "id": "a485401d-2b0c-4090-997b-6e7fda1db08f", + "id": "0ba1f4c0-ab08-4bbc-8600-00ca7be7977c", "name": "b", - "spendingKey": "2be17d930455078b06932289185810cfd48e7d8cbf022afa29725ebd63af13d5", - "viewKey": "98a5088751fd94fb1b30104bdee4d531026735e7c2d4a6578666e52eaf436a5d312e98d558031fa89f5e317c0d66984a3e0091443cb17f38fe83a736fd1ca1c6", - "incomingViewKey": "f7905ee846fcd55822b18266b1e88e64845bd83459085a568607a5c62a433107", - "outgoingViewKey": "30abe6b65664e31beacc53cca80d55e5caed77ec5731fcc9de3610c0b402186f", - "publicAddress": "3270e3e56a7b3898983abaa0af6aa9d11e4625c35833c9d877d3d97f8a0ab252", + "spendingKey": "adb74e855cbe71b5f5304aa625622be57b30fac40ff8b494ba87829e35d298bb", + "viewKey": "17a05f24dea447c0facef6214f522530f3ad8af40d31b9b6185b4d912951836e0f58a1d4e3c6ce1f34c556c0132c351e81c3749725057e455e517066307c8a9e", + "incomingViewKey": "d0e71b88547e82fe84fd339b141e16cca2f6ec6f5535cbd904bdb2d14b52fa02", + "outgoingViewKey": "6b47d5efe31f8d7fb1ead0f3060f4d948804d9d235c164e63053da766de13f11", + "publicAddress": "e7c2d615e949fc0fd0f6be6028b248587e109ad92c719d5638bf8dc94a683fdb", "createdAt": { "hash": { "type": "Buffer", @@ -4529,15 +4182,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:5YuazIgmmhGYGwOyVbCvIYvAtovYyaEJ+JQLVpRpT0Q=" + "data": "base64:I1vUCEiqQ+EjjWhbNKlQI9TcHNkbiRNrWciKUaA5zV8=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:+GekZ47RYj1kZc1zH+qGcEqVr/BmEoLqiM1W3PaM1yo=" + "data": "base64:K3OnqxB+cOcPoDVXvH0AyGEx3MsHgzijdsN3WqTy66k=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243753105, + "timestamp": 1698950318015, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4545,29 +4198,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA0wxzoXmGZHY0VFkbxdrXXfiLs87WDQICxUwgYywsELK09SVmQXJetVE/SM55WjP3t8XH0NsROUnn9clCj0TGA2VKeYru55zFQ8KPXQY1g0SCTcPn/hmq5mWo+PMCbFDkXYUR4UAd9FTOjyFcW9nxcEJrxr3uqHePOtWmUR+90EEXjtbis8PNZNwih/G738fPvzUt9R4DlsAAP30B8pbZl1ysBph9EpTMu2jT4b9Xw165jMLsWUxtXOUl3TNI8D2qWdhwOET2UzSyZpc92zabBrN2D+sMy+6g23Kol9+W2niHRKUyEvVjyaYEXedNmQPrhDtNqvp7ktWLRcEPnYJs3E4aw8o47tOoegeH110eQVu85gPm3WyYsWxgDuIybn5OXUS/pscvF6NcM4cuz50XSEKM0DnaMu+G4pn6Xyn6vMuKpjUrRpBwMHfanMyAmeYqwcttMv29jR+oijYLZuQZ/KQ/Daq9SNMiTHlJlhhqfSS0k8w8kwCmZu38QCsS3NhmleuG2ZzCTa81r1p+HIqYwNkoSnVmU/z+ihVPJpFe0KoFclZV2Ibt3VEDSxDfFYTAvyQDO3yc/YHEvoN4TvIhJIF08EBjKGQxIuYWSShcxNvpjs2UYnd4FUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwylRAtFcBTi6JwDR/+mtIBQpbZszaVIzOhxplijogRTh7q7cxuewsm7sQ5qS6AxrzeqXb0vZyVhK24BkUcoT6Ag==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAPxWKa+HB1a2I0hfNfOz8YmLsx+dM0yoKS5v0MY1coMel8VUhYJx2ER8Y8HNLIIgr1z0e0UIIVwIKx7fqjHduodkMJ7hjflQsO+PirLjQzfCl8W+osvBQ6xBB45C6BUqRMhcd0XiGwCyDLVc9bo1DC/3UPT3rYcppZYxZVayyiBUQ+zZo+pkUSq7XuRtbmbHwB8iFuMqjurqzCZI/5REUjMkj76/AP99Cj6uHzyH7rEK48cLzKMyhBPDnm2zhl5ftAAoIXebLC1bwjWbGpC9aABaGZG4wZ6cwkcWz0xASCa8GBuQSvay8QR4dPqQO8r2Lx4+M5sUTIq0K58GzUswONEdBAQyzzA9KKVQduKDRkjFlYxZEyBqj5ta6htkvNf9ElheWK3bjGrgNLOwI+rabwDQ6TMZMbEVsvJK7+rtXi2hCk32wCr6Lcm1KLgRklVGEfNMqBqKu5bKIEdXXKIaQ7BqewCVK0etzTDV+KkluVnXgCnPPB0ARH3wEobAKnRjEAkoVg8YjS/ZRLE1wqgUyUpSrsbDMJYHZRQ3ASyYVqFMpiX67w6T/rQdCbxck8T5kfvTHnu/E5LgT2T7pEisskMeIWxE8eJNT3d5ZiE4SZa3mh3m5HQKB/Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwE8oeinZYSiWDXp+qU2tKvf6uDUwOIBDOoedeZQPHenEJpHGnklKiDm24SL3W1PAaWgiGttuIqJ2x8xKJKc8XCQ==" } ] }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwSlmYlyZJolGKKSCLY9W8TlZiRvBay9zMUvV3clsQKhORjlV+zui7yS87evm0NJyRF6Zes3R33uRrgjhtSp4d+Ew6gKjPgZlaUkuFv6DySYyeHvPGVh4/B1LWO2lKRqLXljZw67bwC4k/KMfYsefYynX71vzMjovxgoQ/kcSfQWtiN+uHurwTgFw/09qUGiTPG4zxfF+6oq6b0EbDkxjXpePlc6wVrZh6FpPb6OcYKyDDBCsnBHQOKAMC3YB0oI7qTWgtvZdP7jgTYyh8VCYbBLY3LNDWof55KU9rlKqHC50Qms8jVO6TnbmU8H91aOWwVx5xczQ9sC9wXFQUsWPoiPGtoLhlx+PSmN7Q1jlsrHMeIIKy2cMu5qvqb/aatzclfGggHBSRHgveGSm9QrUQfAe1Bq3LxMVVkghLXZFqPgCrS2GPy5267+o88ImnC1NOAX2TYdhwJolDvBPrjVxuJp0L6Zk/ynQh0tXtWW30h8wIv0d1M9bfl7Te0BqFnDZhjG68yUgNYvJRAHiVq82mGYQdXN/aEvu7TO6VkRnIsA+YZ9wPSjwR4pxpwVgJSzsDVBLYERG3GGuuorkvb9LXRG6w8HhVsWEkI+HBVpZH4DnB82R2DGvqXIgSCt1qqKlVA2427eOfbbrcECsTtQFE44TMlVA8BLyrhBuRscV93w+aEMGpENWzNuSn+5ErYbMTbDRQ2GhYtI3y1pUoUjoLRWLlY72glvhuDJFfNdCxymQsnyY/yxTdBEZvtFyg81bgjPiMX4B4KWfoSfokB5kwydovr4SlqMspYJ7xtojhY9MKIY6wnQ4uqZwgUGnTbWl9V9ub979fA8yzCk7lrJtJ2QfHVkA3LHD+YSo2IyTTexGtLcDBRD+kg/ZCDE5vcgzEgdSg0L932gwk0Kg5NRv9VRhboylApqr7UfrNrvjg5+Na9l+0kssiQ0pnbdu13eR8e6l8c2MtJ4HwBUNts9PGs8/SD2BxXMI8rj9rspNoQMlkiz/unp01b9vYByjMdeLZCUX+HxpNtmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQKAAAAAAAAACPK4/a7KTaEDJZIs/7p6dNW/b2AcozHXi2QlF/h8aTbAINcKBimKwSpvD+TuwBVMsmm8HASO8Fd5lfsOwvOt/8C1RGSREFnz8ntH4IIxW5a9H/9sL5oyC5hlZUEierwoA0YtshtmCfZ/VKEq0Udk6GHzi4GxHCo0eG08UFE7H25NBDSs6vKPnRDTZDPNsJJiZyHvFhzdudqChVqG/AcczAE" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkTL7VjjxI+V4BB8RgUPYywyRouCMuDwvkuBn/FzPngGPJDUQKy7fg8K1IB2cwF723Lr/xFS4iZTph4jhQOs+t8wydKUGSwUA8c4dRAWZXtaPSr+Aq6PHaoS1jCTrCRoE2A+OgP1JiI32LsM6o5Bqd4fb1A62OLUbnwGBjhGwx08FiC247u76B3tSILYXRoen8QowCbhZTuJDzbBbMAs3dah6cB2YmWO+2D0ZqU8imG60ivsNPsdmlvroYgFov32socwtuZAAnfh3SFNU6MgS6sYR3bew8XkDEpwCYuq59dxO7z6JWrTYmIh+qcyZAgGWh9fmCbmBNWLpuXYabKDZcOmGUBP+vG3YyaMbrcm6HFsL8O7cBeHvnw/GlcdErb0rMD8efn2ekBTGXSx1Hfq6/0fhg9DO4dqXCdh1adlGiM0dyrZEcS6b8K7ACWA4GoXDPA/bx5u92AAxxHY7dnrYU8jPRC6+twkmO/ErhQwa2MONr+8AynKBMfDvHRfYu4YD+q9lYx3ZOBTBf7zMbig6go+tM6HPeeQO59J8+IuY9lNYrQUK3P9XyOg/ysmbvEuHAX35UDMiASxtRg2+JMJJPMju9IaPMBZZm4dl3kHxbbOoTIxBkmYaHSwTNxBkpKsT4JLGXzGMKY7DWJQpbvcpAu42+ujH76YzXZXx1eBewmmDJTmrtbAgsGkUS4gkoCe55v+eQUYFoJqy9BTOZxff6AFflH1k9g/ViSVJkomWrapjuzXTYJ7oMh63MyqOAPeUvWDKeFX+nEtUMTH6lczrvDSgIiO1YNbBtDVDU4DiZkGUoCoOD4WKihFqRWy0UQuPcgcvE5QYxHsWHK24QFFCdpUKmJzfdDBDCOyjoz3vCtRl9urzBJB6VehWF+3Z+Ox+rGH5q7/aryGuU5Ikx+TyTcwYQSQxquYDr9KHD1nPXxOrWuf19LnG9Q6Uyz+9SGCgdLnRoe5iWlymjcqanvG16q1tf6rRCS6eCs8dJY9+rnz/UUGOOuHN6iib2AUTrD4pF6A7goAR089mYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEKAAAAAAAAAArPHSWPfq58/1FBjjrhzeoom9gFE6w+KRegO4KAEdPPAJTg6uYETnwIAPQDHAaMSoUkBq6aaQsA6OUtoVK5wfonYoD2uKxUHjaONh0KNMv7s7NJ1VRDIOwm5fI3Ude7oAHUxpgYM3zLKC0ss/X4MqVYmozxW0UlXRMMfS2Lw3RkgHdXHaF4ZMqgm1M5HVXDSEdn5JqDZZMZXPqgTY5uTlwA" }, { "header": { "sequence": 3, - "previousBlockHash": "EE1D388866325CEBB5969D281A82C1867B65B302DB307621CE715A5F83D57D4D", + "previousBlockHash": "465FA62191986A6028A0A57ED42BA5748827671C063ACC8C754CBB29C03732D8", "noteCommitment": { "type": "Buffer", - "data": "base64:CbUNyJn+A8u/p3N6HvaiNjh22euIAAxdvAkfUDWJPE0=" + "data": "base64:0hcFclEwb+PpBjcPGbXanuWikx7nx3/K5Lkz/hwXSQc=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:gQs1YESeUOJnn4ipmR0MVM9and5490oSxQrQFeT2miE=" + "data": "base64:rUUZ3TVV8fPCoGSvlwmYRXVErLq2Xy9TiRAw2urDsjY=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243753813, + "timestamp": 1698950318857, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -4575,33 +4228,33 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAs7nEVmfoMhe+joR+rj5eFboR7lC7vau6PCbs7ixywq2qC9iCI75ZCQKagm67grfPK15uc3Azxz3sF4UuD+0Lh87IqXOB0+z2EZCqjlsQRwG4JvKq5Ufed8JrNelG0N/bhexMCdvDh147heWamALWU7mg7TIbrL6a8OMXO9wvRWIG2N+Rgi0wAkAkQEJEGBx6UlK0d7oaYlgdJAO+34TNE484VFjXbqzw8tLBHPhe1EupykpS/ThwmHONX9mzkPxILMOnTJl9TcsZfuqe21YariWN6vsC4DC6Vv3jLAjKMDVgiTT4SZM6xycM1dR76HpB4b1ITD3fOWma1LtOfegSNKPJPF9yZmwrYa0Rd/ar2GypwZxoh/RfJogtZ/IJAyQp1v1OSg99LEiXX2eVbV2jiMzGO6ImChWUhguRK903HMbMJ0jRVMcdwrMUQMBsCkpSGy7G7f4Tb7RPtxfZKo2KUq27cneK/dBiiqQDiXCn/N5C45/GUQHemaTh4jscisL+83fuEXnET86ilikObxlQCfMPb3valhETRa7IC489nmQnnp6GkBC+G++aooVr9F9LNsx1ift9Fs17dainB1fijCLGWzG90YOYQDjHPUEla5U5rCS99tDUC0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNk8Rm4Ztw+xUOFPvWqhoR72xcqskMII74LhbhrnFWFn/A3okmy84CKH/OVUxsKZtzXXKUuc9Q8UZwqYHdIjZBQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA1Td2mK4T4/NYLyBBwHWBPvC/HAFtc9OPhXgjD0VQjwy06WZpijJvHTsoNLiXqLVQMd6HWWZPt6mg18hq3e9vra6wjTe0k6P+od9EdfkWxzKkod3q1T9ucQ07PmZMENgDD7OMl259cut0rKjmFWGLrHx3nZGl1X2JVe50rMiavUoSjx6KdLMay0apXSiHkNvb+gBJgOt3gBG3seSy/opeAskp+6HucLH/LVHBcO+rM5eXq62Sxr5GkIc1zTaS1mXkuR8pEI8xDNz7nHN0GdiKX9PoI/JakAEwb0l9xnnyl7AuApNyMOA6uVDREvFD/hCl9rH1WQSEIMzXgv0GpSjujZc5w44cwCy9byseDhFObREPqT42fvwQzPvLOSI9XQVbW1I2jLIQi2f58t0IryIJfoX2xnqUlaPyIFD+jtjCchO6hs8ADbNGkngqfC9K7RzspHQ/FPG3Ds/iUNPhf8YN2Q99cV0v6pH1wsxWzM7ntkvxV1FMdFAKVKQXSC2oD3qZ5YDKgagndIlUjnq3FyA4dl54VLr5MXwvwoDE4PPMNCYmpx267kD6dn34yh2fJ4miC2IrKbiX80PhJNdHpovH5bBj/+a9o4iuRHNOib5myNcwAkH7YjHpeElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCwajsDKN945KYhISouYVLi+NcnGNZMfJQoGK8zJDWo70kRmWp5JH37A88Y68q9Fl7QtEzdA8YFejzRQ7MVBxAw==" }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfwSlmYlyZJolGKKSCLY9W8TlZiRvBay9zMUvV3clsQKhORjlV+zui7yS87evm0NJyRF6Zes3R33uRrgjhtSp4d+Ew6gKjPgZlaUkuFv6DySYyeHvPGVh4/B1LWO2lKRqLXljZw67bwC4k/KMfYsefYynX71vzMjovxgoQ/kcSfQWtiN+uHurwTgFw/09qUGiTPG4zxfF+6oq6b0EbDkxjXpePlc6wVrZh6FpPb6OcYKyDDBCsnBHQOKAMC3YB0oI7qTWgtvZdP7jgTYyh8VCYbBLY3LNDWof55KU9rlKqHC50Qms8jVO6TnbmU8H91aOWwVx5xczQ9sC9wXFQUsWPoiPGtoLhlx+PSmN7Q1jlsrHMeIIKy2cMu5qvqb/aatzclfGggHBSRHgveGSm9QrUQfAe1Bq3LxMVVkghLXZFqPgCrS2GPy5267+o88ImnC1NOAX2TYdhwJolDvBPrjVxuJp0L6Zk/ynQh0tXtWW30h8wIv0d1M9bfl7Te0BqFnDZhjG68yUgNYvJRAHiVq82mGYQdXN/aEvu7TO6VkRnIsA+YZ9wPSjwR4pxpwVgJSzsDVBLYERG3GGuuorkvb9LXRG6w8HhVsWEkI+HBVpZH4DnB82R2DGvqXIgSCt1qqKlVA2427eOfbbrcECsTtQFE44TMlVA8BLyrhBuRscV93w+aEMGpENWzNuSn+5ErYbMTbDRQ2GhYtI3y1pUoUjoLRWLlY72glvhuDJFfNdCxymQsnyY/yxTdBEZvtFyg81bgjPiMX4B4KWfoSfokB5kwydovr4SlqMspYJ7xtojhY9MKIY6wnQ4uqZwgUGnTbWl9V9ub979fA8yzCk7lrJtJ2QfHVkA3LHD+YSo2IyTTexGtLcDBRD+kg/ZCDE5vcgzEgdSg0L932gwk0Kg5NRv9VRhboylApqr7UfrNrvjg5+Na9l+0kssiQ0pnbdu13eR8e6l8c2MtJ4HwBUNts9PGs8/SD2BxXMI8rj9rspNoQMlkiz/unp01b9vYByjMdeLZCUX+HxpNtmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQKAAAAAAAAACPK4/a7KTaEDJZIs/7p6dNW/b2AcozHXi2QlF/h8aTbAINcKBimKwSpvD+TuwBVMsmm8HASO8Fd5lfsOwvOt/8C1RGSREFnz8ntH4IIxW5a9H/9sL5oyC5hlZUEierwoA0YtshtmCfZ/VKEq0Udk6GHzi4GxHCo0eG08UFE7H25NBDSs6vKPnRDTZDPNsJJiZyHvFhzdudqChVqG/AcczAE" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkTL7VjjxI+V4BB8RgUPYywyRouCMuDwvkuBn/FzPngGPJDUQKy7fg8K1IB2cwF723Lr/xFS4iZTph4jhQOs+t8wydKUGSwUA8c4dRAWZXtaPSr+Aq6PHaoS1jCTrCRoE2A+OgP1JiI32LsM6o5Bqd4fb1A62OLUbnwGBjhGwx08FiC247u76B3tSILYXRoen8QowCbhZTuJDzbBbMAs3dah6cB2YmWO+2D0ZqU8imG60ivsNPsdmlvroYgFov32socwtuZAAnfh3SFNU6MgS6sYR3bew8XkDEpwCYuq59dxO7z6JWrTYmIh+qcyZAgGWh9fmCbmBNWLpuXYabKDZcOmGUBP+vG3YyaMbrcm6HFsL8O7cBeHvnw/GlcdErb0rMD8efn2ekBTGXSx1Hfq6/0fhg9DO4dqXCdh1adlGiM0dyrZEcS6b8K7ACWA4GoXDPA/bx5u92AAxxHY7dnrYU8jPRC6+twkmO/ErhQwa2MONr+8AynKBMfDvHRfYu4YD+q9lYx3ZOBTBf7zMbig6go+tM6HPeeQO59J8+IuY9lNYrQUK3P9XyOg/ysmbvEuHAX35UDMiASxtRg2+JMJJPMju9IaPMBZZm4dl3kHxbbOoTIxBkmYaHSwTNxBkpKsT4JLGXzGMKY7DWJQpbvcpAu42+ujH76YzXZXx1eBewmmDJTmrtbAgsGkUS4gkoCe55v+eQUYFoJqy9BTOZxff6AFflH1k9g/ViSVJkomWrapjuzXTYJ7oMh63MyqOAPeUvWDKeFX+nEtUMTH6lczrvDSgIiO1YNbBtDVDU4DiZkGUoCoOD4WKihFqRWy0UQuPcgcvE5QYxHsWHK24QFFCdpUKmJzfdDBDCOyjoz3vCtRl9urzBJB6VehWF+3Z+Ox+rGH5q7/aryGuU5Ikx+TyTcwYQSQxquYDr9KHD1nPXxOrWuf19LnG9Q6Uyz+9SGCgdLnRoe5iWlymjcqanvG16q1tf6rRCS6eCs8dJY9+rnz/UUGOOuHN6iib2AUTrD4pF6A7goAR089mYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEKAAAAAAAAAArPHSWPfq58/1FBjjrhzeoom9gFE6w+KRegO4KAEdPPAJTg6uYETnwIAPQDHAaMSoUkBq6aaQsA6OUtoVK5wfonYoD2uKxUHjaONh0KNMv7s7NJ1VRDIOwm5fI3Ude7oAHUxpgYM3zLKC0ss/X4MqVYmozxW0UlXRMMfS2Lw3RkgHdXHaF4ZMqgm1M5HVXDSEdn5JqDZZMZXPqgTY5uTlwA" } ] }, { "type": "Buffer", - "data": "base64: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" + "data": "base64:AgEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Q3WiMVkZL9PyXhNxzk5qnbmwx2mYHOpZUFK7aKxtz+VRc/nI00DevuWZiozPQXaCYw+MYGmRE9tuMaZiG4h4LDTawxQaAks6Oo+UCstWKK4WnTLqSXS2KOBG+DxbDsVbW/YHrPXbxg0lo+3cmE/GpuJFGgrcaF61ITXVCwu0WYOYEXV/zkRRXO5jXB7pDxnNws3pKTtQnKFKzpv8HZAJV/qMN0y8lhSrjr9cZYMJbyItDQgYEvzfTR+keeZ4csCpUqDCKPf2y+dmq8DUvU70i8YjhBvqEUZzwsPZWWdgKk9Hv952DwKq4jWdNcSiRwM7j3oK0h7kTvGB1+RcwYwutIXBXJRMG/j6QY3Dxm12p7lopMe58d/yuS5M/4cF0kHBgAAANAmrC39dAtEWr37zD2c4jOmFiG7RSD1VyYw9dIh0IEhbL46VqcWlP9eSItbAXhLZZowrECgXLx6UF//478O+WWEen1APSsUOJb351exf5F87eaGVTo7eZTU5dIVAJJhDpbS8K4wV9aUE+yfUTwKBA8MZwe/tmgwKN54OqLyfxLHsAE8J0EXVOd6C25gCCAOZIwsCbBgQliOjwW1Eswe3UcdBR4k+qTYXvIJBS5BFgZwG7LgM3oAnOvI+3Na0ZPtihCz1Y6Mn4ghMqLKc4f9Sq/4PKfXH/0E+p7rB30fXXUBu9Up6JcfHi7W/VbfF/xA1oaaAtqQWKWvxEMyynUClFTE0l3mcyyBAaqUR4Z3AmfhMWXwPEv4tUWuDITEoc+l2fdL+4hTnAH3IL1FaDf+YC3oJ1Xw5XGhVCwJPku38iwjbcQf+aJuazXeXqnQs33Dgm1LttfipN/kDYbiOPLJAV7XxQpSxlDv2Mc1nuQvP4a51bH7+pgHeY3oI8uAxOHfHQqrGy9VwMjrRSG+k73X/KpZEWtbZIjFAf1HCgV68g3akOVATma07nlKS3GZXBy3zDYHd2nymC7Hx5f0xj9rHmZ5hCi+mU1woT/8QCvAdwVJH6EJT3JFubRZQxA/K0A5t+lxQZisJC/ur0lifTcRdu55MAeR5jH/Jrb5Mf1C9JlHGfcY6XYHq5zsT861beVBhhABc2HBYgVatFTLhEHWitroi+UrOART6LT+4UjK/LpLAnNmT50E8IANPHM1A85qoafdPsGJIk3ssB00kfYwysiPdxhrqtrL2+KonOOo2lS3ThqNz3Gt1f2wJsc7TIRvmEFspJgd6ZSUsYmpyZ2cu7qohQaRqiFh8GysAIYBIMK1qs3qPq9GmhC28ifbsDOyULwzkpt7ra884j21R3wF6m4/PQCUY+jSnbaS/c/4rsm/RiUCXDgcZzMF+HNOtShmfsbCgCEfl5R6PMkyyKC8nbzYEl34XjBCmcivw/aDxwh4duHO1AX/o7K4YZfhLCCeraBfLN0k21C5O8SPgsSeStSWhUQO58lU5J67bd/s3bz0Ka6EW6JeOekoUlCp9roEu4AP0jf43L3DqkhJy4NU0xcsUhGO2mmcIcQIpGstbpS1yN9YL3KxgCkfHU31u3XtJQTdGaV+llFQMjrT0Z+cATTdzDTjM9rIgAkZQ6Dpk6UEn6XxQzAfVhaO6YI3K6AyhDvCu1tKSGu+PQ6rt9M+2btxSUR5SLS0NyuXZ1eZeexR9xwnFFPnijb4nMJ91u4OadsfOMU2ylgl1b8jKirzfgXkP+/cx4ZWIs66CsMI8S74v5q4nS1zKroUxCk0cbaPSLxxHoA2KOpNcyoemGZHHGHxRkkULydb5LNniUIptr6XNzmavL0QSesGrzTj0Ylq+LylGmyHXOQe0O74qNAtsgB0X3WFUa9fK3JWfnSlNDq/YRvdJT13CsPQ8lBxsO7H0awYtkfZii5yvnQbMoENjiZNBaBaz6W6koSQMsVpLTgGIhoxc/OikBXmsHuh8TaQkz/nE8DTqOEJWcQJ+qlsEd1KfY8RNgn9xHMCsQ7Y5fe/DC/f+oC4Vf5v77icWHutAg==" }, { "header": { "sequence": 4, - "previousBlockHash": "1AE996BC7C3F5B26D86C8087D48DA8877848DA3A8DF777ADBD4A8BFECA55118C", + "previousBlockHash": "E99D713C009A7EAFECDD7B3B2903E270A6B357E7627D0B5078E68E62B3D1BAC0", "noteCommitment": { "type": "Buffer", - "data": "base64:sK5WnNf/J9Npfzug6Qk2cjmHbr49jcgnD+Egb9FO+kc=" + "data": "base64:aB+NwwdR7KMkhOH7Hh9EQuJ+ZrmzeFnIGHaFomLy+SM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:AiFGbb/Dq0mrT5b4Krni3qzaWSGLR4ZtGm+1lA4S0Fk=" + "data": "base64:qs2kZd7LdPCDVktN/RbH+6s04oJ7CyyRD+WwS2uhf38=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243755174, + "timestamp": 1698950320374, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 9, "work": "0" @@ -4609,25 +4262,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAE74xwr/8cJywk7TpYtwszSQYCFS01VyubTvZXQWB5l2NSoRHNyUROR3kxU/81jBgqvtJgGnhWyF4n7A6gXq4bwQJ4l9mvYfsAjsy4emrJvG5UcG1S/iAUvkXLyq6gN1pN/Q8OOE3R1HrVZRXyBicdqK6S2xlXbZlFtRvt3HUJcoRv09EmWhqYoDiADY52wNiEhAyRMLg6UOBcLwh5nrGIWoU9ngCK5yKwcZajWPSlB6krzV77Fz2jeEnZOJ6w//whe/MKPacruM4vlgJWuELINmYHovep2jXnPsvOBXgEUY4b9Shim2fyUy9ekskejo+UP3s5mQba5PZGYGGLkaKsTt4ENc7IDYXTnsK4AFwLv3Ga61fpon9fehhhIsifAZPWcW1Z2xRTn9O64DtfcNmHzBMiY92cmekf58Cyvz4Ue2aRMUus8Qc03pZkzhhEN+2GVkL4dbkinf43V7bbyRSNR2dOgu0zxz/nHk93zJayLXsiQ7m7zJ7ZgycDIxEpZmvjhVHgEDJf2mBb3txH/jVKGoYimXoKeFqE2++Te140v05sTOfScx9IGXuaOJnVHFOl6RIveP6r3eI0AXYkyVE74FwHvmNe9AQFdJ5UCBGaKCrTJDi6/QXK0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwi8gScUVrhkHhMDmB6HhMFOVDedNxYDTQ/yfdXIMcKri+3KHr5NRIiBLRj+ncNmLqbsSI6xxcNJKn4UOQ+PDDBg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAvIJAOn014mDv69eHf4IwIFKOwb92pyuIPeJqCC7Q0wKg6eI5u8Y7alS56YdjUd+d24X5B/PW2KCbEdmF0PIw6kK/cSVf/uOymZH/O3WjgVeXPLXDQ+CxgNx5bxy+Uecg5OACXCSEjV+ADzkqSo2vpJz41aOJx1b68uJLsif1mnkJWqfOH+bCEwSgqzKgrWO3sFF18yKu7ixerPgpAPv58vlmtFtU99hkmN26bBQu/hOYNwVITjdx8GE1DhUMmEIvgBCXdoKKbzHF/TcsQ2abDdva1lovXYclqxUSBtT0gFcz8YdT+zUxi0NwDNcI+6+qwFMVdBxpd/ZvKFAzAa4htsadm9uvJt+Aygov17YOhKhURzzH25Xi/bEd8Q9TxDRXRk58zxByNfT8sfWhfsowXrSAUX0gAZxsrkcss0VQuaL7Hlf0GX4xSZ2k3ott/YrIrC6j3cwc9MXIJc4CI2/3L/BSOYq6iXK9PitQAXCerORXDRjJJZ3D2gkSlRCNx5jjWeTYQ5GjZN3TUUxbDYSDciiLCrohK0LNFlX/xP3FqCJP0NJfpAai7wGz0nXgXwB7GKD2CqRIxV/sHLkYS6WcFgjGdFyeF1E7uM4YHlr2nyGabvkTh9P71Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRl2HBjJ/uM+mhpjiKJFLQ1RSS3pQe/N99kwUZ6S9NYxS2P/+3+YMsg+KDsHyFsKn5kP72bkdtDJsfdPVaPw0DQ==" }, { "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsN90kMU1K0n5DPqV6syPSsxEcvMaXgsOPX1mK/B4eB+1cz6fRabtvfOAOa3/4LHtiNAscC4xlq5X2q3m/BgPOQ4e+8wr4HUPuyhIui24PNSAyLFeIr+jF24ZiAEpTzBlyOc8LD4eGSCnAQTCw82qtOP25xRLVwnOQTrLE2D+UfcVTyLbuiEU9yrDH3xFLm0sNlG3Ch+Q49wdvgLlzY8eMhReT4hhPjWQHsAiAH9nB5y5s8LsFayjlCDFFneUjIrwuAqk+I+dXzJhHGoWqZ58TSFtsDQIec0a53saivK9ihhvRtxgKLlupRLTOBNxSXdMnYtPlLQ84kT61jXY2ti1YQm1DciZ/gPLv6dzeh72ojY4dtnriAAMXbwJH1A1iTxNBgAAAGQNpKsFwUYE8xuFuwte7iWSB8wkKox0j3kLY8sYOOMGaHkaL2KQauMg3tfIPaA4rUsHunWHyL7xru2JIxh/u6FYLQ0qKTuSIACGG7Z54DTzbtVTS6bhlujzx5LLboQQAIereT5bshsR1VRvGw5XMWRF4SaME8J5jzGeN4bnDBkP5N51fze4F1xFZ01XrHFWu6HkpEqol3ZHdmcGH6FknjfN7WDbLoiPBigkfL69fvvuqFZqR/y4t1LRQZyz4lR2phhjcL4kRTQBsle8flAS38lyZR/04/ZFVmvhhhnN7C4sG0HzbkSZ01nMvsaPF1GHbLFuYHjbp5jIutGn6k9XnU/mhzrBpqpLe9kon+yMn94hUzsC1af6gpyvJV035MaJiRnraUoIavPbXaK6bFYwoeSOqEK18HCN8NB7oLV7S6LKG6ywIvISF07XTicQh3gS7REfqDliogIrurQh/CXTqUn73kzHEJDmnv7qbcok0H3vtltpzFQjkhv3u43LeFU2MlsjDDwgkIBS/nJwZQ//B9Kg9utcWlQV/uefjUR/vnsTKSHVpwnkNM10hwcy4yoZ8dp792yq0384ucPp4gsRlTLxJClxlIjbNR7sVsLHSBnG998XB7DcWFDcIJouSo5CkggtQsqwmV8ApWJuIybnhlGH3/alRIxhzbOCTB1vbns/zfRB4aZM629FQmKZiajwqrhgveHY7Ri0RNH4LbbQ3xS79T6mqqpyzHvym/oMO33o39Uo/Q9mjk+fCuKM9UnohflcQmuSON/46VA+bwz09OfrrrFTikOA6SETjaP4wI20+Qc43Sj+QCajVJjAv14QZcLTiP7WAtaQOgTbWBx11YXunxCSP0hXcko9GzXU/w4pgoXNNIooT/SxqKf6bkyYH+brc/qwyTeIfOpErO4xbxSYvnI0AAGs+23Yp1IX4H5gzJCwBs6nw2IJnOCoHzxv5Osk96eXx6L25pqDEx4qYK4lrYyPkQxlLR9KUGHXYEJlVIEhYQRTJg+BjdEveQoHbdZeJdJwu/uVEIthpf9ybgO/8pg9UPU8Nu5KmzaU7p799Fa/HCatACm0JuMOKMoVb5Dyon19gZbfw8n2n5zLIB0e2WsREtEc8y6+GvQ8SB68R6VGmxODE2Y0ml1zyrbw1u8FH1gTXfJtquviATEli7zxNJkfavwCtEKFOP+U2I1UktuuUp7ZUw0/AG8lghNMl4V2fCS8ZM9RgrBskqf/9L/TrmdRb/CriKY61T5tbtsiDMpxX5JO3sQSPI+n/l21pnldthQb+H9aGUyVN1Bd7Z7eMot7VtgbfdJhjeUOcMYiAywnUcdwWvazFHIHxpzloUpIE6ww1/wCwMAQUlJDYKe9sI/Mqxggdr3gqaf5ZFtmywKX4Ltmkq5ZxV3BgWJCQSW/SYs5mti6yVrib/pL6SL26Fed59mz1re1bBoK8tdkSJC0kXWU/K8s7uF2RrnYqH+4YC4GvOBTeasbzPW32IgG8bys07yVx2M8BQE4uO4JiqeVzjIIITxOAdkJEybQQjSWIYawbd8QuHyewTVKWacbmxt/ogP5HVzla8gn6Io08YH6egzxehY0d4ReCV+sBg==" + "data": "base64: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" } ] } ], - "Accounts connectBlock should add transactions to accounts if the account spends, but does not receive notes": [ + "Wallet connectBlock should add transactions to accounts if the account spends, but does not receive notes": [ { "version": 2, - "id": "d1ef2f35-5f13-4b8f-9689-edc698a06b1f", + "id": "e32869d2-5df6-4f9f-9deb-b916f8f749de", "name": "a", - "spendingKey": "3e03f08d54f9f62dd4237d1a53f0c5bd4b903adb882233a819b4a0625498b0b3", - "viewKey": "1fb699be181c6d3b4ecc7b63a7051ed9363d877a7d03a89405128941cba2f86fc47997dfb65400cf7fab9de555d33055019494e55b91cd51fccb999f5607a049", - "incomingViewKey": "25581c37b69376d4e7813c3d00c92c4a15d41ab0f8dbc8d6efee3efe9e6b1901", - "outgoingViewKey": "c39864af05e7c3a4948f252ed39460e3773d250530191f73ddd2e56412836601", - "publicAddress": "3f9d087eae27904503031455e482446c3bf8873edec73472770347f867b06b3e", + "spendingKey": "2dac677cbc9bd52b97c6aafb0941932584241e4f4ef3a832a9a34e44089e880a", + "viewKey": "a62583deacaa6d7941c066d467d09818e08de01034397f8fbb14286fbe6df0e261de238c6656fbe030142b42e5c570ed8e249f888e360fac363ed3463d41123f", + "incomingViewKey": "33f14ebe70fda46ad56f5662b77b29dde6a6e6c476fa9fb385d308f13ea7ad06", + "outgoingViewKey": "1ef756726ab8da1bd86947c95b5b5327a39a28d1813f62be869cce907e1cca7f", + "publicAddress": "fc48e8b8a6b2e528e087110d31576b2874d553a510a09fa200ebfb38dfc8771a", "createdAt": { "hash": { "type": "Buffer", @@ -4638,13 +4291,13 @@ }, { "version": 2, - "id": "4ef80f42-2d2b-4d04-b452-4969c90f1154", + "id": "4bf94697-1d32-4323-96b4-88782b3d96b1", "name": "b", - "spendingKey": "980d7f28d9341a32b9c6ace782acdbdedbf116d782edfc533d4fa5971f92bfb4", - "viewKey": "9a4e924fd3f0785e76725c40514e800fad1bdebf02b2b1d412edaa49e4b5679bc802ffbd51d6996f9e502d689e9b2ad61ba199e5ace378bebd0beb5f2bc8f912", - "incomingViewKey": "d170f1f1400458785186551e8d747ad10cfd0f245d52c1225be37b0778199506", - "outgoingViewKey": "3bc23440370241634088cf8dcbf8941bb467c755019628caf2ef4ed59cf15788", - "publicAddress": "57ca338687534659814693fcc46a6fec854a64dea494d08a74e7987a8884fd34", + "spendingKey": "d486e4a0c7d5c26778e7ed23bfcbc8b95a7524e137d40ecd77c68b030930b115", + "viewKey": "ac241077090f7938a4cc0c2b91c1e6aed508d1c2711811fd5cc1ce1e7987ebc740129065db3d21ec4854ee27eafd45a221804a1ef9566cd9d6d6deacf65de492", + "incomingViewKey": "38df6bb455bc23e6e276f1287a9d205d4a4a9909b901690cb3305f8efb40cf02", + "outgoingViewKey": "0395a79fdf4fb595cb7b13f1abe71474167e88c4ed0c7b725198d973fc3f62e1", + "publicAddress": "8c6911d9a8139c2420a6526d76de2528d7672cb5f95698648b74a7a721447c58", "createdAt": { "hash": { "type": "Buffer", @@ -4659,15 +4312,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:6czhOjsLm1MmZbGtENlYZinCzhs+D9VXjhIi+c+apkQ=" + "data": "base64:ah2HfHY1ONr5/yyebRedojvqnggRt99F/DOUTM3hYD0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:MRonRR99/9gVwqvP3jgVZpHEL1xbHSrdL5napgE28bA=" + "data": "base64:zigov1jeWr7WtrtJrA4rZiFBJ9wHRsVhE6XZqmdYT7c=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243755650, + "timestamp": 1698950320910, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4675,25 +4328,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAZgo46CyMBUC1unV2J7j41UxiGCgHlk8xjQ2KZXAaPsGy1X9HdW0kz5Hz1exajB/pFH4BphjQBhGItUCjvG1EamAyzb/tPEFlBUH+FCwUBRukuIpIV+xKfIEakcDBgvaWgiJ3rjGDhlDuRvAyymZu+AvvyPZY2QCPM6yF3jwLbU8CxprfDO0ESoLVCa7U8EDo3HKE4kHvoqpvpRw2NziNBEqBS4stpa/fHTnS0mo5iJGQoOgkrJK9eCc+c9HrGYfWKmdtUDXj5akCVa4CH21nG/HhYT4lh94SMcm6vnpXE49pKcf73kaijl61K72yAJ75QHvymW8LVaWrt8nZQx/Xi8GwgtXn2pPy5y6o0pJkL/lkMcust2llmUFnbeSIIitJL7myrMqbA1k8TYJJG2hEtr8bNeHBpJR+bP2oIAYQQFDZlOQEE6yNb1mRoJSnCD7Y3g5bSEQ/6CBN8qBX6brOPZX0mWJKVRKHGbd8DTeBfKD5Qezz/UxlCPWpHwfTsGGEXtK526lOJi998ORRA3jQdWeVz+v2ogtlv85lg1C+F+x51JO8obail12lJxRXRlcuVMr/KC/yqlw2nje4KND9xdIQNIkzs4t0WMfpIErYh8Z2IpnvNRAAhklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwFMBAPmo1QAu23wg9tgIIgNEr34lz4f8w/fwlHWdoit6pJTHb9ujGNXv7f9pcOxeHcgRMBTgsFkK26Ru+bXwiCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAt+srRChXVZWkSvqnfopCYlprSAglfb2ZhWkXJ74CsfO1voanKpM9auNTOJ5iQ9eZ7WxMh9gEz7d2YiGPRJ2RM31/68YCDeMWBkfe/ldj+Bm5WiWt/pyyI0haPFE/YI82NXn910ZgUj2fwH/LkOtTONgFXqEn0efQkhkCa98HXjQCBbR7Ywng6MgIkVPC3CTMGElrc8WhI9GTj3LLlUBAORMCUBh7YFeQ4yH8V1Vh7vayq/bGj0SvI/f47F2Inm6Oy6QOOBbQ8JmLnlDwVVjqueczoVzf87QUQZ80Ufy7m2ncXeWdcTtBLseZQrVTCvgO4CwL+wai56WagnFBtqsOnJTZu6dl2ewkzg76+DR0OMRtqmfEfw+D/axmg4BK2zdkrrtO39MNuiiUVcjE1+fdiaZfoIxMcC2gm4HUiR/37krX8TeuyhNPb3Drl/ph13HhyZNvORvwDjHwrLOgwLLvh/SjcBiVVynzTxMefXE/JvnlJbv355a1nlhWF59oQjxYuHjvAvS/+UJmpLyPyZAR0u7HCBCkNhKIRsMRCS7okx2vC/ARndLTLymqxMWJNflx8O57/TiP1VZjN183lqcXDJPqaZmBxmLLwDg5fRf5dC5VGqRt4OidVElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwcdaWZ1owvtUdkzooeVE4AbtmbWUHuK/w88C96FrYvrWQXNuTXfwOy2l0R2uPgpJcCZorkfBs8LZm8H0e9xNsAA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "8BA4AABCC8F855FD545B663DB48352E80C3FDEC10BD99A39E0D3815A40306482", + "previousBlockHash": "025306424FBAD9F5CE440528BD48D1BF82D1B8C30854A66545CE7E99887D9B4E", "noteCommitment": { "type": "Buffer", - "data": "base64:xMWlVEkDRXioaEph/Ep4lZw0PsqrNklMZ+wtNwJFb00=" + "data": "base64:gPcYVCQyr3cynGSTh4M9Qs6CpxlwcTyW1KT7NguXPF8=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:xEHTqe/DFKInVigL+6ogmhEt6VNHfA2v1IRLfWynH5E=" + "data": "base64:MwgJd6sf7L8s5k7kNl7tFJl/JhGCswaegR+ubxrbT6o=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243756744, + "timestamp": 1698950322175, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -4701,25 +4354,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdiUEf////8AAAAAYD+EPJt5kr8LYlGrOga5QCgpcPCVlHvKXYzlq9zkw22KnDI2ckdSLax9Aw7H/SUh0ZB+Gy9DKo9MXal+Ff7DbtniPjqjpqp0sycnpJT3viWWSOfkBy8n9zoOau+kYftNU4I+vtNmIiDRHf4qMWwwIfbB287EYRr+2gxBzOxFhTQDa6oYN8OtPS9LBtjtnNwsWRdAC4RglN/POFZqQJ12Ehf1w3y6HgxOYOeGPBC2RbyRcJyNFnJOoACU0ord+bA+qKLZht1cbOpPyPgUTq1mt6AJwvePRdMNPEuXlCFpzIvsyPgQouqHpLgi256DRTnUg2ISTafQQb1vFfiZZoHGi50e2W5vd/py79OpvEAVyd/uA9lUUiYEzLsDHKibRR8GbwZUTbCVoHumAdIAHO7lo2eBa/L9QhrrMNHF69bWz6PHD8Gk80ORndaYsddKxdyI7zk1612ntDAQKyskaDjkh/82feVcM32sNzQVVZABftrkAMOg3C0HXLCMdD/uRViC2FybQZ3SOigfgVRCYXdufwPaRw5xnjPLbG5PFZNTnRL3sCyzNv7X4dapTtL9TUAiHleXAfNbclzzVS2+V/eAyPRWD6SleHrfawFoL3VzryikfhcrGdWrTUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw/X+dwTlcgu0GMUTmsiXtiJ9+Rj37svzAc7lXxh84JZjBIfgGrRDA9LokeBeNyT0OXPX35QEXLL6HPJWrwaRrBg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdiUEf////8AAAAARIMR9mL8EIGQj7BNUgrKJ2E7aDvqOW6rtaaAtFcRQUWk7qHyw7iUa2EsAYkDkvWcfRIQhajz8udSgFYpDIY9/F1iyM7bHE7QBQ5dj+qhnfmqATrFfkEH3OfHX+Cy6Qp2vustZ+9YsmKBy0dd3+NG4wLcADmIJFjsWXTTbFMovyQM072rNiJONtrpqwgdlYOBbWknbFsBHTwZF8RZtD5We8u061TXF79qUd1TKI6PkoWvim1hfE+FcgHWCgi4tgiq4vDY3ljU4F2owRId16ZcX1gLtd5kUQ7Su/OOAdjd98lF9bdcPg68HpctLlTsD4gJ53HlY+IrP8/aZshDPD/dwgf1eUDrqzHDzaBqPX8Eqb5DSJEN/j/LvAKvMCeVb/VbuQiIt0/SwiGug5K0KHWk+/Qi0021vUUKaR9RYh/qKw5DZPUwXjdP1qhcNYjA3nkhs8XD8fuvC+QOMtr3He+DUzoShdKAw3PI1Dftw7vZ4TEb8G2bLFLMEEV45KA5B1ZePD+L/FnMFt8zTwDmW3jBlk3c6Myobt+e5ZYfxQ+XfO5OW5KWGZfZGfd8q1pu4DGCPsM7T2ao5BWtOYM8/5JmaUEfjnetuCvUU7aSoLqjQCcPW+wP1mwb3klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwy0Tx0rq2tBG/twwITxf9EvrepIgiNDXeUQdRhhXk1j1HA6ntfJsAz+SxQqW9UpQdz58fkfEWpgOPAHSkDaajAg==" }, { "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5M1dwAAAAAAAAAAvqSuNwqYLgwDAlGj42//SzxsdknN58ymERuCtapf/u+Yt4uCV2lI/6YfRsJU128Oi/FdQUEyqA0lXOSGcRDRUBnMCC1pPl2Ure67m+Tk8NaOLywyT23A5lPcUtGv7umibZv7hx4jEWMRMJamXmjkkSa6aL1KXpOZiul7QTh63V8VR2tpJLJc4L1N68EO0aOxoQOTnrfxJzS5v2xoHySQQpfxPrzJ+r0RWkPdpKFkhS2nkX+w7RwVwAMLLDxsGAtCfa6bs1vsG+Sl/GRSbxftwUQtK2JQif6nLGPXQJGtk7SGEaawV9CXK4kRTt9hyUjWerfZ+2dgTd7MsFDSDmZFEenM4To7C5tTJmWxrRDZWGYpws4bPg/VV44SIvnPmqZEBAAAAJ0HZLK2tiu0wYpf0nAckCmU4G4ZuMlbiwVDJti/rT7VyUMf7oE8aFMTfamWbf41GdpfXX8Tf3+7KZZHWZNNbsIh2I28YvBx4GVyk0VzyDgNcnbbCRF4ouxJ51x2JffQB6YAgdDErmkt0wZ9BfOdsLGI+dHZOb//LWDbSz8Pk4rAnu5KCOVdBz1Q02Yt8m/+SagBNGcC+3BqlYQR7R5unxVEUIlq/mskXswCLcbw7DzzNIhUMar/bXFO3wche4P+6xN7O1V6+R42cfu387hXqyQJk0nKavtDgaggs6yqs1jo8PgZbpbytnIqIppwhyP5E5E8lwPQxx/3Cj0ozpNSieQVMtRLZc6UFaE30VTznZcDROfcZ7QiMjs1ocBer5bICBxY4i3t8RcT4OL6/363t6lFMuKRAVQZX6nfd1gvh/nR9m/lK3nKGMDfzz6fOlInS7UQCyHNaHUz5N6bXmmPhFWjv+55IFBk90gQM5klI6i7Ka+uS9mF4hg7m1HguCh3Qx9U+014BD1lUjk5eT3ZHKUxDSFZe59B1hBIhoYEJqm3WWHPEU04ngVCEuo/4rbybkbZcpkGnnYFeaE1TPIA2AqpgPsWj4f57ntHbgecO0pYbVDtGZjQ/18QsjAWbtk7danbFmhvpMf75h8lTcJBWi7D+lNtTOg6DQ+yYfSFcdML7eUbvQDJON43Osnljp1/XKPJMkY1ophWjnL5ZUyic70fKLlbPLCpyS5z+B80DMxDK5iS8l49I6FhHprTmhVftXIJFrSbfaEWvv0KErgAbbnFUZ/q6/L8cj2jQCbFcGJ1vTWd50MHdQfXZNYjM2lhsm2BXfgf5M+nNAyIf7zk1D5APhLXfeqU3wrVC4GqfLzgJTDSZ/WTIp3TrKxGbISE/L+O9STlOFYJ" + "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5M1dwAAAAAAAAAAMa58FsusP6y18utd3h3Gh+9CMFDfqQ5glAf6kXA/XO+g84xuL32PzSozkv5YMClgxxvxnnVzATIu23bLzSVY+7bAJ0OpBxZD+I95+kJNPJuz58KaBG0J7s2xtgEmi5PNncwl1ybFLxoCr0r7Jp/Wj7pqY+yG6HciBtobsAkS+84GmwysmEwC4aUApNDJbJnuUJrwkHhDBZ7R6mubHmM5gB2JGnlWoKWJ4GuKyy1OgReQdfy5N+HdLkQ7RpMhroclctFiXl45aBd5OuCM7XTlXkLKrywGjFIKWasJKjhgaxnRjIIOcskxHg+G4+J85SQZ7mlj/oVNukYQs6T2VwY2g2odh3x2NTja+f8snm0XnaI76p4IEbffRfwzlEzN4WA9BAAAAKRdoclBzg1gHRcS0yIzcRBsCelLGKWw5ZiZOnHSvyC+n/gmrCsx6YO6U4PnFy9mkB2CpLRk46YltAAhH9ugNkdwLmt72tjLM0EyVwMXXKwldX/FFxZYhCxdvm54XU9cCpjoIeJ9arHDcAZ+C8KblOEQLYkRnyUEUNL4UDVxa9PEFco2NihTCo5yHZwnvfVTAbJ7dRBCFh4ZA2myBY6tf3OJ6kNV/yKtxBe+qdtGctC+w8tL90InLgtc5HNWBMP7RAMZ5bppxCpYbMQSusq17T89JJ+4oo2Blp30Plm34dqJ7iFC5zUEvJwz+HsqVLJ8c5Zon7shojGoPtMX7M9rucEmKap2ENEvyo3l9yBRp/68ORGVvx4vTauyLrRu3yr8N2Ayv6mmOB4AyONe7TyOXv2dWP4DemZe5wn2H9Zzb2kwJGzcR7lGAOjS4C0ug0jJjoc/ky/3kaYQDhHEZtbuoi9Ch9QC0fL4sQ2/K10/Xw3kzpInc9j9NFnBNU+sSWnaHNLc7lm3qfwsWMbCTMiKaase2xTIUlprC/addnzmaw3LuYCIK4Ouec4a++oTYtKxhLQWFAAHWVdBXfi5Pa/0frTzAoWSLlIa7cePDyhzPfQDEYFtyFqv/UEqQXSShnETIxgH9BqDJ08r4x0w7m2tjWVNxeShs5tNk8TFFRrwC88zRYr7A8A7JyDX9PlQ6Yfiq3TiZ62DhflWSYsxrJ4YtEfDzW1i7emh0LdiZPHBJN+p/erF3jUo7lvIRAJne1iCN93kufmCMl0TASyDYsMTknOmTSEnP5VEtn0Xh3ni3hMRU/pz9g2vZDLsEKZxNPiQq9qW3ml+/iIzzPCXc02V4JmCkp1TsJhuI4zpWLRhLicm8sAkyaQl38oidgFv8SkUQDe15d4Jr2AI" } ] } ], - "Accounts connectBlock should set null account.createdAt for the first on-chain transaction of an account": [ + "Wallet connectBlock should set null account.createdAt for the first on-chain transaction of an account": [ { "version": 2, - "id": "5ea57f69-c69d-4ad0-be4b-9434f2173c8d", + "id": "19e8986c-9a55-4211-b9d6-19c0a2fee073", "name": "accountA", - "spendingKey": "c9903e07e1b6e09410ccdf878f44c4de2aa81bda7a84c804338732353584281e", - "viewKey": "5ea74c86aa2467d137640ffe129ab42987d0b49d3407a46988ea6ad61fa94b4057d4339b7eaa84138d4692b23d400939202b580749619ba2dd119dcca512f843", - "incomingViewKey": "8feb2df28bc21e2fb6d973ce78acc8ccdbb684c367d20a0d0ec6d705e6478101", - "outgoingViewKey": "a8477064e1749d606cd505152601fd7a4a2779c982b05272c3eb5261db5ff20e", - "publicAddress": "be9a292155641637dbd57b114a79bb1741006d0b47e1cef3ae8e57da9a45070e", + "spendingKey": "0c187465d44dfbdb372c9998c7391f8a7291e6b628e254dc41694994d5d1c300", + "viewKey": "8449f6985b95e5f8b1120030bdf19dedb746ab7d199b966193a1f6522a8ce20613583655300b595d78651a3f035674ed613f056131a7efd1cae03b810c4eaee2", + "incomingViewKey": "dee5b0149e0d30da7404c97e41c77504927d97952398b095dc6cf32da6047502", + "outgoingViewKey": "2e221b754f72b86c65fa11b410f692ccf419287740fb29a021cd256b1753b97e", + "publicAddress": "609dc0965e46e49be469837a4bdd350b249d06a2742708368cf5df20ac52056a", "createdAt": null }, { @@ -4728,15 +4381,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:pa0iMA/PzuZQV4hvXkI4VZ6YOqGWBYfIHXwRobqmVSw=" + "data": "base64:jl0/7uqS7pe5u5akGL27RV6jEpNdiL5giQjDItPdGBA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:6ZAPaUl7X5FEfn/VcANbCWnuKEbxi9CCCGy7FzwnlLU=" + "data": "base64:9b3E+AHFyjaP6azkvWhDtaxhdzL4WMOmNm1wpl97Gwo=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243757180, + "timestamp": 1698950322725, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4744,32 +4397,32 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAnvzTeBeoS79crTXdMBjFtAUEUwjQLnd/jCPNGpe+fp6gVpPqfVpRRsnd1gDglpMHgxhMD3RNUN7nOhzj18ucMtmpIzu1Ca1veQpiqDs06nGAfdMd4Ly9MGVdzqFaP1dJ+fOJoR75Pm6qeLc4fQvUAbHp6k4Zr16+Pj89KAQfSBgKyvkdM62o74D46Wj143VXuHUCZdW2dm6NwWL35vQyc5361bNApY9yhwh+/vw4iRyRfSTgKJWpb1fxW/Fzc04GW68xoCsLwOcRaUF9drJmWoqMoNZtH19J7b6dKC3rehMPpge5y/ZZmPbhd7812VOBWx4cvzlN3Kk3L/SnUB501qQUVRfEqKNQ0wlqU7QduzSRdzcu18SiXMO1shtY6GgYBnwR6uN3RWPTdLnvsg9ZUP2RYuCbtcuEQ9unF9LpDgq+x6VCmlL8L9kmXEpx8UGAwP5H+QsLwE7FL05NJFE5vCnXizBitkgQAzEnbgtCsgTwICUxRpnA0k+OzeGQhoQhFmgRnAhirY6tEsmZBCXTpJXs6eIEhtteyv5Qn1zrHeuNKcudL7EzTrIoS5ugzPViaDaaK4csSZM7eDc9PZ3TvI/jPkmz9jIlh4hro8DC6dd1L8oq+pPNE0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBQXZ6ZDDXj2KgOph1jlp+xl7E/zPrkrzMLPkoICXkGmH/GRDnj8+cKd3/5QgA+gQwcGms3Yh582d03FEpNHeCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAVF18U/E0MESwMptnlJeGrHtNP7jKb1TPp1kj0jB8hiqxuXvbfrzo7MYm6txxkF+LT5v/V5E681wtdM2jaTPq1/s557R8P9IqqO9tLzDE4z6gsjUNBWR/lc4h08g5V/Btihxm3eD+QB/stJRfebUnkOqmB46OFZFZxOWsS/aVCUUOAjSfiDAywhacjWzMsX9LOLtPK3Yqnu421kc3fP2HlTmpYNJAJV2gYIdEPz0HVIaHXi3vy82lSKg45agItEgNIc+EVWdIkGa+tGzS7bhIkmXAY7BgDdb0KgfXlU4oqAPHFgDOYcX5tsTAsEvAhXuZK4akD5FTi6WQgLQbE962KD7EZgKVco9pVIvk1H81F2xSnTKx1j2KBrqZLx8IgDFTFzAcpRIE8TbmgzQH70KmE4BZRGRioOd61kMcv9eYjuSSNy9xyfn5ehca3EnRbQJ5xgktMgsrnpnoKSJ+9tXHN+oRy+6ZOPxpY1QD6vuB3L6+Yb4zjtRPhLK0V2ya8KsVIJFhn86LrqdzjMu+2hsmlrMn1kNFt8YYBuBAmcr2O/sHMuwAbiIlLeOpGbDElXIPh3pzcx02TXczeW7CpH+AXpiI83AB8OXVVMR38sxRqDZ/1V79crpbMklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwSvqwuesHT10TPhhAEBVdAguqdBYE7qbh8z7u5HOCT+XQxykarMjLiKN1J7XZhP6iEKVuL8GGc/xFnOFPAqGjDA==" } ] } ], - "Accounts connectBlock should not set account.createdAt if the account has no transaction on the block": [ + "Wallet connectBlock should not set account.createdAt if the account has no transaction on the block": [ { "version": 2, - "id": "77ffa1a2-05ee-4081-8877-c215be8cc308", + "id": "6ac963ed-abf3-4aa5-a0e7-de72bc8886f0", "name": "accountA", - "spendingKey": "2fa9e203f16ef996954010c2b40984bb86766c2ddddbe799648fe6e28f59c0be", - "viewKey": "7a2856be20f1eea6df6bdb9b9c0115ae437464b691136af0797e7ffcf19fa01cbe2495d94443cbe2dddeb1260d1870d858e5d3f59d6eacbee212811fc6d9c79e", - "incomingViewKey": "a84990639af2153f8427936cdc412bd6262a735809ebf9a46ee702f07b711d00", - "outgoingViewKey": "b8dcc6cffdfd013f1a8d7e678d88b71ce9d80a177b0b2edab8393e40368068f6", - "publicAddress": "9f1f49e828bfeeba51120a880dbd78b558b240229f109764b2b78fab77256211", + "spendingKey": "9b4ec062ce682226383e0d5625afe2fe4655a7cf54edea9f01a63bebc201bb33", + "viewKey": "19995bbb46115aaaebf28294cfbdeff803b7e2749273374e0ee513f2350194e956cbb9c8f67b128c317e816ec4fff6661098b8d3126535fb0179308c74de05f2", + "incomingViewKey": "cad7f1e01f7a194ed5bbfa813c00a408d274bdde01ead6983ba335ed289b0d01", + "outgoingViewKey": "731204936333d742237bee3bc828cb95f130ebbbf7561b1584c5dca118db3606", + "publicAddress": "89322e2efeb76cff226dbfbef798c80b5ec1437cc27d7e3038a70fcc961b1866", "createdAt": null }, { "version": 2, - "id": "312951b5-40ed-432f-a753-20e9e6b504d9", + "id": "7852d0b9-1347-4bf2-96dc-55095c62069d", "name": "accountB", - "spendingKey": "adbf1160fe1523a6cdd86c77fb68a957c83d13f7e764b18af562fafb2db0f517", - "viewKey": "a14fc4b48c6a3cd7b78da90b2e2b66ab0740b1e9549384b2887c2f09fe35a131fbcf6e758af228c3221374c3409df9981be07ce1a817c5b58ebe77a5d10e7c73", - "incomingViewKey": "cf855f66186958d629dd5d44604f6a3645f7167c30ee26e050b199924b65fd03", - "outgoingViewKey": "cda7af52bca08fb6380585ebe6550f9449bb4eb7aa270d27d9d178db5b3168a9", - "publicAddress": "9b4c82ab0ab305250b16278c391715edaac7aba8b3bc4432992c64f4e4067533", + "spendingKey": "83c61ce63093e16340b7900270012d20ecf00c00fbdcc2a2d30579c73fee8e04", + "viewKey": "ef295e6e3f38688929d7055570d19c167ed5efc91670242a17f8138e32095e3301d511da802ce3862923634a882d0c8238cc6a9bff50201d601dd2b67f54a2c5", + "incomingViewKey": "1f46c570fb337393954427ff5c5ae67ede42232e693bbedd299f9274e7740f03", + "outgoingViewKey": "8eb6e39cae3c6ebd2358f269fc7a5c203b388a75734fa8cebb8fe9779bc16ba6", + "publicAddress": "472011d44c502e4513120aee9bdb7b5ff9d054b7708b240fb7baf4bc5fb756c6", "createdAt": null }, { @@ -4778,15 +4431,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:rTB3A4J7aNaFKtkogNMP3gmQmQfenBHJWUv41QJTPUI=" + "data": "base64:Xk0ToWOtOD506e6vQ4bmIKfTbWuVk4JUhybl0nETFgI=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:68mnuyaqiOP3WwPR1GqaLm3S/RHhygVv7hFBnpzWDOA=" + "data": "base64:dv7mwD3cEMEBNSu1hqG4C6cAwsUDJq6vLhjFWRGJ8Jo=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243757596, + "timestamp": 1698950323247, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4794,21 +4447,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA5N1qXNXZr2mTjJlo9mi5TDc1llH18o/MnKThx+00phSyAEbgVRca/AlHTWTT9Z8ZX85zuQ9FPAIys/4Z52ahJGWeWbS/5VKYbY4MoqBBfkWTigSnTkPBknD7SCDPgicIuzTiDZB3H7tb8eF1F6DqyG5isVRUg8vLj138YhCbsggENg2Qm+BWpZgzIYeptLGApe87HJDDmIPuYs1DFcE7cUT30erIQF04UaPMJXXzkBazKuS6I70/DVG3blaireccJa2sMe3j992pKHpn9WsZa1OYps+EmSpBOwlAXoVHwRSFAvPO50Y92ocNAXj4bQlhOIwgcoBgTcooZ00+1iGE77KQzq6PKJonPberbZzi1v3eIJHCRty/fKOL2h/o8i4QHuXLOS9cGp221OI9UyrNQELzATarznKhw8qdYIFP0rpTLbkeblNzm0kYJLedXBavwAwzm51kMj7BD90p0koEI/JwGOeMT5ng3j75YlV0KXGISOUu9BtOu7gJxVs4aC5F1XLM120E24NmXgiGXqZ44uDc2XkzjJjp/rWT1FEVRJx8c/M/68XMa+3I6LiY5tLXK7evs6zUovQbeLY2H5neTkbIeqTPTKfcljYJk+WCFsmyz+Io1KovW0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJizB2lalrrOxfhS/pFE6JEW/uGqleBQovupB3K4mmHICIGEP2tOwjB3x1SpDvqXhhPY73Grpm1zcYbgycrMtBQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA808avzhYvf2t8o0Liur2FTh2a/k5kQoQ4o2qxUJFNziNgSpo1p0iGPH55S9kMI1N1vhJPlrxibmeWUj8o+UcVtvjcNXGlQgmnuCtHs39jkeZnOPOnjvpmt4i/ffH6jE6fE2zceqGq9zQMjHe91ifk7/lFFDY3J9ioLhJaG0vRtMCTG5YXFcnEXbGVhLtz0Rc7Siv00AsEr8to/iy4IOdOJUIAQ5Gg0I+WPphP4KF8MCrsCX+tMzznoKUTw6JIhCY2WUNWue+Irpb0odl7FK0ScNDsb9SjggrZ7hP/yaRC+7FmRW2DtYjcjcEp4czsd04UNQojGaUtFWxWFcD56pbJs8xsda35u4eR8JXUf7mElWjO+zqUkBiE2JOxI34kvFbthhZdauNNGiluWJAL7frYyoxNGo8fsvYj1lqtU8Yil1PSrj8eLY3sMMeC8hvI70xjWozSc/fTw47ybX+OuBCQbo/EDMZVO1lMmmZZR8ZGNirUczb3M5YJLgsMYAdT6UcmoXIO3Il5KJI8eVxU0TMXd0dDENMWd0moe74MFZ3WPuAY+uaz1a/x5P7ThlqGl8/o/nGBGQ6TcXI2n2+36W63gp6qc9mcliD/NdeFy2W1bHJ7GBBuhrArElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwyBZ6pbzYtVan1ZIzKgMqwFroenJRv9dZ3CHu4AnrQ4mArgczkHDz8E4As3710E2ixv2rRIMgcWOCsRXyPy3WAw==" } ] } ], - "Accounts connectBlock should not set account.createdAt if it is not null": [ + "Wallet connectBlock should not set account.createdAt if it is not null": [ { "version": 2, - "id": "6395b134-317c-457c-a59d-8fae3d025528", + "id": "d63e356f-1fea-4034-a786-7ff151cba008", "name": "accountA", - "spendingKey": "cbd86688c4558821b49707ef40a1f762f0208382398935979bfe8c21fb2d15bf", - "viewKey": "c4377a079107a79c54ca611d9815d77edcca0d2ca7d84ec05c90392ce5e2651c2c380ca4589faab77c10f671d915de66bea626ba0a1c221772f9b32f9fe0184a", - "incomingViewKey": "95f97704009a1957efe0f86486133fa4a4f6e080efeed6a943cb4e9dc1339407", - "outgoingViewKey": "3475d51598718959e7b0b5a2120509aedb48fb5a229b30de629e7c4428f4d6c1", - "publicAddress": "57fed2ed8a81e30c3d1799135c3fd4e0750927ff8d1ccf8810ade0d367a8715f", + "spendingKey": "a2dcae01fef99290586a4ad142f56e7134a49c342c908a6899dae40842072106", + "viewKey": "9cf3ad74502b1819a08ef1ae270da7b4aa2a9d2b7f0c6d0d23a7874f815bceae920f31d0fc2a1ecd9274788f27e36606ea9b2894801a2042c0649d629e1b8e16", + "incomingViewKey": "8ef976d8ecaa8a603d25427bb4216a9b59e088d2c2c7abff9b1f4f0051676e03", + "outgoingViewKey": "67e75593babf31d944d0ec4981e672fd5e036d14f34c655e57ec8292e47dd988", + "publicAddress": "10f9b0ff669a78d803083ddedf6bbf15ef3f67623c136644c2fd1bd23c608bab", "createdAt": null }, { @@ -4817,15 +4470,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:eqVtEZvOsnOqKLBYdhGlA99AaopefJfV0fYgOZmIXRE=" + "data": "base64:vdyCFZ65OHpMaMGyN2PlchzxgGm2vSMcFyXsQZTWgzI=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:grqCo6xS+ciziOuMaajNZLMW38TYZe5fBfYPjP2xVH4=" + "data": "base64:3lLrvfBXP0ZRelZlja+zyoYILoz7jU8lyBrEssKfyWE=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243758012, + "timestamp": 1698950323698, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4833,25 +4486,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAh2sTG71Ej+poBTQw3Q5th18lcfwY8QHdwRWZnnHNwSu55kUmosWvg+GrVR90z2oIBDzkuUvIHT8oHipZnbTV9QHPVWxtBJlDtijuC/950mGKhVkgo4Ml0ykTdBNIcjnu7Tm/pftMlEUF1K64cZ+8ZxoAW+yXNjVzYHkF31bd+VURRtYZubTt4lE0VoGIa9QiShoVBrCPXustKo3oGCIfyPNfPetJngvbbi9FwenLwxywy/fsL/NUpwpt58MY9HHrwIi7FttxAdqDNHy+GNkH+fMkmbp/hp/wz19qGjH1vby84FBKsKF0qVk0oZplanROmybcrvRIVXD3QompyKuhAnhtMygV8Juxq0Du2jpx43vBVI5yKtN0uU6gyTMxdcEI3sToBtE0DiIFf1I5kx6zVa9KZnxTCA18UVtwuSE1ufNgEDIlz8hu8eZTPkbjoUHtxCRGXPl2brZdrUsB2JvtbjFT3wZdyjzQF6/KKtYGQogAHsiF+XV7sBq3WiA5/W7uR4CsPoV9wadBkrGSLC/V362mdiNTrZ2G5rkFNrusJ//xuVkd17lx5Bn1Es+dTOuK1aANfPdWdjRRGFGIbsXw2MrpxV9dxGRQaX3FddqUME6uVArXtqZpwklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwSwPtvy15RBMTlqtpg59O/OP/oP2WeCayj4U23t8hx2UY8r4HAvzUGfQRlN6f9w+tZLpJFRn8FA7TJVUnfOM+AQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAjPrkZolc/78L+JPuxMjDoxu6/TLQ97Pea/lFZo/xPmawShhoGwI+tjXm8ADgbsW4Hc4r/cwn2QerWA+TX2omPm3xOnHhq2UeNuYeZ6b9b12VvPSUMGtVCiqIt9kre6VSAiedDJXPstJTuHjzfvEqjfpVtK1Kq9anc2hj7baMhS8PsF149vieCUSkiIL0g0Ugv7xgWJp6xNaAMLoysnCRB03nVbA3amxYlk8cXlQCBx+D5Ex43hDinhZ5cEphs8IC4apGoBBMS63f+1+UMiIlL0LnJBJsSgTP3qz/erYvxa5tm81iWUyx2CllqVHev096rbUw2hcGHbQyB/+zzhHz5PwtOs6gWBlYjfTSSZG9Pa51zW0mrZeaGgtz+i9PVzkQU3guc87OcKOpCABv9fYm1DYDdphSl9G2L+pnPBHeV4RE588/Oep1BwBVzqHc9k940ht8DWODIPgFYqyMFSPBaIJFaLWrlAv5URY758tkn6HmXhsZ2fnzq4pqhktyqxh65Vib5FFDw5aomEOQ21DKr++A8cXQJiyKOZHjdZGmmGJ9LMYCEDTVOisffK4FleG1Mq04T4kTw6jhJIb9ZY8OnqJH9rYeahY+hqLPr+VlUX/8hDvBCwZvy0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw/ehw4NjdJHwLUKlQbQTsKZT33opUiBVFq2dMrm+q9m+BL1r0vPxihPYHd4Wn4Fmb3yOuqUQokWayVH1uvEeMAw==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "6DEC5F4B2E0CD1FD2D61B54A3C545FF3A5E58952FE60AD4AED5E52571B0ACE87", + "previousBlockHash": "0BD9195BDD89C5D6AB51CB75241D2F5BEC9CFBEC164E6022AA29EE179CDD65AC", "noteCommitment": { "type": "Buffer", - "data": "base64:NoRscstEGXvqaqMeurLyIZOnUuXNdbOs5EwQSNvKImI=" + "data": "base64:ojZ8G/XJajOlwlfHJVdSCJweMA3B/7nuNt+z0CzagzE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:pcm7e4PIrv3QYAg51jmtbscH0+I00KhnUgDzPpnu8yc=" + "data": "base64:HApMzO6COiWA3TNtv/yxt6yKM/2mGtJgVvjSN21jp1M=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243758287, + "timestamp": 1698950324029, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -4859,21 +4512,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAueYsTDize1plzP41y93LPiyA+faeIDMKd8NWeqT1AgWxy16t2NZbBrjsOjXZzzlk8sROZGVsnKPAeTkCR6tuBWdZ88n8dsbznnYrOQPC2/22vIsVWvpL6LOH9VEdLUSCOFP7tC6NWqiAZwcb8QjmHww1OaP1YlVxLzExgDk954MKHWDUXJduEB70sunM9B3DdJ38QvdjPXwuGupvS6+v59XQ7G4cUTwTSTVI3W6LftmA/eItUCqIO5GvqvAssql2xj4L75rwsgi4gYIxvtGOdX7QvpLWrvvYwmlZQ6aPe9A5zmBEzRKPkUA+IZa8hhivyGa9rivZpq5/T9/99Q8rgDXKAKTe6AJ+cfHSfWWe0y9ryT95kzaIJYmwomLnnG4L4F0eFQZcZCGEPDsEffG7fnGQk46U1fbPCnq0M7e1ApfjoB6vQBlSTyCMBDeg4PV9ftSTIC91MzyuDjQZEvC7LdpqLu3ogYf+uOISChZQeKDBYfiFT4d+JIPgP+ezaDVa6/QENFqZWFmUsPWRK5T0znRk5EOrOEm1UCwpHC1saD2Jz8v5DMB2W5oKaoVMdYJOvAB5wcNGfOTHY5a5GFrS68hoNsPZsJu8LaDU5Hn7NVSUyAYOkfE1YElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwlj3FR/ktxb42jZNbHsHZf8o/dJ02BNAZ3BGqGE0FT42PwvWTITbxnkTcjfslJnIKQ95SwxvMrjuvEfuZEpM2Cg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA8Me+8YvxeTVRnLYBRjIzWwS1Pb/KA7SG/0XeV/UgyGuZh98uDibAmS9aNMaYBrkIYTwGGqjVM9poWRm11cJkhrB/dL7y/FCic1pgr7NINd6ofPJ9OivtQNNrJ96mWlzIBpxeG1AI+J1/y1dvmwWraWD1PRQNHRpM/9zywRx5MWwY5og8Adxe3EauJbTiT+OOPWigrEdLCLTtwhRb3eWY3a9UYmno6OgXyq8gq5bRbdO425iTcHOb3Q2Yw99jH3yu+EkTYyZNbwYTax4rHFU3jQdIZaxLYxS1n06CXTqymZCWuLQAA5aRC8PmOm0Km3ENiTwz0skEE//8JN82581Xh57BZ8Su0lHub/Ba/dxCMPgYa8VZj3AAtFf/4va5BIxMhkc/bY7TldTdtolrlOIjLyQxiZIAaRjMvlfJviHxJCvIdVfhLU/318BQ6bYAI+LyhDaWGhS2l2l8kenwohR1x/LKu3u/IYH6jATLpbmp5RcDgnVBdu0FIWWftZkiCUaTO63aFQ0mtIFiPiXm9U/gvaijuQn4SZXoO8fARI9Q9L7k+O4KzL50djICjiPclVfgdkb/4aqhUrioe/pJsuXuzKXm6hvm0ezoVWeJGlMiU8ilAT2hI1Cnxklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwsQd7uBSXnwksZdw8SfY2Tgh6EyjEi3k3B2uIqIPGmzU/joYmIoze5bazFkXJEaF6YdwecuMie7Qs1tu0s9b4AQ==" } ] } ], - "Accounts connectBlock should skip decryption for accounts with createdAt later than the block header": [ + "Wallet connectBlock should skip decryption for accounts with createdAt later than the block header": [ { "version": 2, - "id": "182ad6c4-f87c-49e3-b54b-34b5e34428b0", + "id": "0152171b-8bfc-4f59-8f9d-8a931e227783", "name": "a", - "spendingKey": "a7a18849359d23d2ff132f0d5a4e6f8422c4f0a83b25859a837dda11cae69fa1", - "viewKey": "b4036e23528aaccfaf3625be8a1038bdc48bf0588a7c2778ffe73c56987a812bd41f1b66c5e81a12ac83d49cc895f54464f5afbdd7d5cf22abe4bd723bf23888", - "incomingViewKey": "f4ce4504ed328cb8a8e358369927bafdf06ff735f355af59c95a70cd84ae6506", - "outgoingViewKey": "63de9d13e89cd16ce9a7abcce17682517f3745ce11d0930d31996437d81992a1", - "publicAddress": "7e75746bd7c0209b589f96d76ae150cccb6291a067516225d8957b90ceccf41a", + "spendingKey": "5785adee02f5996bd4130ebe805ca68c8a59dd52e9556fc64b31fc10ae872223", + "viewKey": "a572cc1c00f0fb2b5c1a3fe9bfea4b513040a8888bd5aea8a281942a186bef1f681b7a4204a6e62d1cc26347d5dca8c03496f95ac0fb567257d684993f5dc193", + "incomingViewKey": "5b2a72f6e228a5f5dd86e78a95db58e90be1d7ae0b3b0feedede88af5ae9a106", + "outgoingViewKey": "5e4fa9db6e9e5b55b961c07ffe4380e432e5645d16489654dd99f96451fc99e7", + "publicAddress": "533084bbc5d1d3750e89ce47f502fb06156c43c7927c4d5d29a5160b5f3f0c97", "createdAt": { "hash": { "type": "Buffer", @@ -4888,15 +4541,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:iKXdbxtFuKFaHxAflfgTniT1Ar6s+O6TG78e9z36ghc=" + "data": "base64:iEtISnd18jHqw7Dzlyzz3UyRyGOBsA76/hVRy5BJ/jM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:bU40rLpVpZgTu67CtwBMJrICGfw4HzKHlS7gvLHKk14=" + "data": "base64:TJvumK4dZirH0lUYAxnheqoDi+2L16/grAjE2Z507qY=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243758705, + "timestamp": 1698950324475, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4904,25 +4557,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA/fYLMN5g6jSgjc5bYRv8HwVLwjB8ri8EyZ0eIWl2RNS1xVEM2e89IsB2Vufkv9TfV+yAeKcuBYXcpw74hvR1kAIV8X8UoNypBHvbBAfLtImZZ/S/m1eXmzZmhhQWt4189EGfbdqMC37y8OwotzBuHu8H3EE2mRADkYVCxp4JQqARWfH1EGUIl8Mp2zV9iNLIXmfFNEb8vOIphHbpIvW3zxHSD7j9OTVcIpqtUCN18fSu/mrsR51VjQcP+P4W5mrCC4II1gTSlXtkrKne1nya1N+NLI4xFjgwAkVeEdyP8U2YjC0OBbEhJ84ZWwW6m+U/lmgN/7XcEYyDyHlpEtdgFO0N3dxPA1qz8Bn20apYyTVYc4jJSAko3LHbJz1QDIVCRlJpRWphMgJA9Kt/pxKdEkhMjsyCMKhyuNeIJvV8ZL6AoIVucPOrlb7F50yQMxseWwajEodEXOa55ZYF8fnnh/D3PRmq1lBGWJtd+oDfpzX2A4yfqdNBF+CVoMpkAHZGEmhRstdkrx7s9iXO2kdcvN1pWzbUtch43tKAw/1CkGViN96hOpaSaG9+7NrJkn03Udsbn7DQuPJEKrfUQlTtB5reFUtKAzryjWsa6SFryINs6tqoHPRQKUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwH9BGXMqFe6IBkTAwCNGddPWE9EXC3TVChXCx+mSMNzm/9pnRen47KffsA1CHRuKkZ+2UmS4SXVF+N/9Xj+9tCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAQ06wFI+/lcA7oakeih0QMLv+egTlxnwZ/qrWSRIBDKG2h2OXWdrl3WV7S/53mW4rj2kHTU22tGgLdGjWa+hmTw0B1Fzd/Tq0GsUZN4GDVW6M3N8vpI17u4E+Of7Rv7/uL0SgXTCZ0tt8EJq63sV2TmRLIHdb7USxUIwzUKGVBIQEG73YIVmRnVnM8Hg+DhsuJc0JqS4WyEGdyyn3OnRPWqzwQJQjr94CWqnPkrK7O1CDc1YQt3vHuUzW+KA5I3KgUQ0KsF04m3+Bd7cRsONugk2hfdhDo8uS3NtjABhKber3HKs2D2UCZSb5JDprtjpiG4lCjl3YXwKDXyTe09PnG1Ny+1wM68oi0dKyKGStG3vwEbd1cmUFucRktmeN/mhw/49YLGRtvJxb+ieQ6F1VjxB71Sbi6nd2HAhTJXHgUo2WCDrjo3xID76nq9F+KciiD6ziFq9Qu0eS+GVUiYY7tP4qZTfF5YAA0EAD3YKiHBOgcrj3ex8kmo+fsimkCIxP4COBeLxhmZEcKGksCbIalDoczCclRvKD7L3lL81tQSaI9mauciXhLrMuV6/2LqDuUVtm8cW0OLyAIvky/ADDz62OFmjffcLOyDGiejHT8uLtk39pOHSecUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQAzmDl/OdWBItmYJr/RBEp3C+qZ1lRlZJ4WxSY3h/jy3813VkfTsSnK8RDGxPlyeLbMQHSvpjLblWBvpdx3TCg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "66E9B66211DE610967F75DD24140D67BD5A83D7926B88E6914A09D0194B0BDB5", + "previousBlockHash": "3438CA37829A0521891FFA8A1B870B374A745E4E8AF046FCB077C61640EA57BD", "noteCommitment": { "type": "Buffer", - "data": "base64:tx6CBIMgUwMN58N6GBk5N83SyFzKx56YFYo8J/fv8yc=" + "data": "base64:JT/VJfQeniY1kqLdQkyOBg/GB4/n321dtyvuk5E2cEo=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:6t60/op/NgSIhbJWNuWMpjkhnpPR1B0JiCS2AQMIJpQ=" + "data": "base64:et7LGnuvEp0zsq8ro3nBVsQ74KsZHLE2q/SlDxy2KWQ=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243758976, + "timestamp": 1698950324787, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -4930,38 +4583,38 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAENDgy7m7SWvgG5wQ/IyvzILl0SKC1WL2Y4usaEKHiuyOfQPy6T5380M7fVvcaEPEgXG7k06bGls9zHXhkQOfEv73yt1fNtCFEOD3nJ33AP6Sv+PBzHOlJZl3Z6T4i2utzyshI9KcRGPutKR9r7QlNnHOZXQx9801k8QqXEjCNaUMTnRY8SddCjQvy+xngtBkBdx+ZYPQw9v/oCm+ekGHtseG7UBO9bdjZ/QnWCqGOniPbrbnclqZicVXGgfzShnqbL76O/sk1XDXPJ5Y2n5apbeGFQgp6cRAjI2YS2Bd7rpT47eb4e3NnDof7fg645lvVXJ2TtDlQYOGD5j+qTxqQJ2tZtOU2qIL5uM5kr7F9Mg65yoG8lGXmnABq3K7GtkEg/NzFKcazIZY0Thy8JNxVAKEQydcTsvKQMnD0tHl27PPUpP0Ew948rJI5OqA1ahXMzu32+/81UJXnX9Dhp3FnGsBHl82QqMqSHckqxL+d/vQl+VMABj5svPseNYp6Bviiq2iZcwjPznghNNIiXYa/e0+egNzkipaG5d6MSz3EzU91mI+7Vfw0CVjj7yViBktqVz/1TVNqc2vdT/fVIdbk0DO2351mSjA/II3LhdJXYCVmtQJ5tz4TUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZeU2QoSTBsxEcXmV0uSNewl6HfjC3w6yDT7ilyYW02Idzw+YLasiJ4bD7tcZA0Zpez9KRoqCwtx9KUd2hVlNDg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAFFE0P6YCY+Xg75yIJ7rHT80dL492NBmTPq7FNRaYHjikiO201qpCqQjMjLuoeBr9iACFt8YohJxRnxpzTFjqqlgt6ZvEREB7fu7mod77XfCHQDMWCPute0VMOiLVb/martKyrfza+qBhEYx5QV65iwJrOwZ3POTCmCUfr7NxtR4Ba7GkO+OAOPa8/8B3WkrsH6VIkpOruWRo+oaYKE2rlb1cedQt4BKIddQg94wehAqXGGCwqoAerKngvwqYqYjB88MRTad5rgebuldpHk+HjdDb1yHEIQhB0HrL85lQdmr9GquWofU7Z75pDd/rSn9C2OTubM9VzStNxML9FmrGsRKHRFcVfXHpVPs1bBgoR9WBjdSZU6N/zuhGwio057sfAWbNKHuQaNlBQ9qRZyWHvnRw9zjsDf/Y654RLHDOp5mD2X1i1smS5h4ViICXrpixpM594oEohsmeH9btKLIyGCxXgWwDP/n6qtC0+uhgeyoPv1K22iZ9xlRu5va0B2SfQdvfZO0YyVcYij+uyTGy+vFUfC+hkRVxFxcTYKj8GdVamdoZiYkOMYOXAUIrYBaKKl4cnQsAJSDVimNoLWvST9ftk0b672rPHBhwKa9VzGBwPRigJCEo6Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwaY6XKbaDQImJ+flt7Uhel9LN8/cm1VVBFeYAU5dKzkG+P/q56WY+Z5hju94QgH9u2eZ+T2EDajzcrgrnaeALCw==" } ] }, { "version": 2, - "id": "cf3cd777-6649-4174-8650-6c4c68bc1764", + "id": "068898bb-f065-4e76-b6c7-a4aa9f4acebe", "name": "b", - "spendingKey": "2cbf3787cac846750ed3d237d6705e3d0860edba680b35731b33aaed0317907b", - "viewKey": "9435eb968e9ee29253bbf2a1ad4aae6a58c6183b370200ecd3ce17cc490f2c467600bb322cd31c2205c7854c5a6f1d657940e9aaea5a5ef2e1d6da1a5a8458dd", - "incomingViewKey": "1c69619e1ec20a0a9a5a6f32e2b5cee238893bf0afc8edc9a5ea64598a7d5c04", - "outgoingViewKey": "1f9dbe7a87dbfe4f2e2fcb290a24a0319389d0f89488108302d8f46b7f06b9f7", - "publicAddress": "5c18735c8653bdf7593c5695c8911cbda7735972a740d8921136c26ea5ebcb84", + "spendingKey": "fc7ecb546576c74c5d0d6124f540bb9428814b95f761f0e135a7ac62c20ed5ef", + "viewKey": "3e664126fd3c728dbf022bdccf59c7a81125059a6b18b8c0cd7db4c19f5c94aabecdecaa305b221e61b5c4ede0ad6587e990d619d33ca2f52776f2222092f714", + "incomingViewKey": "423ff31ece6ac42326eafeb735335fafd216590b9eb4de75239e24ecfc17e906", + "outgoingViewKey": "4dafa484e1ea71128e3752d9f876f35d7bb8fce9a81929022d7c2e03925819ca", + "publicAddress": "190d8244e9aed5179cdfe1e7173267528e2fefcd1239bfb6f7071037e0bec828", "createdAt": { "hash": { "type": "Buffer", - "data": "base64:xsPichYNA46L4PNzW5JMVghIw6u62vk1lHET6T4ZWAU=" + "data": "base64:6IJ7y7C/ocGfQ5t7166Qu4Tt41yTQ+Opkpg3PO93xyo=" }, "sequence": 3 } } ], - "Accounts getAssetStatus should return the correct status for assets": [ + "Wallet getAssetStatus should return the correct status for assets": [ { "version": 2, - "id": "cc0786df-843f-4f6b-8171-0675ccfe8bcb", + "id": "8e987d01-de60-47da-92d9-9a44505caeac", "name": "test", - "spendingKey": "c03c43beaa5ab35227a5e5f209d76f11bfd63a4c5484d6f9b7e9afcff0268dbb", - "viewKey": "d39ab7e989725ecc1a7f0e535e8375f940f4c8dc182c6d795715efdf29e5dc6c87073ed0d8fbd30e7af0678c6d6dd14b61ee871666ca4d4bdcc48870cdc813b1", - "incomingViewKey": "f6924a881e2d8cd7db4be4be031c26fee81ec08a0bf6e51b272a0827e6c1a401", - "outgoingViewKey": "eaccc171e6b6ff47455a2aaa18bbbe399bb1e89c83d695c3b57b727f5d008ea0", - "publicAddress": "1d32cb445c65eee3fc95e8c8f3db5540c92a399baa9f0e570a16733f8ff1beea", + "spendingKey": "cb5561c19ff8367ac9bee8159fdf5bc8261de44ae3aae8f424ba48299d2c3406", + "viewKey": "3311e9d7e1904bbb10a5bd1923d55ac56a283ad621b7fdeb1b8ce9c5b216129add993eadffe973990a1ab523ff38e12d3b5404856e5a04fb9544f105ed20a43b", + "incomingViewKey": "5c07d1188422495a3a7ae5643b9e8a0de9dd847adaf4cd05e296b93f9c115d06", + "outgoingViewKey": "149f9bd94ee17b235f05aa9d822b8ccc387a91d15f0add2832f777bc1d244a61", + "publicAddress": "b9f6dd479ad53312a3200d6665cb433e1ed309c66dadacaea6a310cf7755d2cc", "createdAt": { "hash": { "type": "Buffer", @@ -4976,15 +4629,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:v5eP/inL0rrXBjFhIOffRbfkZUKFkFCWR/qJBIk3plI=" + "data": "base64:sXhHK3KiS7OKVOCxwG2nM2rWlJrmL6j6eOm13QBb4iI=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:G3GY0kI6YfCwrCeqrLHjYOwVw39eXYhobyK9nlRdYGo=" + "data": "base64:jj2SqiIUOntqoAkdMcR7E/pR0wddOOSViPJrq4DxsFg=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243759403, + "timestamp": 1698950325283, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -4992,29 +4645,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA97r2RS2xFRVmWzsm+Jlms7zSb6YzTmFIO0diiRjD6UOU95VazcTsn/6aufGtIG8L2DQOGYrmDmcqH/M77OUcfDbAS2ihG+zIu0szrEWFxWWUBXPRQHo4cQ4aR2AIFKT+2/iU/muvxtqDXuobDfygddFPrSBdcbRvTp5bM7kaoskYYAjyqGwA2nh9Eo5stXi+LJoV7GpWK4gCAjBFGzH87+xKbXFf2oObhblWlAGbsxu2MdxvC1SOoB5rB3aTRQE1RkaOLNu1oHcS9gCEbUDsj/g9fnsncW0tnF0f2YM8+0S/pxU5ZD/4cY/fEuTvkocxb3FzTdG1sZrYrhzyA7M6CIGJLikvnHLAg1+h6ofrNIRfJiQOXvsBD040nSTyds4hlEmDwdT3KdG3BbF10wbluQyh01fudtPBXSImFebJG2S0KE9tS84JmhbkqBqaRnu/Q/tiUL1P/LDbTPlE4Sc3O3OiIG4y9zLyNi/DmWT49ijWz+YNcao4HHjYy2r09S851ZWVY7HFLk821DVPjOX/smHXewxQwM7aY9JYLMrzrc+xEmKMvwgpwwKwB5UZ9E337uBOjwZfRqNmjLhFyk7/ZWMWrDIHUD3/Phg+IbgE7Vl+F98eKgT75klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMOocIG5orem81si19s/ZFivDqSAKylbmm8wWqsQNvJz11ovY4Q4WvLOHgj+WTYGJWGTkUZGGxTUQVwvtXRu+BQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAz/HDXuvsLMIR3aSvkm6FJw9UANsCIwsx+R4mjnrB66GPRTpFXhmIcscOQeotwKsuqoZC0KUE88jpV9cZziM0H9MZffDKpV217aP1LGQTuTOG2QDKBG/mXDsq5PyuEzWx28ppWW7BKfyZy8v6fLJ240IHQWpq1AGmts3dTJkOKSQKSZIGa5dGkH3q3gf8I+B/Pi6Gn6JFXrVTKNgkTbgP/7Ukyl7MoT7zj59ZLdnVIEWhZZxnCqUXuQYO0z4cWLXL84AVDK5TP2y1X/XjrGeawy7hQz/yOc0xjTsnLvRK3pILswh94LUn0v1Bag1F/f9oin6C91ZKB1n+02MhshqXlGW+awEwRuV+GxieQ9QTfhMeUaJ/5u2F7OR7I3WS41AiQPKkXdnyN0GxxM/r3NyrxjMqvkBhuovVR/3jUsgI67xPZsUFHSlCkZhWzZDXL8couYRLFQmgrFK9yMj2EXAAyN/Zs/k3wVEOX5i6BunMq5t/xEqckpCWYijQDM1ugVYGFbwfB7WGBS+F+PptG6vhHDUeQnpr2ON1WS82L/QP6/oC0M+xqdoQy2GZtBsMpdrW1Gt1Ywq2zCRW8gQU8lPVE1c84t+RgFPGv14IIfAsMlAAApffRhVTiUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIlaBdrhkl8Fwg7/wqeHbbTT9TZ700Oirhz251k+zOHOpVqST9e25YC5rWCsi2YKAgKYo3z2DTcz0vEawZi1RCA==" } ] }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQtqKP/DqCPRyeQMK1Sos1qcLMghq5bPRk3eE1N/HuJqr+Oy49iNZYH6t7aQDMZTDADKPexKb7D38IF8hC0KPfnn7P4nFeCbyaMrU6yXbfbGlC8V2A4qkUbBWCCGuDalf9czQBpL5FAXo9Y7WHjvvLaWFNKENCwyylcDsaaUfU78ZnZ97UqQVSVONIUDoWEbovx3Nlt1oqUxJqgvp0AWlwXCwrNmsPCQ9SdMxYxx4wjeoI7yZJTjC1NkDTkh+DIY8JdNO/j99B5Wp+gtP45Ha2no3MglYPX0YKxY4h6DX3m9c1m/BzzEY6+/oAG+85xy/Oxbf93dJgUOO6TIkhRybKvuFrB8+49EEFpQQl6hCxjIyt8DBldavMPedT5l8GpUe+Oq1p+DyFT/0CeAn7KkCEntR1HvZhQxQwGZEUsT9Xazs3AfsqCYpSdwOdjonXZj4z2V+/rARg2nSNI0DSISLIqI4B0BXgCqKbraSDMwkZt7U3lvm/WbiVUVFAvj4UHMq/Z/UiSRKFPeNvbJ6F6ZPO3IocJApPEcE+OHpLYottvrdYprn4VL4t+I8SYKq3F6x2Escj1jG5XKaePaOZazxSkbPiv76VxFG38wg/iEwPdsAV0bFbS0VsseTw914hKsOv2Rdgx/wi+CTY3fWVM0c2taZzNYp1XBCTalIAEeQplI8NTEnvcLZlNr2WVIEtlanaCKP/aprrSxTIBSZ+i45b6q/p9kbNgFqsONAW0wVVk9+73PlrLztMMkMJ50YoQpR/oCzN9sMNjX0xz0xC90b7/2+uNDpWnvgrzhdxhvWv9yrRpXOsTABpSlXriRtctQB4yy55yHyeNrF92nOYR5vf2odOxslkhWJB1I0lhX5ZDreX7tfdSjerI8Ejob2Di2OeI/4EOaPMZmnEvnUdUZobzDOFHLXEMDGtw0tCmRc7V9IYpPlDHIC3c1Hzlp+UCZtfrppEo7gPt5akoWJODMt1iuHOZy0WcX9HTLLRFxl7uP8lejI89tVQMkqOZuqnw5XChZzP4/xvuphc3NldAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYKAAAAAAAAAB0yy0RcZe7j/JXoyPPbVUDJKjmbqp8OVwoWcz+P8b7qAMH4u3ix/+Pfl/YFWIjG900+TkBMtap21cG4/NB3a8XEJ51BtnOx81WQKQbrTRPWepYxNJEI6VWD0RtwL/nRPQuGo6VTeu5/qmne3h5rXoHTCLj4UdMmmX/eayhk6uEiqmaDCv897v1xbAJP8rm1+WgtjL1GzZ8HV5UEQ/0IDe4J" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2Fs61dc53JNOl7VcjObVblAw85N7y9xphAKwolw/2ayZclOlD+dl6MuWqZppl6gRf00JSNhYPuK0+GrUjoKdJLY9nQDeNo9LqYYJUmIRXTWzMIT+419miQ84iL7P2kxk9YgNIPGYbzZ1JHKNFFEvjMKZM+Z+d0hMkPad49OrwNAKRMz+dyb0D23bQtrXzHtjq60rmF91ZNX3fc7gZ+KagTSFwVGGPCcdeh7e1b8fr/yAjlA6VKP3uWBdAf4yKwFBq7oBitojkdYV5mA5+FdUZHDZ7yFtL901gHGQjHq1Nf+fzE2L1EIEdipy9nCJm1NfB3JUcnlXBMvuAtmv06iQT+UTpDv6IiWxUIaDxXXOJoWfmebItu+smd3o74IeQ1w8TvxYlKQk3qUXyzgVESdaODknG6IDh4Db3KNg0IDQfsGK8yN01/KOOohcjn1fhEITJSxnTRDKClCcxtT3ebcOS0237vd37uPdiz+5A4HKPCM8ogphLEBILJ+qiuSl9U4KbhJoZZt06+vsIQWMMSRBc+cdVn6oUWMPptmpeOe4ngYgji0zhyAVK2RDyjWDYBpgxe4uNjJOT+BBneV3foho+OF/a/tythS0jwLWDbYhA1H1sEdaf3evyjkrcdM45zUpJHRYXj+7JLT/N8CFxTVNtN3UnTTdHY8GZjQQOCV9lET4vcfI8riT+qz2vbOLFWlRX3PYtuLLNrNykqQ1hU/SjwV/+ZxYGXPHt3Uy9UCyj5zXQn5JGLvMT4yCAXaiV8kXEK0EN5GtgEl/L6xNY/mTm8ZDZvjtRZz5kf0oS9tIx+zSv7I0IHhqLs5Ct5qJivsOqTUT6xlY+/Iu3vyinCdx9y+cWMsRJraAAtwRLOIV22O117oEUzLG+4U17cRT9RHlrzKup7YJ0FkzdH6hehPe1bNX2YHbU2JurERhctGVlCNYLpV6M0fIlIgMxZ73rltnP6czABB+G4uxryurSFe5MtW2p67jAl86ufbdR5rVMxKjIA1mZctDPh7TCcZtrayupqMQz3dV0sxhc3NldAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKAAAAAAAAALn23Uea1TMSoyANZmXLQz4e0wnGba2srqajEM93VdLMAFmD48wGAVO161cQ/KTFZHtfblNk+gpJiBuV/Kg16o/btealNaWzzsVyrnwBjmUFuyuUs0+dWgr8NEhNOrcw7QHVMmFaqu47DdtJlRsBrRBJ65il+AwEydLD/Qlc2L/2v3MBrwB2snhfJy39AWi3udk8pc4qRbN3IgOMjIiWG/YE" }, { "header": { "sequence": 3, - "previousBlockHash": "B96B56087C378277C28CF962402AD9A44B5C9DC27B6A6C36A4B8B4B2D85337C9", + "previousBlockHash": "A1A6AAF9EC976AC770EF7B2C6F488C3EED961D947B687AECD682F6F1A0BC399A", "noteCommitment": { "type": "Buffer", - "data": "base64:6VSaM+TDU5Q//dYY0lVwDWqJf3gaPUHuruAtw+X5VF4=" + "data": "base64:AAjI0kKtNJXdWPWbtKNriu63q2hfglNPgSx+Eazil1A=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:NDwrYyGETcAlmmEMaRUc0ctnf5FK5kFk98X1EW293BI=" + "data": "base64:ATvQXZWGy4TLS1Y/Zl6sVIVZGnz+5HRqHMYrzEHqw4Y=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243760095, + "timestamp": 1698950326020, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -5022,25 +4675,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAARFNhlrZdrh6ouIFFrCAlOrPNdOnBcHGWon+SoAnAbdOLPFnYnyZBs7qxkU07HGA42hs43A+WR1TzdD+FONObbXE16bIgeKw1sHkb+Ba2bhaVY5Q6ruxxKR7aE+ukGZuPSnJHtdpdJAwmrltFtCTgwdu4R3ri6iNrA1RQU1jgxucHCtoUFbUvrGdl0QimktTa3oDEXf3mhTrszG5WdWGFxn1p9F4ognu71pMlVtKZ0fiBtUE12BVRWminKd/G5NoDC40i1wE3Ha78ydTD8ygpMl6ey7+e83IodT8CjMx8TUzPOim/v2aq7JojvgmoM+8RWhzOwi1WMNwodgNPyZq9bsRXSwfTiHzWcUvTeG0/QkAl+0ypR3bYYKjCr9TohENUD1ZEsD9rwsIrDVyXkruV3rT+Ioaf9fejunGvePwiHaEYcTp4PuCXOksGy9n3Vjz0nf2r1RHnGtVnQ34Metjh5UOfqOKI0TIRPOGVS2PWhcOnKN7P8q/NTSNFD8wzXAOX3/UYLzNOYHj81gJWzYseZhqIeFmG+hNMc2DtBZqX0fuz5MwrvMHVybk5OaMlf7XkdE5b0fHIdsQhaUNFLpuCWlvduDeosIa5TO/OwUAshb8nGMx/WFQuoUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAweqYKjNJrWTxIN3aBlXTv87IhEx5Nhjt59/NxZSZB6QJzAHo29+ldIiCWQsHf3B5X1LXvH3V3BkERoUj7x6cXCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAssoj4YHItAC5mx953xcpz3Lf5EY+fSBr11YHifKszNyt5uqrM4OebqC+H1Pv9UyRb8TvuVhmMqWz6mhsvxL8X2zAcA5wSChq43/h9KZfvxCnaxT6QzeX7Wm5YYsnM/u9zxFAChNwbplqVnteWcLpMajCduuGLLezFbdzzR7Z0MgBDdB78u5fHPFxV+7vQ5boQk5iTeVz0NPRweFpOLHobZj/rXxT6bWmkPEg8gnYS0+FH7moUKKkOs+as7KrQ3f0lR/sXmeaFNzplQUvHd9T7ipjEboiOW6CoUaiT7qKrHswlIVN5nW+/LfWZoIu8RYd/6au3KJBqpsXFz2CW1pjbUvNGbpdtpfNyCT6ktAcm1TXTAhdZUd+QIfsRZQKzI4zOUrLTxJzQkcSTBK3cOQLhmBxfjwPjtlO0xIJH2np5dbpBs5wpPeba3zlR4tfiA77/hNnsP9Xe7BGRR3nuQCfoYgeVIgpEylzmqTtxbmYtVjTTDtY2grzeGvhpQHIw9Ke5aCqB/FbhP8u+35fpoO3cs48gWILnghGc0s8x8COT1C+bpfUFYm909CGld9tgrZp+ZNwjY2i+/btnwhRqXZs+J3dAW59MExY/cq2vJJ00RaJ+/AcVROzkElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw979OeErsXAhh7Z8MlrixA7IRebeW6y6eeS5/iDLIoxkb6PK5/3mPO+3QIoFJZK5tWgWkBvFuRFIN4g7oKEY/Cg==" }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQtqKP/DqCPRyeQMK1Sos1qcLMghq5bPRk3eE1N/HuJqr+Oy49iNZYH6t7aQDMZTDADKPexKb7D38IF8hC0KPfnn7P4nFeCbyaMrU6yXbfbGlC8V2A4qkUbBWCCGuDalf9czQBpL5FAXo9Y7WHjvvLaWFNKENCwyylcDsaaUfU78ZnZ97UqQVSVONIUDoWEbovx3Nlt1oqUxJqgvp0AWlwXCwrNmsPCQ9SdMxYxx4wjeoI7yZJTjC1NkDTkh+DIY8JdNO/j99B5Wp+gtP45Ha2no3MglYPX0YKxY4h6DX3m9c1m/BzzEY6+/oAG+85xy/Oxbf93dJgUOO6TIkhRybKvuFrB8+49EEFpQQl6hCxjIyt8DBldavMPedT5l8GpUe+Oq1p+DyFT/0CeAn7KkCEntR1HvZhQxQwGZEUsT9Xazs3AfsqCYpSdwOdjonXZj4z2V+/rARg2nSNI0DSISLIqI4B0BXgCqKbraSDMwkZt7U3lvm/WbiVUVFAvj4UHMq/Z/UiSRKFPeNvbJ6F6ZPO3IocJApPEcE+OHpLYottvrdYprn4VL4t+I8SYKq3F6x2Escj1jG5XKaePaOZazxSkbPiv76VxFG38wg/iEwPdsAV0bFbS0VsseTw914hKsOv2Rdgx/wi+CTY3fWVM0c2taZzNYp1XBCTalIAEeQplI8NTEnvcLZlNr2WVIEtlanaCKP/aprrSxTIBSZ+i45b6q/p9kbNgFqsONAW0wVVk9+73PlrLztMMkMJ50YoQpR/oCzN9sMNjX0xz0xC90b7/2+uNDpWnvgrzhdxhvWv9yrRpXOsTABpSlXriRtctQB4yy55yHyeNrF92nOYR5vf2odOxslkhWJB1I0lhX5ZDreX7tfdSjerI8Ejob2Di2OeI/4EOaPMZmnEvnUdUZobzDOFHLXEMDGtw0tCmRc7V9IYpPlDHIC3c1Hzlp+UCZtfrppEo7gPt5akoWJODMt1iuHOZy0WcX9HTLLRFxl7uP8lejI89tVQMkqOZuqnw5XChZzP4/xvuphc3NldAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYKAAAAAAAAAB0yy0RcZe7j/JXoyPPbVUDJKjmbqp8OVwoWcz+P8b7qAMH4u3ix/+Pfl/YFWIjG900+TkBMtap21cG4/NB3a8XEJ51BtnOx81WQKQbrTRPWepYxNJEI6VWD0RtwL/nRPQuGo6VTeu5/qmne3h5rXoHTCLj4UdMmmX/eayhk6uEiqmaDCv897v1xbAJP8rm1+WgtjL1GzZ8HV5UEQ/0IDe4J" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2Fs61dc53JNOl7VcjObVblAw85N7y9xphAKwolw/2ayZclOlD+dl6MuWqZppl6gRf00JSNhYPuK0+GrUjoKdJLY9nQDeNo9LqYYJUmIRXTWzMIT+419miQ84iL7P2kxk9YgNIPGYbzZ1JHKNFFEvjMKZM+Z+d0hMkPad49OrwNAKRMz+dyb0D23bQtrXzHtjq60rmF91ZNX3fc7gZ+KagTSFwVGGPCcdeh7e1b8fr/yAjlA6VKP3uWBdAf4yKwFBq7oBitojkdYV5mA5+FdUZHDZ7yFtL901gHGQjHq1Nf+fzE2L1EIEdipy9nCJm1NfB3JUcnlXBMvuAtmv06iQT+UTpDv6IiWxUIaDxXXOJoWfmebItu+smd3o74IeQ1w8TvxYlKQk3qUXyzgVESdaODknG6IDh4Db3KNg0IDQfsGK8yN01/KOOohcjn1fhEITJSxnTRDKClCcxtT3ebcOS0237vd37uPdiz+5A4HKPCM8ogphLEBILJ+qiuSl9U4KbhJoZZt06+vsIQWMMSRBc+cdVn6oUWMPptmpeOe4ngYgji0zhyAVK2RDyjWDYBpgxe4uNjJOT+BBneV3foho+OF/a/tythS0jwLWDbYhA1H1sEdaf3evyjkrcdM45zUpJHRYXj+7JLT/N8CFxTVNtN3UnTTdHY8GZjQQOCV9lET4vcfI8riT+qz2vbOLFWlRX3PYtuLLNrNykqQ1hU/SjwV/+ZxYGXPHt3Uy9UCyj5zXQn5JGLvMT4yCAXaiV8kXEK0EN5GtgEl/L6xNY/mTm8ZDZvjtRZz5kf0oS9tIx+zSv7I0IHhqLs5Ct5qJivsOqTUT6xlY+/Iu3vyinCdx9y+cWMsRJraAAtwRLOIV22O117oEUzLG+4U17cRT9RHlrzKup7YJ0FkzdH6hehPe1bNX2YHbU2JurERhctGVlCNYLpV6M0fIlIgMxZ73rltnP6czABB+G4uxryurSFe5MtW2p67jAl86ufbdR5rVMxKjIA1mZctDPh7TCcZtrayupqMQz3dV0sxhc3NldAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKAAAAAAAAALn23Uea1TMSoyANZmXLQz4e0wnGba2srqajEM93VdLMAFmD48wGAVO161cQ/KTFZHtfblNk+gpJiBuV/Kg16o/btealNaWzzsVyrnwBjmUFuyuUs0+dWgr8NEhNOrcw7QHVMmFaqu47DdtJlRsBrRBJ65il+AwEydLD/Qlc2L/2v3MBrwB2snhfJy39AWi3udk8pc4qRbN3IgOMjIiWG/YE" } ] } ], - "Accounts disconnectBlock should update transactions in the walletDb with blockHash and sequence null": [ + "Wallet disconnectBlock should update transactions in the walletDb with blockHash and sequence null": [ { "version": 2, - "id": "aad25e36-a84d-48dd-82ef-adb652f7876d", + "id": "4b6bcd0f-9875-4122-af4b-51ce03c0aa96", "name": "a", - "spendingKey": "b69ec70445a7df599a1220b60474622cced93bfa41558775af93caf3d5983013", - "viewKey": "369715c979e0e180c792f3689a652b207d7b79eb29e6ca180d0142d3f04947e47bc6b41b87b372535aa1081bc70344e15a182d61019c3a7360b29b8e1169dd11", - "incomingViewKey": "ea0d63bbcd074cff1871cf1c0abd758d0360f9dd81d87eb7f836ee60c53f3606", - "outgoingViewKey": "bca59571051ba2b8d5ee0f2e6b7fe0713b6aad114bca00bce192e6e6128d94dd", - "publicAddress": "9123299dc4b933bc8a143295d2c501734425bee1655e6f4d1975c17c355621a2", + "spendingKey": "85ff05f8163e074faa8933197091c64c721adac14d6025b6749857123e710b2c", + "viewKey": "31a1c9f944ab12e54de8f3c54960131e1c8dbf2661c21804b1a5bd26aaed3904fdad01d06464aa8dfc583a26692582186687c1fa5c2c4907ad4e709122e1edd7", + "incomingViewKey": "2ee2b9eac3917d3107521537e73a2866f1780158507672ab873a8075ab76cb06", + "outgoingViewKey": "e960a0da22c185a5c157dae1cb0404a7de2d93bcea3cd0df73142d8b4c63401e", + "publicAddress": "eeb36496acc27b659d1e766ffff55f1ef9cfd5712315c6a3b87ce85fc9b9ba0f", "createdAt": { "hash": { "type": "Buffer", @@ -5051,13 +4704,13 @@ }, { "version": 2, - "id": "7dc382be-bdc3-4c9b-ab43-df593c67cc3c", + "id": "9bc5f90b-1ec6-41df-90af-d93ec5d2746c", "name": "b", - "spendingKey": "ed6ff280b03acc995c7011e3380e537dffe7bd0b8712cdb29d5e85026d616904", - "viewKey": "f9649d30fec9199fd034e7ede96e1836b7e1b3a9e246a5332ac84d32aae2ee564e0da9679762daac4679c9e97094c2ee1862f92e5dce1c156b35ab6a11a9badf", - "incomingViewKey": "82c07d28499a797b2fe8c235891b5d7044f33987e2a311de86a177c5885d5605", - "outgoingViewKey": "48afed0684b18f8736ec03e30d3282cde82816e89b5efe6573c9a007f696b307", - "publicAddress": "1271c01078f1541e00459dd9d616c308b603d26e4c7e78ee77461b55b068f754", + "spendingKey": "4f712738ed74da2a5d8bbbe267f5b99922418856929e32d66e2c2eb0bc0014ba", + "viewKey": "da5815a974c28724889621c911eb974aeb52de151972dd179cf81afee1d4e2ef1e65dadaa2898fa4d20078b4d3b21fca6e1fe259cd00d1662581195c71d5d6d4", + "incomingViewKey": "f57f01b45b82b55de8fca709e02c5abcac7686686da7acd9eb67f664fee0cd06", + "outgoingViewKey": "f52d93c7eee2b17ea1b2d3d69200f2c321d9f32c801ba77e72e3c47fad811ccb", + "publicAddress": "82f96c840b4c08bdd462da7cec8f2432b5e395bd270ceef5e8824e15975289df", "createdAt": { "hash": { "type": "Buffer", @@ -5072,15 +4725,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:WZYTFw1CaRme95NU/wloSsCbjI7gOM+DAFsVhOSTMEY=" + "data": "base64:dM16ao0gRqubj6WDuodlrwA8wwUxrP6wnxWroWptYko=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:SuF9tkHCH3HzsQ8XIlhl81yxJMbdIggPb4Ch7zkUycY=" + "data": "base64:p7N1Pktl6mKQEWHBdAsGuZOgTUDO2gtUQlkZzLLAyOI=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243760514, + "timestamp": 1698950326468, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -5088,25 +4741,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAoTm2P8oi+xDpP5uHGrxOudaaHEQgzm3n0bAQcnhjkiWZCOnoXDIbbS3aii74WQ1azvkqmWVJWKkpGzh6/BRNIZd26D21bC6XQ44e4PDQVM2rx5vsZX+eKho3pP0G4uCC93pHRuNt0nB4qULeNp7G1tiv3MdwBSdJouxb0wNd1dkSaHKmCWl2ZGA802/BCqCH0krxs0dUqRP+kZTmdYw+h1E85sFIFEyr+5NDdkQ4Z6CMbpGV6fsjxXkz7nYoWd5np9dvWq6E3Rm5ie30l2p9m10QOmNGdD6q+2xouzJGZU5pIXQGj2a74B4wY0tCHWMu3DereAINCHZ6IZZ1bOSdJwmXR9oQ3nKOXQcpifF0rOMGbIkt8BzxvUPQ6pk+F2pP+Bk30mR9JmDxamW+jLXH4UjxVLCGqXjNi1ZOzCNo2TgdEsc6GylZnBQlQIfo5k9z9k33sH20BODbSaq1c/A/hVILVYA57gzY7eLEhYNgIVd308tPs8QvpagNjaS5iuk5rgP3f5sFreqSm589cAv62lJDfCOouf3VZZJmMgzS//dKyMKpAxLEgjTSr/HhfitOSczq/0a+BJSMx0h13AObe8w49+EgyEjfSGYcexy/jHPLe6U5rzGtBUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIlCcI6ZKZG9e8BxB9RDN9OxsLRNAHc9hYK1SGgOizwoPxm6hLAOTo5hfkKXpIsq1i1M3PuEloUKwVUAwi0uUBw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAvY7uCIvxp8+ikDj+Sqi7X4meQIUcUo2BjZtZwiVTH1anoo8ajp37lR7+hFjGZA+EERmoc6rCz6qKPxUIExOv0CswDF7iUjeAy9c/qoAc7Z+hLrwDCv5X8/dkZBPihT7Y1BukkuOUdTzF66REjpOp77MlgB1E9BSFjSidiG1PmrkBlX6QbEdVLiArs6dAcCtPqLgrzDqk1LuzTirCGfZ/yVsjmiEaaZqG9AHRBlmYppOt+vmtg3lxx4w75Jdsn8cWfPC8Oe3OpoV/k3BFt+IlZ0PstSDQcwXDgQgxnPStfn3ykwMXORcySiorVkJYB5Z64jLCM/biXIMO66Gj8FgrtIkXOSOdvwnpVAYhtNyEN4390g0AzjwW5UKXaLIT7H8rp3EUwmx/p2vdWLoDuZdLVLplKQLRH8bE3/m2LWyFgwfwTcXKq1jgbZn4keGSofwnYh4OTaD8t27t7Pp60+LYD6RZ5DIxw/P58zUMCAIpc4sbxWZww09rPDg+kU+UBztTNkOoq1rMkZPrUTB7isUO3y5rZm8swNyHjqqncnsJaMWbyGapKfHwlnTO6muc+ZPsMwbjysr7IZrS+KuuVGbWYX6pfmz31ZPmZrSYiiVUstqhtVbp/i1ON0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwmno7Tin6dr6IkuY0Xaec6tB3dsVjDoNiBDJAKWMsBy1nzcFznm2265JBrCBI4QZa4eKn511xpXkrNpZPE40FCg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "7043669CA15A102896F573E5AA1A20AC8B3E429D7F3938A71602E35853606CEE", + "previousBlockHash": "FF211E6EC979A1621C340A854D7FF3DF00882D98A7E559EAEF63EC7B2E2A6530", "noteCommitment": { "type": "Buffer", - "data": "base64:mKpIfS7EAKUKsawTZEepTie9QXRV4CK0eF9NrdxDgVQ=" + "data": "base64:ppwHusH3fz+j6w4PqJ63Q2z4MFegVJ9GRXazouWf+B4=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:M1MGwSeyOXg6tcafEe9M1BohrrRBdakYh2v44FVt1wI=" + "data": "base64:3U9v7esuInh8lkDruHlUqivnz8jIv771AISGzJXT+9Y=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243760795, + "timestamp": 1698950326746, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -5114,25 +4767,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA7JzQWykBAb/5imd4ayivERzMHgur81ub6b4N2bT2MaG4rsbRNJYRaDTXZqGWYmNxwNiDPghyrcp2OquWsuk6spWR90dAQSwztq4q+8FWMXCHc2Fb2O+ALyXCS/I0mgEEOJNCUkp99fh0WqaRW8mDV6BZtrHfT7P/fZjkaVqlBBoHpdeP6zXVvuZPBoBIiYpU3oljIWyMX61q3BEl/dKERzP+cXWs/a2oq9qP+0uErCS2Ni0j+YB/EGFg7NpKV/abZEa9/EKOh/3covLvlvtooLLzsFrQcOfsuGZt7LFlTKEDaY9uT7x14KhXIba1RHERiZRYrtRypQcxKXBg9ZZVYWLq4pEV1syDF0Yje0BbtAOTwefV6BWOQqldtO4llLQBV+X70bCFdJKm0qklxEVnRCycNowlym1w/UKDnvuR7MO1IYTgCdhPu5ircZ8+KJFxfuqYUe+BxX6zcMqyC/gpdWCK7nI/eEdDqkLnLRO5qUqp1InEV7JrSfvSx7HLSTeaE3d921546hwnhbHrdNVTOyp6whKE85dZKUwcK9L/zVv82bDz03alUE1cyxnvcMZh1lG0hIizIaFIyXALmhzz/xqOiQmKj5O7feANeTX3IpM8TI3sUbf2E0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw3pqUfWd7G1NocQtqDlD9LzWrRuIx4NMNsoAVXH+GjB5cQaDhOVm7Vw9QcNfJiB6DG1Ot4M2+Ck4cR1uALX5cAQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAYEAk6loA7zVp/PtXrrmf55BbLuiZjcqzN4nylF8hmzqKUmZGwCUBjM3TdNlJpsP9ywr590sFRao6IU0XgOLQZ3dUbjLu3Lza3lzq+Wd9kk6HlmUvqPTxw1Mq2qGKCW3Cgu1dUO7ujd4mpEHu2jE3h5Wfne2G2qqk/EA3Zd0zqAcRyYO3kv8HIWRbsWzKu6nX9Drc5pxm4OX0AiVSmZQHTbOJoj3jI9QVJmaoKMA6cU+AP4YPQNXkrU3DqY3XaCigz756rLnUkv6vi3bv+6J/dsQxR++7qcd6N8feJGOaqTjlG/sbJ5l9/hs4Ih0wzq2nnMSCjbp2wIP704nAmyu6sqFcom2CJYmbfN4rw1i23L4PlFH+5+CbifD/i1dSxjZjmUMb1VovQ7tGI+5X+Fm8mOCUzrAW0UWOYqfk9G15YEKPCcgFipomUp7OV/vrw55KHSLJxMJgfw8pUKEDoOWaxaqpTCHr3sP42lXEGY5Sgcw72G2pNEA42QnJLAynoJwnoe+MTaKF4AMc0JQDH5jm8SpFSmGrmhhMndLbf9j/32ppC9UZUV/wKwAVfnJRnpJQtWewRuz/t5AeQ12o2w5Sd+PFmy0NYnKoDAZ4zmtW4QW7NIw2FjiG6klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw+NranGtCoelhE58/OlKCUSakLHC6DufaEjB2LlSlQoQ7kbEYU2gwqcPJSv5So9mITf7YJrHdJw5L+h5WEg0ODQ==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "77EC64BD915D707DFA268F6EA603089C67EE7BE009D21FD7D215BAFAB494DE06", + "previousBlockHash": "DEE6F42411322921C658696237F021930C6EF5A173E0D2A51AF39B690554F8FA", "noteCommitment": { "type": "Buffer", - "data": "base64:kCr6QdQN8Ggd1vHHf8AcujE+oMQoDnlqmgGJfvHcLU8=" + "data": "base64:RmQQY0CHZXgUbiNbEX/9OaK/le/0j6wlQ7frx54nKRM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:V9CezWvHo5jmWiinf7XbBTAA++kVzkI/hLMZ6yJb884=" + "data": "base64:ss+a+EzHCze8vr4zMkXuwSZIJQhGBPu7CjcIEytFiM0=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243762124, + "timestamp": 1698950328176, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 8, "work": "0" @@ -5140,25 +4793,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAQiL6vYmWeV/TVAaigEt08BwUayThWXfA7OsbsZ1Z+BemcdDsYY/PBLt+3gmfjoUXPvchFR6/tiSkH1MytmnFh92Vy8hZ4OddCJ3XKXAePBeCmS4i9s43BIIZfhT4o9Di0Dh0mC+TzpPO0sVCbF2s9gB/mx85y1CGlqUQVQqRpvoAARZlwa6y5ekMRY4MZVyiyI96rdR421d4h9+t6rr9XYnP9E9b1oX1mvMl+6flNoKURxcmec9ZjgWA/ZL8X2/1PywAGU9RDF2B5U+VOiwLzZQs3yK/Paq2J55oRKr6OTg+oPxCv/ELDF6mK04x4lTqoaVM1ENbSjgz78SooHSJxpuD24pS851ABKvbKIwBKcy90SvJCWzl0FDC0ws6FoRrBsX1sJhLM2tiXw948CgEZzOeP18iwd0/8HIp/GwtLIr9tn9ybsQ87qLQZVcND44aSonf4Rt24CUEmQtzhHwTmBs5G5hmcTQHkgQcfyVy+ijSXeF89Evf0l6i5CGvaUfZViz8NYa85sEyh5M9mG1RcQ1/s9eV+PGlw5CAuPHppdq5hGujBQEqCvftNmytjDjwE0Bm9jaVnd1yd4QvTXREV55vHWdA0opoxJo7yuvsx0zZgK6tOWjMd0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwtzcmgmOnjtqyRD2YSP7Qq+m7jCmDDaaj8R1ojJ8C/AaKDtV91KjMD9vfsSbcY/+PKZPITlH30c/AhhgNJ/hFCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAK9h0fnSe6No+bFstKYY2bTMWdJDNMlSjwKeZogHwMdyo/c7Au9TtO9xMXpAHeoJO5ag3TmbA/7kG0RhW08MLoXy7qipe1odiFcTvF6GL5k22Ovr1ZLpEmOHtnyzmmnTIFNZynO7r0z8JkcgJiusxLGstEG3HHbpVJaze2vhWvL4RZpm/tIM/xRw0HyQdL0UM3e9H6qWSX/iDUaX1HtdCQ4PcCqAhSctI8KqZvB8+Z+SUIyjVF+p5f+Pb5SuRN41Rb50soWjkYpCQrvdNXc4B7wJZw355DNjnupFrijaOTqY06kD54hEVOv4eYP/oFiNHuw9HWjG1mdCklBg6AvkFyRUuxSmk9iBu1CKRRmThDH3jsLHrk6oN7jaHD5c3aDYIFtwi3xqDNAiOghImY+DsZxnDarEmBPEsa7kF7gvMhCweutQBgE8Dj5TJ+nMpzEudeOnCm4FtWqWQmGmN2e6S8jhAWLRAKrR/uu5oQS0voowXveagJB7RK/wWmNdGKpvHlszOVoWcWHOAnvS2/+3DD0Oj3EkNe+SiRPvTFcnuDfuBdCsRz2pN7CciQEa8Y2xqTokFJj+wPFkOA7pElrTvRvuZsh4k6fsjTffdigyteVwaPgfIWFuEXElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAww6sq8rHSd7c5XsPa2TldPRFUMPxN7cGcTNOWQOk4vp1fSAR9GGWDw9NbN8xHXq5nu8rqenYCVIGDhtGSXwwyAg==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ] } ], - "Accounts disconnectBlock should update the account head hash to the previous block": [ + "Wallet disconnectBlock should update the account head hash to the previous block": [ { "version": 2, - "id": "40909f26-08e2-4cff-aa04-71b9903e01ab", + "id": "b49f5871-f28c-48d7-be32-410d0f3b450b", "name": "a", - "spendingKey": "7daa5899cda64d0b3f10d4f122d666eec9dc83c2a9aa6f020df173093f3cd341", - "viewKey": "d8f0e3f8180ad39b85b2b5ee6dfd32c0beb211a512080664484dfb502adc658001fe566e4d093a7be6e99c60efa2f10a205190029eb3c2542414de2e5852be37", - "incomingViewKey": "d64903d4d4ea86c291891e20355c2a793c3dc6bf1865f37b98692dbe3d9a1b04", - "outgoingViewKey": "2f92d996e2b1a8139b86b5ccc7a1adcb579e95f414564d6a2227b968c31974fe", - "publicAddress": "0312d3f2bf41ddcf3c62ae2df5e67aa0b8dda3dd26dd61f160fe663d0938cb1b", + "spendingKey": "3f77c0c3c2705def2037e9bec45ddcadab9054318ee4a170e620ca75acbd9144", + "viewKey": "a4556ffd1f73de643339ab8c286342398c3e434c9cb6f29beaf93d5a85fc8769db6d5b39093b33fb7984eee0bfe11c869290112ae639db7924a7ee6d590e3214", + "incomingViewKey": "471ad06c6ee03be759a941f74e5f92993891fa00fc5516e87ea6c44d6fdf9005", + "outgoingViewKey": "b47768a0bfa03b9e4292efa7b83dd2dd22261325a0942b76c78842b1582183f4", + "publicAddress": "3b6b5de7d30a412495e10dd2d4a53dfa6610248f2c433e28384f0d5239c940b9", "createdAt": { "hash": { "type": "Buffer", @@ -5169,13 +4822,13 @@ }, { "version": 2, - "id": "4797539e-4f4e-4cea-8614-c71af7ade8a3", + "id": "79d314fe-cc56-4ce2-b484-396fdf214a66", "name": "b", - "spendingKey": "9e1e754a362867fcc560ebc5434deffcda82897cac40e2bdf9ee55f22558bb9a", - "viewKey": "dedb920ce4efea7c32678e3e95f75e0f866727edbe316622bffeccf2a3912b013390dd44361c95bf8f2ed90f8821b9e48158645a2a80ba27c718d05c9482f7d6", - "incomingViewKey": "f2d84f74ddd27e9a958a3b0ce9b737d465d467f57704cebaffa85bef3c11e100", - "outgoingViewKey": "10bf67838f85cc332ca29267977ffd3ac3ecc63c19a19eda71d287b53188ba41", - "publicAddress": "620a3bc13dad58143fd7626e8d75686c5e1d10b44ae394a4c2e16edb4c3b5303", + "spendingKey": "c961ba299ab62753297c9dfee0e9a6b7d9f3d36b30875f7888934e58fd652394", + "viewKey": "961f384fcbd47338ce7cce28650a5df5ccf9d0338805fa3b7ada1fcceeb41263ed419fed120e68beb0f517572b7d11d3141ed6033ff5b9d92a0dc411b56fadb4", + "incomingViewKey": "eb27703cecb20c6d7bf2591ceb39164f8d2ac5736898c210ddf56a627aa1d403", + "outgoingViewKey": "c5cabfcf45715c375ef4d31b5819ef46d2b897eb80d9e3128d38ddb7be26b00f", + "publicAddress": "e9987dfab7b283f69436dc623a464c4dd5549b32c21727ffbc9c3fc946fa70da", "createdAt": { "hash": { "type": "Buffer", @@ -5190,15 +4843,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:DxGpCu29MfrueIj+iVoxABO/M+/jycGpAr4VkyyAhSs=" + "data": "base64:1ZI+/U3U6FejXSDy+y68k95eZXISXaWW3F2EFakRuRA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:/5EtUzKX75UgAej4qSQf3LUo1XjzaoS2VHYy5L+rbZU=" + "data": "base64:j3ccUIoLIpAkFckjquItgzbylvro3/L3cYJ+sU29+A8=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243762560, + "timestamp": 1698950328631, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -5206,25 +4859,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAVv0A86jje798SPnJWEj2aOqLTLwL0ta9hfsY2j4pWRutQg7sGGQafnL9p3cK3INU3i3fy22bdVNEJeH0YLNYws6Wa3QL1y2WyVPREbHxGGmRuHCduCJArSYKsFfbLjWSnPqUtpoqLBscQwKc1cgbSEvwve1e9RRUdIXo2t5TyFIJBIXBE1orCxR44AZzMIuKn0Rii8FpjIVdLF9AVudJQskpJ2SqHVV9Avuq7b5ilriwcC4iWar5UzZqhP0hIJLfx9snZDq2Jb6bFdlGoQbNnrEamK/O0HgataRhoyIk5wEiR6Yv35A+HmMU2u6vLWmNRd+cn87IwaVHZMWYQxsEpRvgyQeh8LfihJPoRytS3wprbxFgrgtyIT+ITsyXZAMNKczXdTXfn5hlC2zuFHs1w+Z2dWDouRsJYJuR54ZyeKwtNSGGE4GmUsgEIjtuQfFNI18JDsB/Wr3rQionHPrIywAiFQNs3Sf/5ei7caxkPhSqmpjL3WVuykvsn6TBppSHCJyPz1VWBcIYem1mPDBiyRBQ/brUkqwQTC2QMNSc9XqmWgNq/d3zyP1w3AvPnfv/LAqMfVEmo7Bv13CDGUGvK+Jw9eURaMdG4WOpzGJunCouaDsVRJPTBklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOKQtPjEiedPdGTsZvXG23dP7PhMOMrl6oHTuImvQE+D4HXsnb7lWjYJ5/Yf1F4xKb/DzunYlYgYc0wqy4Co5AA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA1B7kraHxtHqYabugvG5LbUedxKUpv3jigvt+H0CLigewSO+WKrveeci1UgR2cUJzE4sKatuH2NokUGsT4P9PSRMLbUaAeFsdAjYmynGOLEaSsz1S+CF7mjqj2vUw1hs2wiHLLTR4qSt5L1eP3z3anPnSWPNEMFsDBtCnjr5t8ygSseyyhZhJQSHi2ryJpRP/7zWQNXGle8A4m31OTJLNRm95kx2zyiP7S8ziNfOX+BKITce4wVaqkp0z/8NnuT86Z6dkmL92+ivD2bTaSkM5DXnTJueKdDF1eiIPIwchoYqmUSptqikAFU6IXtEcmx/unyW7aJ2P7s7W/6GOi0tUShQ1wh3NvTE7TfDSoz4BD5E316HX1NyPlPQrS4Cw8VFBmI9slxuOPQ6GyY/7wdCS75stsWgc5GVj24UiQcraVKvnnORS/Kwno0RAuuIjxTlpIdoscdp3+bX6G4pcyk7mlNglxqw9oCQxstQllTIgHtpKLSxQmxqWVqoJScZEUSvJHlsQsXfwks3LLALkJ9EucfvOos2FvcQoosNG8eRvPt22k+5PlA0f6Q68OwdPFOqNOLyv9QdcJp1WGhQuds1xW88urE2pbMBFzhqboJbyW/+VjiMTATGA/Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwICB5IOP9cIC5Bl2OTZlauUcSc+3xT+W47Cj2g6HsQOin0JjsBbh681admojm4iehteVuBzkecdF+I2kypSIzAg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "2CB257D487A3F6651646C42BAADA1C5489D52D9A9CAB9411B50664E42DAE4195", + "previousBlockHash": "0672CFD58BD42DEE914B6AC105354632ECD5DA6C5C8CAC2B2D4036D7E6C2E98E", "noteCommitment": { "type": "Buffer", - "data": "base64:Hco9Q+ZG1EESKzJ1p5Rpux2u9v7lz37ooN1NA0uksDU=" + "data": "base64:sQf8rr85omjIEIdQ4TAj428NGvIoQuGVlAgankhDjAM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Ma1jslPfyHQuBQZa85Dhg4wqJpwmkdqoZB9SksKflpA=" + "data": "base64:u4RiD3Geb+HP9U8fsPbkz123hbAOulutwWEHQfs4rww=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243762845, + "timestamp": 1698950329237, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -5232,25 +4885,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAxMLpyaRGS1PHNzm1xAu0zIzHz+LT6+4T6kgXkbNmBwa3C/yb/otKec5ZuADprKSuRWFPEF1tR+T0QBd+E0T2fUVPmUuTtpiVcnd4YnFE3nG0d1txeqQVypHDKFJeg71m4VVSWyz0D5hY6dGxjwTMbpZGZgkc3JbomhOLf2+/R70GMl050as+tyZy5StRZmAXZRiRMW8oUyZ4hIWsIWHJy/QaGhyTMVXmeAPFiJyO+CSUEXf36H9WCIEhSd40tsQzps2bKYmSvgFM5ky4CdiRSTPojeNWYxyG94N8+hxRmCEP1Hu9WPomdlqAmdr3i/yFIzCALwJ+Z9hlM6Pi/9R009n0lByrrFSNicEaW+AIIB1p3pZ27RM3B8YgDJoGKiZVfnYYVbRh7BML0xqQr2dt3RK/F+bI+N55nv8wF50Ku4IXfDm2hc/52HjiHJQI+b9DiPEIFG+3+BL1G3ukbStFqYMK30kigHBNFzEaX8JWWYe7bODgjnIhPqAl2M/NQIY4IrVthT6bBdLhLyoTUzmmaibJLLfiXfN5vyaEFCEIANodB9pUmV2pCzXi4zRQcdccKysY++zGL9gYLuS9IEHy9iRaL/mI3IfcNRoQ9Bf44AGpYAb5WZSS+Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwUmMRtKrSH5wJGVnyvqZUv8wDwI6WKKlkLcHGgmXQXwhdJhRuRMsBroU3+p5iI6O1b798kxk7vGCWsgBMor5MDg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAACGJ0wY8cl3X8B2HWoM8Sjgqe19ORXJ+8PBQwwqrfPTmrkRnr6pumOvLCSCTcWd4qQTM4JEuwPfGzgbjF7W/exJm+LFL2hbukefD+KWBh336QfWQjx0+vnDh06x/V/a2S3dEpDlDO9seojwmN5Q2UBG4/b7LZNKo458HQkTg6Qo0BadHspb5lLhFUjGgJC6f2NIyyExtK58ESCx9wQrIKyP0/FyYpUFQEjaybFE0W/zmITkc1G+jU+UhTMmVWhmak7aRvbQYblFsvwozhsL0EtyRaldXdPmAphw1Uu/xZeEuqjoNKkPjxmmMsGRJfrcqa9AM3tnKkh0ubnwSBaYOo62HEJGaZkfFbnoWcye7qSKNsqRnlkDgyplMWdiTdISoRbZbSHfImaMMhTgO3EB8u7MCQkL0jHDhAt6z89BqdBxp6udVfw8MfbTWPGYdetWm5gteupto9QlMNt0saajUvuEP2ZmY12CY72rAY6CsqlxuwyKtCRI8k3hxc/Si2o6OqIQceR8oEpmMl/9mSLjuIv4iNZz3qUh5tr0BMmcFGG3NH3K/pNKOu5NS4Ay8yASwrZ8OJXCj16YmDAK0GvnccUvj3zjqIdz8FBbROgF4ozkP6x1XRzyoatUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwe4fXvk0/tzfiVmmQNH67fAdOGLI5Ug01XawxLDhxWpE0RGl4NBayzDyjBfJZuHmOqVtY5OhFu32ORZ5hZM8JCg==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "177A6BB2D77F98D84E78E541259355038C3D074B38D84B16DD63F198ED9DDCB6", + "previousBlockHash": "158E4A48F5FBA60F749E1653FF8D61D6EFA53D6E53CA7CF986CBD8DA520BE874", "noteCommitment": { "type": "Buffer", - "data": "base64:nm2fyvmTUFtQ/A2I0789J0pxA7zysii4Of5dGaMBsA0=" + "data": "base64:EYxhq9gGxMUjsXMKQVrVzQ+F1Vf6rlHjlG6h3ORsnxs=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:JcYD8z3JkSA7mELH8IzI3MhuzEqFbd5WPzPM4O0suSQ=" + "data": "base64:mEYENhIGj5vWsoO8Ta2EsWm44MHPGNFNRapQhXwt4og=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243764171, + "timestamp": 1698950330721, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 8, "work": "0" @@ -5258,25 +4911,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAwV/Rncbt6lUbcYtvgSw8KnjdHvzYrT5lx/U2n23q9UOzpJgPbvqOWVnvwdLeBATSoEdoXsdUz7SgZH/70xeU/Dq0a5wAFCz/oRCMgmITxlim4iQTGe6hPZpF+MUGFzGtkUtuUXk6BC0PXZslTo3aPYRQRLp9Q6kTC3a2YL1AICsOrVGKffQ+YQL5L14YYMgfj2QZe9nC9ScvIHR4ed4tA/82eExU+FMw/Q3lx/WsluCSmO7hn87i4eyLG7S+AvLUavrKHMH2I+TwPKLLSzptjUeD5fXMA05fhheY2SFcJwHwz9V6KibfTbrYIdW7iRC+hwb+3WTcMjbvb/Jru4Bovl0af39aA4zJNSaBPuc2N6uDQKAEVm65LNHhb5ne+DRw2AlwgrXSXNK89qC4Sri5xn+dlS1Wfgm12q9Thsi+ZFdcMs9ZlOU3jlSyDfpJFrETUVh0MJU1WIm5iN5ILvJhW9dhuFi27H3Hia8RzSdnB5NDf1K22oPwxpe2nnhX/fqhogwg8o+R8Qo4xrq4hLQ+AYtHGccSeN/8kVk44P+FEXThO/tZ/5XmaSL5FNzRMj1PHfccZbT8I4zSzFNCCdke/bNgcu7fskBcBVHtW/uRCnkjQ6pKWwb/K0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwnpH5dwKrFOPPIaRBtS/LFqtKIW03ebdg6kJolAJO0+CSJtn0CQy2AJ0hb7iCPl35MXLF3xQuSgiWma/nFxNyCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAtkwBV74iiLGX/yOz+Min8G7C3y8vSwgE9SW8sRzjBm2H40ZEt6alDjU0/BcIs/DlcOSMG8CIIxK6vfI28k4SAMxZ4y5WSHK8nYDoGzRbhI6xCvj2z49xexAKudAyJh9ezB4XjaFy4sqsP63+YYT5wtSLJZ+c/iN0NsXxGGQLR08TXCc9L6yZE+OQdWMnCCNqYuGO9GZ3FLcRBc3NnsipFEMN/CEog9Lbc99wYF3u8JmNxt00CD2rbnKf+sYpmaxVZWwzY7ATvRXm6o6deSsgKIP2R8LizsIkGS2Q6cerce8uBG/jhuuRMU1Y9/m3irGrJOXzTHCx1Xx+SHvPmDPpOve55vUl0e+p6ZhcN+P0whK6GBjOw4qdWqb+EyyxZ0JbtXHR81IL5QTclV3uFmBRk09oMSuu9KuphBmcJZ3O2URkzr2LECkLv6KfvQEjrc4u3HMGyipn8eTFDKxTefXQpvBXmoGtf0yaBnuQlOOkdXgZhedWiXjPTx5IinzuQXScW7D2sc1WGTugNPyLdjXxSTqHAYCYmQgtuz/r0NRDMVcWQiHcsv2BFUK86Jc9OBsQxQcI2uA9ozOdIxfM8vxsYUg2qLqzf6/nvKj331bc1soh3VsXTUIvZElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJ0fpAjVJ8s9wDbrUNro8pN2S/Yjh9y8rMMzhj1K1pluiu1vJBUTJxDS/3eSSt2dMbK1Q+dOHLO8QJ3L2mKHEAA==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ] } ], - "Accounts disconnectBlock should update the account unconfirmed balance": [ + "Wallet disconnectBlock should update the account unconfirmed balance": [ { "version": 2, - "id": "8440f75d-3d6a-406c-8f2f-1b800ecadadc", + "id": "c786ab05-4789-42a4-930b-5035c693a948", "name": "a", - "spendingKey": "2c49ed7b017bc82844c3c3b4fe0963997ae6eda5b7898ae0de8fb075e096d576", - "viewKey": "aa40aec37959f42796df1a5457520ba0833a0f23bba7a6bc4b818613db8a208f05d986d6ab0f81f44cc4c3e11df791d0232d618baf925749a88255a6a8eb1cb7", - "incomingViewKey": "ac68bb3d3aecb37b5c53fcf7b7c5533120ddf919cb6a256a4f0331769ddf5e03", - "outgoingViewKey": "5696d7f13c6c9045ae087b05f04c730825898b0f65b1936f38f19732333535eb", - "publicAddress": "8fbb4073355bdb2ba0edb2ca9c7dd293b145759dd6119dbe446719bc02218960", + "spendingKey": "a2f597aa9f6d0059ab0d035a616ed8764f7efbcbe1cbb066defacd74499e69c6", + "viewKey": "949d0e846dc52af81421f84e4f39d7b5c4bd17e27a24d6300af37918608fddd153842f294d015175a050599cfba6fd01fbce0f1b50b52963cfed2f23e0cce0dc", + "incomingViewKey": "469df462a0fd10adfc04bc8ce4fbbf1473e6b03c065d01615388ff25a392dd02", + "outgoingViewKey": "334b3b67f0fb5082c513f3429241635c34c5b8eaa06fb70c086ef69dbaaffa06", + "publicAddress": "5f52cce64a517f04ae50f575bd71c6b3a4d4688e51823edb198c192b04c3d2bb", "createdAt": { "hash": { "type": "Buffer", @@ -5287,13 +4940,13 @@ }, { "version": 2, - "id": "86fbbcfb-0ffc-455b-96fb-226a3284bc8f", + "id": "02714cb6-e63d-4579-b620-8ce5462375c8", "name": "b", - "spendingKey": "3f1b9a345c524b05a437ef0797f2764652cc2b08dbcbe548c2bf472726df5be8", - "viewKey": "5ba7ddb4eea085569817e7c630ee0dde2d53645bdddfd83d1430348f6a7d8a300bf8beab99b76630b6ef15994c2f3c679772712be8c5068ed7ac64acf52bd8c7", - "incomingViewKey": "59cf60da6ab84ad9ed8900c4a6c2aad100363b4593ddcf832b946648a40c6701", - "outgoingViewKey": "91f9f784a0fe9bfa369ed54e11739265076a60c5ad98b70742174cc553efc469", - "publicAddress": "9f20df1b4ef098c7fecdca8440cdbd84889560d540f1d14aee239e44ca424e88", + "spendingKey": "b08bade86e54a262b490ae1c356fb03ceac43b5e751b71b9626ccf8bdb061862", + "viewKey": "f382190af93861d9dc1016b8f060f916a40aa43f221ec18d2d74bc28d8816cc2deac106555f0d6a64fdf3ea6f5a14b516e11004b766c8addbc5872911aaf9bea", + "incomingViewKey": "8d489742282c24cdf427823caecc8df7a43470f94d3334d8198aee3deb894302", + "outgoingViewKey": "e42ea8d1351c96ed913bef29fb5b21751a7f5c3321aae69682c621c3229e709d", + "publicAddress": "80e090909c05c2dbb41ef0a544d8c6e82727b69c8b864391b8d209fffde2225c", "createdAt": { "hash": { "type": "Buffer", @@ -5308,15 +4961,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:MMJrLkfw8u7Rr9fiAvTR9eEiPl/X9I2o/EMG2eruVlk=" + "data": "base64:YQvUcLKudClPSetsxSDZg3kl9iWdZjTv6xbK6Q31bUE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:X6MzzalLRNDlBTJngb5HRY9zHHD8C5MEbdJpD+QBM/k=" + "data": "base64:9NWkFYpAlIMULRBpr3MQxJEaPTHzCXH+XSbyjWIGe5U=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243764619, + "timestamp": 1698950331173, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -5324,25 +4977,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAxTqeGmhK54iN1P/id/IiLyrUheSDUvexsadI5r9ZapysWBH5xRzK3t2ykKAXqWpfN3Fi/BCFnRwsrs64uCCP/iXtwNzLPS+SjsrqU41iViyXxHT5vGYGQeEtcS8SyX5ZQmWDDBiztrm3RgmBH3TPZYE+qDSN4zHDUncIQ4OMcKMHS43et90U/AoShc1MKMlcx/OSkFHJF/wVyoHCCVrHD+sLFiglEf7UX0A7/epZ5e6E9sGYZVK2QhjMszAHtmuhvuiZBWnTEXNtH1pDkhWdnBCUGl+tz3Mc2IFinEPI2faYfv65AMHldfHEa8RtFsaXkwAuuMXD2s1pib56o3osQusi2xXHPxLXPRkG5tmk7cGKZSy1FfnRlOaNrERD75cIs/mB/QXfyjHJWYi05XM8H3gzwj+n4vspubbYhDaYjPHXPb/NYVsGaOjYUZ2MkzgGmzZhMK63d/T3zmiqeO/7koU2ZoPX6UYSares5C+JwUWV+18bV6+RT6f/DDN4N7BdD/RW3solr1zOJmCt3QfG7Tk14Pmqd/4kXBaGN/RLPHVAM1NY5O4qf4Dt1uWihGKj6WGSuIcj3Uv+U61VqINj8WpmKXDv83TCthQctGOR8ot79F1BJHiW7Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwSqGKKtUFPgLUMNUzer7LWfvAClwhPTj+FXKJe11hGUT6l86liFxIBuDwcoGaqR3hpJfEfYq43VK/7gdMfI82Bg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAVmPT2ND/O8F2Jrh5J2xy8psHTaBpbG78DV5P6DhpkuOJxI2Dgyc3uBZDIC6nkrnqXSPmuqE6uqzmR1UfB/0tfX4nGDvRSCVojnlWR7vRw6+XKd1qCPEb/wV4LQzv7N3BQk84QI8n1fIYNF3znTlCwDhdnGzDff3z+NNxKpM/XXcMJJKdYqPjM4BCXxfN9R6yV12GH5dgxUgF6fueiLzTCpRr+lYJu1linDd8oAA20DmM0KqsDplfs5CW5Cxi7Mu8vDLPa/YKHCmRfX+3R2uRxpPwxu3DHlFupXej1iO9WrrRg8K6yYRtf9Mz561YR1otKlJbXEmRue4/jqwTK3MEWNDbOrByzESXNk/p4pWN9jxEEGUIlZwnloq15dhkTkBEAVAOF87BiKnEyM3dO4smoNX6f+IzXrEAdyqTO3jqNpKWpEiaXhuC7fDJ3/VESAKrPWwTaSedjAcLL/O5VnyfFfbJNa+KFlY8ISEU5W24LTS4ICI+TdzhVG0s7SSejMsXmBbXQfgD+vqt86p2XYZLS0E0oNGjo0IXoWZUzl3gXGkP5wb0so2b99lr0UfLJoZXnC8e8bQGQVNNL8ual/BeWwdYBlutizhslRjwZJnrAgCLotYPe1MSQ0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwd6xSfjVzhAWc0pQicCDgdIrbv986Z3crGm6wT+LM6J43RjEXTj16V8vuwGvk3XNnbvb6yfqHEPK3rOfCfkh0CA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "109B6B1B7DBDE2684428CDCEEF5D9C920017ED6E4CD9CA854B5EC082A2308FBE", + "previousBlockHash": "7BA28559FEB4C8A3E4168FAACE0C590A2EA66F5B3DA8B4BEC8DA7EAFC3102161", "noteCommitment": { "type": "Buffer", - "data": "base64:oD8qpVTGDgtPv2HI0gVMPIrn7iD5m12JejEsd+OmKgU=" + "data": "base64:AvxYhV6iZuOx0NzGDQHQl6zLkHM4SrVK+wta1mhQjR0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:6sg8EYN+0Fp90okLX5V+ny+rVERihsJnj0EpeYierYQ=" + "data": "base64:vvlNJhUB6jmNn7ajan4iGfdPO7POvzXAyE7k4VQAT8M=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243765948, + "timestamp": 1698950332504, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -5350,25 +5003,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAA1pNbA46VLXUappiV0VsqxCzQf15J0Hx5sF07KIRuadaDdiutSn4DSDZGMZkqv9uTyxl+OdqSi2HyYGSKJsgGBvQhEy4kzPXFm9qkL6s6fSiSbkZeEtJX5+HaY9pLnbidSkBrw0ofZHuRIu9NUzhzgDGKcSHf1OBuxrWoFdkEbpUBAPdbBJ+HazZ3w2LP2EiRoAoARg2e/bUEVzwZnDi49ZMKnG7cAx4R3k6N0gkdrxijqJPvLtVm70lVTUPHrcOCaz4z14m+t8J0SumogNU7wkyU+2kr0kURGWyGVb5nZ++wZf2aY2SoVo5KMT+lAMOd9DZF6L8r+Nal7A6mAwDJNX03qsAE3RMu9L9u26xFoIHoShhouJKUbrO14HcIQ7kZW5c6cjIb79r1cyFmp0p07Ivr61DH0NNErHnySstCWAnZ3onRVAkwz0SC/XtNGFH2gJi7bGCg/n56lO+c+a7WyT9+iOMSIxBAaDDsYLic4ApN9hZO2VmUpMaQdtkFB/TEXgGhOq/96qhFcDtAW+kOzvsXib6MyWItHMxP/G+app4tjcwAxqG6M4y24tHEf4/zocnLO5m50ZsBeJJTcotbL3MWZa4bouA9anTN1szPlUfb1Lxi6W76mklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw4/oenDwXFVh7DWlWR6KSEAWsPzb6S4f5nSLAcsNkzDxs97DhOOCHX7eSyBC+ent+MbiACn6Qek6VQ2acq02ADQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAZ5o29tjP1wCIT7H/2gPgsfNUsg7R5Rc4ktaSUSJBHOmPzg91pkZbd9SAyoCH3R/yEgmdcTryQYezeLs7B8nljZBYoD3rwQ1b1aRzPCsH6x2QvKYkRbLLj6M0+C2E9WOi5rbalFwreZ/A8ApATFCgRknIqvKl5kVAVGoh6TPMF2oRefxhVcqotF5Y3FG3k3MazirBiWK1Lfe+p4R9GwtbRAdDVYxC+uDxCSkjZc6thzqiY3iAdmvrHRTCv0+EPmHNeAWjsWI8WQzhVaMAXTut8p23X3wtn4d+PAqK5GyWf3hhF4/CqF/8CApjKY5g2hyxGeHXYSOaMVyrQAYDfOzCIabELjg5wzRRL072G70wVbpoOIOdRE98YizdO7uR0m9ho8aLFyawcxiY1+XOA2HOIXKz+Gvzt1QE35gu+lwl+su512DuJ82BPoMiM7JlxQCYu3A7ZOEUHJUKU30/AcATSoHzEh/P3s/vSiRLeZVLzdKnx1Z8f7j9Nijo052SintbMroOXdZ0tijIf0QnrSlpMTn3oJ/DBQSuM5Qdt+tuCCKSIazD+Eb0X8PsY0FsenE+cxXmy/dCMuFk6exKLQ+IQYWzs4FSYvnwG/r4kXHAPk5+K0j9UeDb6Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw77k8FuC/mLk69VwCoS0XkGkZvEKdr4RN0b58HKpAButFDvHz4UVY53IxOHXSeb1KIuuQhWGz4eLQv20fDdpGDQ==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ] } ], - "Accounts disconnectBlock should not disconnect blocks before the account head": [ + "Wallet disconnectBlock should not disconnect blocks before the account head": [ { "version": 2, - "id": "49e70350-e8a1-4dc4-a3aa-54fddfe768b7", + "id": "55503f8c-252c-48f0-ba98-ca60f2a4c91a", "name": "a", - "spendingKey": "0b5c63edaab36bf4273d2fd4f310e1a35f27b2e6a8995fadc478d96d7085d6a8", - "viewKey": "8ddb2e89635d2191e695c54311b8fbc590e5bb0d93020815dd955bb2b5ec16c9e65ffbfcc4a384c67a0527489caa5fe86e892c7da70d8cdd050e2d40df0182c4", - "incomingViewKey": "3f81dc7ef0e3aa973658c8132594987440701a37434adf8f24634331d3ff5407", - "outgoingViewKey": "c14bbd1be5bf68a82e678153ca0fb0061bfca6a239495d7b73556327151d7fd4", - "publicAddress": "d28865defdef2f0d9c0bbaaecb8cf62adc78c0118cd2e9917fe47f9feb94b243", + "spendingKey": "57fd58a8c1c3fe415b9841570fb457c9e980922a3ddc42d7e69331f41eb04a47", + "viewKey": "6685ee31239e6d28cb6645b4b76191f52d3600e34f898fb6478af97f75918aa28d775d4c8bea3a46b8665ae4607fe925d025b3a6ef1ab71e2a58915cf8686353", + "incomingViewKey": "1edaf57ebb5b2d3e7def76af94c0d6cb1685c3968ca0224bb4b5b2679c27e204", + "outgoingViewKey": "51c32743ebea49f91595eb7d5e34301c1644bfb85830fff6b6680d144ecb5433", + "publicAddress": "28f411852aa3a5860559feee36de69c115bf846955b9e6ab84cd5a40dc0e679b", "createdAt": { "hash": { "type": "Buffer", @@ -5383,15 +5036,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:/GTCiRFn5Dc3X9YDWuV8KOhbSXuWJYm/8M+0EyUZy3M=" + "data": "base64:Iyh9crRT/DA1qLtYl/Id925JHSX7V6mW/s51shO3D2w=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:VpoqocctBUHuvS73zR77UWrhqaxSqqpxlVa2iHbJevw=" + "data": "base64:6nLNiTDvJUcYZneubveDtuQnmBo7lXrrJKKcfnpoMa8=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243766376, + "timestamp": 1698950332942, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -5399,25 +5052,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAZ+yOh5ZPzSNJekbXY9mG8lMtgtHwqOm7QBW8e34AX9Kz65wkeos0YUpp2jGiAoplGXGfd2Ui9mdZzUeOWzV0/KKa3SBzGTnLJOxxLu7ZPEiQ6yE5bE6Ybnf6ZywvvWbf6cGV+21HoUgsGwHnW47DQqPhap26XN6Vu57Og3VRPAEKGklTPqZNyMbhp3J1SYJK9wjWXOFy1I8kPdfLpf+2d/7OmCyl3kT+6MzzMd5pn/uCJelsZPFu4Ur3O5c6ozMP+rafbun+9a7Ahd7Uw7gaCzkdY4fLs74VvHDOYLsQKikrojP8qOpoJKJ4V1stgO0gZcB28PJUQiiuVsqxpZlSNEyig6eeez1BJRwZ8wL75K21hwbf3bvN5CNtfY0w8ghY0DG6mimtf587JE6WAYq2Frwn08qcTVfaH2fc047Wlto9YTpoOvkt5mN50zhSsVnXd7QrdVlpsodRjEYMAUja7XpqXvttm1ArUj9MTI8vUhftb+Zujdexcr8KMmZmjHjLIFf0ALuk+LEgTzwHGSLlshEaVq/ueJxYMUmuBCgu+LuYhWK+7zQ+SEFo9cnyT4R3YqwWNX9GXr8cza55YEmQKw1viUeWDgleD587I0Kry0sG17PyfOyYu0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw/R2M9rCCPj23yoTTFgROBz5GYct3Y15Qvwoe0ikybF+oBzot76gAXegU9h87iQsoCyPhqaZywi+5k+y9rLnpCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAATF+Jdp9xGVO1UjCLPTjCLdVZYDAY7+kDzBPGZGW4+ZiBpDFzzLyayYlC91ddeVy9U9Oti8CM649gQ9Dwk+iitiZCfFffp5lM2dW/Zq1lGLaEkEv8K4tFZguslEkv2JHRaSi5o8m4TNVX0eirst+SIq64S+EsbE6vY/TNrS3P7uUAwK4kQ7PTcfKkZ1t92FF8ondC+ZGXNN78QBDXxDsAU+3fB/tLJEB7FnoR1plc9NqslN1rB7QYF2QdEirvH02wrf8toBv337mn8R4t1iDJrSfP4D/Zeoc0FJ3jSUr4fbhJRzc+uKwcUdegeFkdoamrOjMefXTCtCCAnI0+mp3uw74hl6Y2+VIibc7rF/Wmd1kwkBnzAA/X8ZVm8dGLM7ZCVz+i16TsIcJaYHs2n04WLtll83Quj47dezTspbGtIj1kVoytyqjx4x6a1AJzTdb1+UODyrvrR5AD5S5r7e3xxhcQ4hA8ozrVN1FSqzr/JHDJzLpGL7dufzGsDQwxdq8DQApGOsnBFculhS6qMBnKbN0pdbZgwQQo0swYMujYXl0c0UhNel3yfkkM6N/QhG/MSAtIwch+j8zUVD0EFdN/w/NJ68wKxDa2uxNUfTExQ4nGtOluhfmaoklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw4Ma94hkwJSRvtPlt781uWN51phSnDVO/hE8tnxPleMc0RmS2ZYPFjg4zXJchrdE47TDI95PMG+e7lzQ2z56MCA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "9D021C4AC0F04FEA0ECEF77CB694A948A3D9B41427F60F7DB38A35A6B47305CB", + "previousBlockHash": "1689183C59EF9409CE08ECC0EEEC62C9C17884B78090C65C26B99BED39B6F48B", "noteCommitment": { "type": "Buffer", - "data": "base64:QEhgAv5edgot6FouCwz7gRvMYajz/jqFnoWeHuMqZTA=" + "data": "base64:15MmNVx31dzFhotM/dsnUKjHhlgl8XN5ioNIUvJdjUc=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:vgQ9sOkHjy8GzW9ylAWEPEKTZffY9otWhqe/IDdRg0Y=" + "data": "base64:2qNF1+4ia/f42OhmRM46XqvrnnVH0Qwku2czsH+Ozew=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243766676, + "timestamp": 1698950333250, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -5425,21 +5078,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAY8FPb9aOOFar6VAaOlZSQmOnVGPpLsDPBlcse5oAlGSUmQ09ZY9KDiByVTK2QJvRW7K2eV+TIOuUa/URzRPQ53IbvQqONz1/jqAftD75bsGK7QxQ710zeA/ipKpeQjYlQzykOiNBU9hTL51oq6k/8O9/UwPqPiGl603xvljnidoPi0zk4DBzjiMAUTtTzkEmSr2YYWZw8ih3eENE7NKfOdvIUkm566Uw3seb5u0q95uYKH4UQpF7L79jjCZuOa5T3LArwndYv3xmpVBHxwbYiNjGmwUolIlEyQnH18KiryRPmBMx5MFuWMzosHQYJAmrcf2byIAF5eP98bgs/g5zsxW/Q6ExBgEi6cVE/S9BjpvtXVFOa7Tf/X1FPK3livUSqqyEfeRCJey9bE+MXJLUl/UczZf3KMftP0nVBO3HoyTQ1/bh51M+2K8un8MdZUho89q+55RrmW0JpotLJrTooLYWXCK94fPuTAJrSbnuTuzs2JzYJ/gmL+5m/qva2rAn94kvb2oeD5uc30Jms471RQYch7KEF9kOUGspb6iuk9X4sNunbFgP63gWygetlfwRD5P0Gk5thotNUewqBNlpevUYSMlkXgRW8q6Chp482R2pgwaWBINwS0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAweHav7Fx0vhT0nZoUe4vd+t7RLFL0dQz0udb/CCNBB7djs3NDJS/WzyrVCj8I9cVrHKMU/xPgHjk/tfMcRaibCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAwaxmGyzeAlb/pu9Tv1JfYjFiJEq8CmeJ7kzhI0eylqutkWBnQ1/l2uyVZ3mhHZ8n5OZzA6EhdGjP7fK91ZdvF/P+pMywwfTXXcZ4mBAZ5MiJAA3N1MsnWit7e0Jw9rJetRWetXhwUxNtreXrnfBPS5TixQbdoxsg05uc8RtqqP4DfZdWjbJwug+LFgD+KAuee5vHFrUz7JuFCueiGKyFs6J8qv5VJbgG/qwkY0O2S5+3i6XttKkGYxe1MuwLCQuWfxOdyf3oPExKOeh/QRkqyunI+nmplCY5iq+/PPhoJYT37RTiUZVFCLjUIyweGM280euMf5AjxkFzufmiBpwcYZny0oqWmd+iGwEwsxutJ8PLuHjn0oTgE7e/Y8zSRxcp7oNOKVl/XnEahXYp7KX/rQU99Oh309B2lla0pR5lPq6QZgkLEscSwG/2k2s3L/u+xDn10jVEatFcfxGnPBnfxgrFttYRAIuiI8sUN5mh6VdYO7Q1FysVLS6NcFR0GfsrzMxR7bquXJgGtB53a9r7AIN6Yccpv+v+B9OYweJmjY3U+M/VSpNy9XAVJzMAmP+uKA5uY249E8TgNse2jqnQ6e+bTAfhWWZ1CuW6Zcv1r3SSRrg5VdhRUUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMwqJ1HmnaoDcF07c+KNMGj2KQ/Q2nY6Dkb4Awduj6HOSNmx7dLpVyb3bZSSJcLVG8Oejn0gGyWdUAs68C/BjDQ==" } ] } ], - "Accounts disconnectBlock should not disconnect blocks ahead of the account head": [ + "Wallet disconnectBlock should not disconnect blocks ahead of the account head": [ { "version": 2, - "id": "4cd5e090-f85d-42a2-b910-3dc08e199e6d", + "id": "4fa1f755-0e19-4d1e-a3a5-f67137a97e12", "name": "a", - "spendingKey": "63e07187b8a2d0d6787e52f547f3cf8d2f4df8299ae067d661a89b7b4d846935", - "viewKey": "fced253166f5f19b7d98a291cb1b428d5fea08656977b16f004fd653064b9162fe51e84ce682b48984826ddb46d30c630723d66553e0464fe34904bfa1572970", - "incomingViewKey": "e45a974d030dfd1f2d8403cd6dfdf913190aae63b0a3a7e00db80cc25e015f06", - "outgoingViewKey": "f09cbf360161b93ca7d826aba253ba040ac5d1ae5a07fd06fddfc41a7f9830c6", - "publicAddress": "f0a8769421b9f3a04c89038096f57615e44a7f6a35203b172d4bf96a32669e61", + "spendingKey": "5e190aa9a0c1928033df417e85df612b953f2a6edaa538375b40075faff61336", + "viewKey": "af2dde8aeaef165eee6750e6d61caaedfa03c9a746059d80774204772d7f112b81eb3e639c4845181fb4c2bdadcdf777f000a884a61a700d34628c1ae3fd2720", + "incomingViewKey": "9b444f790554859e0275cb35facb19a3a3af30915a03ccf1d49ea6e036019b07", + "outgoingViewKey": "ae8f9a86651cf7534441ac18cfa184a0062be83dd94af2761b3e4da7db745406", + "publicAddress": "d4cff321468425605e71aacbd932b655efe8d2a9aab9372a2f005e64f17fa55d", "createdAt": { "hash": { "type": "Buffer", @@ -5454,15 +5107,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:IndTF3eu1TNDxduVYHLDv3Ff/T+Xc1v94Cn+bnot6So=" + "data": "base64:FqKPxbD71aJY1FvQP0J42ina3FWESTZQ0FaJFsODyF0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:IunJk1sA7BpXZ2xDnynPZHMI1FyckTymQkonYWlgUSA=" + "data": "base64:rSmKgH1B25jc/W3FYFxaVlKBJeQZh+kckfo5FdEdkc8=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243767089, + "timestamp": 1698950333701, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -5470,25 +5123,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAS8+fvwn7CQLl62v1pUoVGzUGYjWh90hEEjB8KHvwTy+lw3JwPhwl2v1ClMdv8pZLT2eSK+itVSXT4/7Y5fiLREEYwa6BqN49sCO5hXUprdq5xNSO7T40WqzA0PsH5IK07WWm8ufMEoJyJc+xVFgT51UDRsFOV1RhLOwCwuKU4y8OFPobHj6/kUEygmUbrV3ma/wY1LLDxD4WuSoySCSwzH6LFIllCtqo1GtuSw/eO1aSJLTK48l00PM/mjULAic7IX5/BbByNayNLJ19zeYmTaY0JFAbF/Y7hSRmFBkmJbIZa2ET1RdGvCE9cLkK82hMaC9/bBvNv0WBZebEqOJOphyyh6mkk6asIMA4zsr1XX5ZJiK4I5ZyVCES+9AippFdBgnuf7QH3X3NvcnJB7OWbhu+kEdUmqeNMdC4aEqLf9Jiq6x8EqUqScQYqVvysYL8GNAkGN2oHJDpwepNSqp7yoqsryfZo4OGCw1W36YnMW66LeCIuUyZe+2JhvZZ7n0rLWBvLb6BUCaC2uma9uHICicbfehFGssFH9B3TYBBKoNCGxGAw2HjgOGr7TaL5kQCNd1mSeu38ZSwUA29dyuHgOumsU5+avyrMNorJmQc89qH+PIXatwToElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwcODLR94n6XkxN0tfJIbT9Wyl70pyeTiynWV1AV7a2wJvA3kWioQonQigWmKEU7FLQtS9iwjs/8aPm8SLt+XLCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAjaMXNIPt7w2ULbr3cMupqA90qRqP2FmYG+LOkIeZyAGSpunjyjSKcXqhpdF7Zx+K5LfYAg7HaKBOnoY5pCNG7LcappTwGDmiIt6+wU1RyIW0yt2eSLuWXPk1FVKe04BtUhkR4lkh5xhIDXNcZJnccrKJAz80eDErPpFu7PDZdXgVcwL1vvCvvgr+IA/TgBhP80S4GCePgnCs0zMaAx701A4aaMlQT4Ntkt/Ds62BrOq4JFcHRx8h3/RRe79iryDIOKrzyZLcQLRWa8M5JegiIrEFVEw15IF5yl5gjPgAVaX1zHY6NaKzCZuwNRxSHBtESLZXn2XqKmpKfjqe+8z9O/Wcf8xrZ3NF0VeZCaN0ONGFiTb7ZvYUzbxPu/lbKk4jvXd65hMWSfdA7ocZ9TMRu1Lb80LqU1i1qwzfKjsNyco1qhV51HVQUUc7GK/hP3zA5EVs6eJBpor1KN/Mg5YAlQvP+CXDdN84vB1Hd2yIdO5EWCG1DB9W8nHFt1BVMug0fvtM0YoMoAh41b+Y1OqfoFKz2T6Gq1Tw3ADed7p/HgMY1OCexkiPH6HbvsePU517b6vsKYnGx7gmRHM7CP9TZ01pPzMp5DuSCJ3KWqyo7w8dgda9oHHrUElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwir6qtqTH5j4f4spt06coU0BaI/ORe0VVmNk7avN6nis/8EHS/hxZa96gKiv20yA3+G6IMK8odgSqd/7vNyU+CQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "1869F11349B4131C8B4D4CCEF22D31C7A97EF1FA72758E909DF3FF2013B317A4", + "previousBlockHash": "337B02E0ADB1D01CEF35902E6150800E2CC0900B3CB76E001FBD480C47CA3566", "noteCommitment": { "type": "Buffer", - "data": "base64:IN6e5hxaaOLfOGVINQn3RN4EsjOv/lshsS4B2oSj8lY=" + "data": "base64:8DiHo0dASsA/OCJQaIZQB+fODebnq55TfsVRYctd0xM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:IyqxXimf41wctYcX7vnKdoTUNKjD6uAAc4S9XdXg2n8=" + "data": "base64:Ocx4zxl6c2ASw/FSyUXuk6CQp0D1ZlMVENSzCO/f0H0=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243767366, + "timestamp": 1698950333984, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -5496,21 +5149,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA4H9uiEoViR/BnC/4BKzlq/iZGJAVHiN48a2eaJNZYBSCKUb2211iGA0ErhQ3bYATprvndBVsX+MZw+HOIuURkLn6acy3SzwigNoWwr5JbLyOcVM6Usz044NXcD6NzwXdi4lLOt0w+vJ5+3nqI+G/0EebreaW0qZTBFjXs+2UhigD/a5/22Tb1QiTy1mwa2lePYQTF42m/qDmaROwV8P2K9sy63g1QUt92ORuChvhgL+y/qZVyATA90M1HXTUAf1I15MkQ3qumOb5crLPYoHhqZcH5drMDWwWMVVk3k9ImiThWhTmpiMdqmlfrDns2B1qhH8lYH9SwtojyQ7cety+seo4R+VaTWnvbkyCLYF88youJ8MZsNg4JOrPDj9q1JkUOqcWUjKCj0XyRyAfFbk8o0KGl4OxYRhJGcVxz1+8eHCA73w0uouTfNi7NVC8prwK9Z+y6UPdoxvXs6K7ZoMEsgkpWSHDsLsiiCcxvEGei4c09SycTCZN2nthdpZYAcWfHAeCy7c2kG2h6QosDOD5Q8Q8XmNoAWsS6Fp1pLIjfv+GE8uwwtUmEmUntcReimFLuebt1KzPy16wVVojtWlUjJNY4ZEKdQkIKlIV+dBCq6SkNiha84LR3klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwzJntVZOwhGQl8YcoxHfmfAHigyZPA8HtZHvhwMuRpGAb1YITU/MkxC6fTdgqWvTp3wi2CWcWhLgsXfmDeSHZDQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAb4KqNtUZLwkNpxds8NdlFxzj7CWo1pUEMg0HDqOsroqOo5W88+SLtM+M8pR/zF3VDWF2ygdUBoWSaE9y7wZp1GARI/Mymuitw5W1p1j+Kiipt/vrhzj3K46h9OJVSPvNnKxop3LCpWzIeepyT5UTC9MrHZewF0Q48vb8aghzm90RBsebeAt2WjCstEi5j3oZxfqwE+lknJgbGZodAVtxVz0HyAq82pzS2vQDOLS2IY+ngJ2OMGro9adKv1lrqsWbbEGZRa1wqNudyyV/uEUTnWcaZ9//jKoD3yYsAoLY/rY8Ib6wmW6T5vK86+ASualBs4NikWgrZ+cvyaCxYLdJbaDTfAy60jtQc+moX+yU8TuJYjUhFr4F38J3cdJnEPFL+I4H037jgKyWod33ZUBgz54A9EncnwPk+kNzET3B40h+4FZ7yZB76bT4AHUY7mxb/ttd8j+bjg38XmM5MdSYUvpJlP3tZrEPOaMdcfFgR4yd6lLZesYI/65jF1QJENHutXGvgOb8RkmVQ2DUfnooOB9TzET4G8Jp51g/hWHucue0a/1KElkvuNB1fCvOZH/6uyCMTenot3F/DSKUMdNZ43Lb6AGS40fHvxtPYFMYmvDnI6Wimrraa0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw4nkr1m4+W7e3rvloCkzxImzK2n27twFiU4W0rPIz38HuK2+mqNfS0C5f/QiXtHfblxzWTdpX9b/zyH4Q9EJWDg==" } ] } ], - "Accounts disconnectBlock should remove minersFee transactions": [ + "Wallet disconnectBlock should remove minersFee transactions": [ { "version": 2, - "id": "2889d624-d92f-4282-9044-b957dc379922", + "id": "f5541ff8-8ad3-42b6-a4c3-58e1568e3a30", "name": "a", - "spendingKey": "662d1786b087e1a231c97bfcd61e4779c29e39435ecde39d2a21159e2d0277d1", - "viewKey": "dc59f5d97a907d3b1ce66054c58134bc57effc3ff683c51b4ac04a4c8caf453f15bddb2586afc179bf4ecc6eb37d31595a6a623df8de9008fa228dbc9a18f9a1", - "incomingViewKey": "f2a38d3b94cd7844ff3ca8c718225135d19101759e1d4c24ad74480d06ad0f07", - "outgoingViewKey": "0054291582ca961dfa3d9109b3cd10aa34b2c9ae1ce024d3e31ef848767bb815", - "publicAddress": "109b1df01c21ef90b9b78e03e3d8d2951af6dccdf138aec453169f1f28193b16", + "spendingKey": "15c583e9d8168f7a0f2942e4b0dab0ad761e659e87bd1f1971b7156eff2bb818", + "viewKey": "afce38f4009e33e9337692f9dbb6325c91e927582832a0d5e266867e6a8b4a6f123e3f23491bfc262fc1872d7532342da9cc732dea109461732016a1ca873a00", + "incomingViewKey": "cfd936d5c59e234d6080917b555752ece93d88c3b755e08cad770872b8c11005", + "outgoingViewKey": "b6012142c8d2353927ea771a323ea49a48d008396cd15c95d66d122366f1f49e", + "publicAddress": "7468528052908698e3cb3af8e53a6bd84334d10a6caed188aebce3bce4a24a2a", "createdAt": { "hash": { "type": "Buffer", @@ -5525,15 +5178,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:NHBCKJE1TCIWd/As3ixdIYqezYqS4I106Ttc3jTOuEM=" + "data": "base64:X/wGwlZdrjGGwKWD1hyQYZ/lh8Ko5T+ahQtflw4FyRI=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:H9O19IwEcE0vwHKszKbwhB9keWBtfe7V9N1d9PS5ld0=" + "data": "base64:MHR2qcSLVt2HQP/WM3fO6x553uKILElsM01RPgpX7r0=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243767787, + "timestamp": 1698950334474, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -5541,21 +5194,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAr6snsaSONM5KWM11oX40rbGFUFqrxrQ2Ub1CjWi4RaizDIvoN3OYBJmpZAVd/sk7MfGADCf8sdsIW0OAgvWMaGIUSGkVDN18JJuytXx5W7+1rs0rvKNGFMLrnfmhFHPbSwy7chbZSFHfzC6iFuPj3ql+FJFgyKio9xjaHgFFPYcBpEudzyDpkfllZRlT78len7NFTi0cpk/cempKoRAE5vU19EngXW9pBrDQD4f/DMm4eumhPrdIQlOL0ehKbFknSHOs3LLhxU9XUdnUmnFdFg+zjDdyPWg5RJga0dcNGvfJT/pmfPlhTCsF8BA39Rqp6AagM/AF1mX7UERNXaZ0jseHH8mDvPzqMXoJBZrmdib07jfj+6WCECaoRA3es2JO0KN2vJ0j8W2CnNBPKEnqXqrykuf8WQtIUc+gOtbh7lM4PPkytIA1zIhMAx5G65OI9s0YxRTr+u9RuELA0Yp3sH7A9nRvbtu6qELBMNUNo7QtBNTHNZQFjUHjLH/NijmS5+wlXQP/o5QvUX9wrDFCBvxtENpsX+viisBYz5YIaG/UwybhdHTFXtZhqvRBBWYDNVpxPnkFP1PZ48jpWOa/MLL0JJ0vWk3p4/iif8nWk0fTc0XZIbuDHElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwrte1jxK+xRaQpPe+qJ2xw1763SrYUph+2bgQtDLYm6/WJjOQ61v8gcS+3JnveeIEqFN+2WwC0mZyxqwc7/K6BA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAB3Jt6XKKCMoDNNdOD7u6zj9avzHrbmyWrd3ZLmiSSJ+lGbOSYGpGUzQ7kWnQxlLkeyFF5Bj3Hs8mzOCrixFsUWtwIggFygPKLzc8acCTi0WhqRqAOL8gvGlzkyJh/BaonXoZk6IhFpsyqm4VzUxVeApSGhijUePV1lyMRoR/pKUYfnyx+kWJdMRECb8dHJ8TdqyxPW4LMpK4QKqxIC/+/MH2lWil4PwSc48qXU/qxIqRAfB5msvvquyi470PlejcEh/myD27xfNMkhZs2BagFFJEOpUO9DjNCID8SVvJLYzOMmNYL+FlJUpbDmym/mMdQhrp0Ca4joGSpzbmAqTktLIIQyGbbNUfP++e1d0Jn6xVsW4roFtKDVqJI8jAtc0N+gPeNYAPNgKMlRhm1i1ArRhj0ylrMqN5lEkfObjwOU+/8HEs+ju0ckvdj4qyBx5J4QRGif0RdmLko4Ja7U+ySR/dvRD/wyi5NJYYtNaNBz+v4LInVPYjFu6On+1WMDmCzxKdguPquLiLwHjfAET+G165pPMitEidiznj9ph+kLvDv28ibeeNvLDeBmCCanu+wEhRTsjFGQVgeiyWdCEE6dOWP2sWXA7UUq4rEljkvwk9Qj6FeDdVj0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw6defUx5PFY51/58nPq+PKE0E77Cgb5Om6K0LMwDSA5LJ1tMRABKHXYIFKkUWEXyExSeiuYsR2daMBGT4JV+YBw==" } ] } ], - "Accounts disconnectBlock should update balance hash and sequence for each block": [ + "Wallet disconnectBlock should update balance hash and sequence for each block": [ { "version": 2, - "id": "80661ac2-05c1-4a6b-b1f1-6b343f7e8303", + "id": "3283982e-00d7-44b3-becf-66310dc942cc", "name": "a", - "spendingKey": "28b972b4d69f8d26751850382deb0d85d47664890dd9347c6391191989c442eb", - "viewKey": "a36586c8eedf4d8fc73c2c6d3d4640a7eb9a82f2d8e2a00c89de9dde0cb8aa532f4c9eca2caab0d239ba9f2e28983d61b1337c7936b17711f499c98f01a77003", - "incomingViewKey": "ccb4be49172ef15f0fccdb25b54147d106ae724d2b6e5815a947ead11dc4b105", - "outgoingViewKey": "4dd42ce8511007fc4ea39773676f15aac5cef15d791fcaced4e7bb800fe3d474", - "publicAddress": "6b8117349845f02fd68869f911a7cdf921df06d0b13ad7b6b1a4696a0f71a90d", + "spendingKey": "684c02177af79263c381657d48906d7a5fbee7e40964a4f03336d3fad4c10a03", + "viewKey": "5bdec515117a01b9f7d57fbee2a11299ab66660939be3fdc8642e8540094012780e60b9a92fdf618ae3be789988e23b71280a04f33a5b42e8c31c7c8b7a18b1f", + "incomingViewKey": "52cef92667692eeaa02e20e1499fca8000bcfb99b59abb6f7eeeb90776b07a06", + "outgoingViewKey": "cabf42fee16f420af61dfa874fc81690440b961bab3c6e51dbddfa83922cfc82", + "publicAddress": "bd5a68ba18f84298a7d3513453fc95e51ffa6e92615e061c178d4b158da957f2", "createdAt": { "hash": { "type": "Buffer", @@ -5566,13 +5219,13 @@ }, { "version": 2, - "id": "c5da7cf1-bd16-4eb9-ae91-ff508774505f", + "id": "70624384-db68-4d6c-affc-8bdce11f1d0e", "name": "b", - "spendingKey": "14061dd6dc4ec8046a8f4c873c7f33b5c32ccd523e45af19d554298ce10a2846", - "viewKey": "7af3b2ee8495b62633267ca832e75935f2dbf9f5e2bd29a9faf5292fc82b8af017ce1189fe755c76156dc74267d5f7e05ba22c7870c44c8eaa7492e4ee105eaf", - "incomingViewKey": "62ca5e6e027c90212f01fecf7ddd0af306de08cef8135eda82aa49948cdcf600", - "outgoingViewKey": "4adcb2d5f349c0def79695c40fff623f7c4d82841a5c3d4136532a71ffb2e456", - "publicAddress": "c995083868e518a03a0f34671c48dc60654ad55067d5f0e8912ae8009cf62689", + "spendingKey": "6eb651f6fc6060cbc4aa790509780e7853a51ad604998e9a3825488361b726e6", + "viewKey": "f69bbacd9419524096efd650404f76a58fb246cdbc12a9aed2f6e2cf6971c92528004e86bf342c972dd5f0d0f536ee194ce249bba46fd8db3f92bdb511f58d56", + "incomingViewKey": "b804abc59b46dfa9252f1c0d830deb16ff9d5f36335af2207ea5240ee5f7b100", + "outgoingViewKey": "434996ec161648ccd720f7e0a84ecb00cdc80bbdd9a70159ac0f2a1c66f1f5ee", + "publicAddress": "371a99310844bc4641fe02e4d034995e055d91d8ac295febe2f7e9ccc12d709a", "createdAt": { "hash": { "type": "Buffer", @@ -5587,15 +5240,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:0CY/R8CnDerMyyQDtkujE+exEEMXH9i5fI+yOa7QIS4=" + "data": "base64:q/JfTA9tzxAbSjup0UNVCBfGmRyrHzcbsqAa705DaCE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Twrc1Ur2krWtNvM6BjoZjHfKAhNiHMQ/evR4i6NTgmE=" + "data": "base64:04E0We/vorf5k0ZaZrBHtNGl00VBF9cqyytUCN0nmYY=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243768214, + "timestamp": 1698950334885, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -5603,25 +5256,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA04ih83lhuVgPMAb9ZB32TI9mNGI3gbtbfifZPwQaKEagGaA98TZ+y/lIAqnP3fu3pE9QC8/OF/AfkvGJ5ti75QfqqI6chbOFum9e/84ZZXuU0QdsQISKdf+uwDb1Pf2xhEwfsqpHfqmKSLCz+kH/3BXb415G9APmaZnOJnJMsaQI9GkprT42caNrSCIqTqF7USALBQZn8KaYaT4FhFyLkePRFff2kFgKq+wIL0V23OqA/7GNJLXDdJmKUHD/RmF4Puh9+LOR5rjxWdEj/BQ0kl7Z0s8JG6q8VmuHKVVoHgQGDIAilZz6CdqViLXabd36LixtzIp40ZYiyl0D8gPjm2n0Xn3cgGenjNG1OIzjIW2uMEr11kXEIdmUDL2jRdkM976IOqcIjm+oVxw12pz5prbwmaQwAjoDNzpuNc5OAB6xEC3b35VTzB6jvairIeJEmJJHlR/H1cW7zyExwj6lMvI1aAcWIRFeEFw6vS4tas8HbiRWKZKkSjzOzQ6jqvNNm7pkQPhBAWbM3Yho+BQaanAp4NcSrl56PBOS4PQu0VTwj2/gw1MzZNvZHKtHN9VMliAnvdJ1H+A1b4Si5MVt7SCMkeN/YTHzLFkw237UxMNcpR2q7w00OUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwpTmldTBfFoxSJsN9b7BXVdE7GVUQ0Goqju8zdIMEypEKpgI36y3Isv4x5gChwIh3usuPkYnydsy+UuyGRVGYCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAscFBfqzhCq0ap/DaAjukM036IqaVO+qg5OlCPMGtHEGVGZ4MiUzHSu6sgjAMNEHmo9I2hYXJj1f6EQqejyU9WIpkME/oMOEcf4edHhmelYyjP+5JDnWO5+goqjIZggI5ZgbeaMKR673Np0T+KMceuoi/xfYRzOlZTAIrA2Ol6pAQmK5NiL8Qdoiq5ND580ryn+V26PzdD/C8Bvgcf9UF/u+zEv0ctNd42hHPYnWrSqivgwcjBX4BteDTiJTV7hVFneTzcyzeN108UB5KTY1c10Y87bfjuiVQ5jDKE4VTr+E7Ad+SEWvBJTHlCdMSixp1taRmKUhldoRykbPgJP8nCNa/BuUaz7wAFXFUI+OZtggTEr7yn0PUgWAGbDAbdVALmorOtwmUN9w4up9FTQHtXEF058gXL8yVW0axcHaZJkigdQUMfYTIash+qtcdCzZ9BkY6Rk+pAMs3FmP8aGjvGgJG+ntS7cvLsu4xStea0/hzsalgfS71HRd1jjwBj36N2ag1vFM5UGL/tQq8X5+h1s78pNhPeB+RQ/TiaLtCyZ+3vTm3B3kEWT47C3kIJH+etzX8jyJ/AtmgiHDZKbp2lqtqQDh96GxktJhIA99usr0A4zfTxS/xLklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwu2COJjNqHcdvWeK2sULPcznUW7Ux3vNruq9L96DsYCf8bvUnsMnfBzslMYs7n9d9upjUVpExxUbVAkh9gtmrBg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "E8BB1B50F77117D49803BC972F859BCDE6F99E12CD192CC83FEF6A9FC3E3AE1F", + "previousBlockHash": "28EB9AF9ED6B77B3FE34FFBF36C7A8F3BD7A34C72CBAC1B941A3D14729415D2E", "noteCommitment": { "type": "Buffer", - "data": "base64:B5yLTmg7bi8jEHNdI7WsXl9DFA5jotN2ai6c/gl1vw4=" + "data": "base64:/Hdrkb68V7arRgCJ/BU//v5Pw4lsnOyzJhEcroKWyQE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:JyVlLzocjJ2NGTA9YFu8H44TUUngY2/slw9SN+cn9OI=" + "data": "base64:0PXyEwJOuMg5RjELaDfUdTbpFiUjjeDdWzdVx778vwY=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243768493, + "timestamp": 1698950335190, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -5629,21 +5282,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAME3MN8d/dYY8CUx3+TeH+hLEhGhoPPggORcRF1LdeMWkF70IR42kvxFQlr5mniM9+GItA4XpR+pQ+lk6ueiC5G8LnpxaXsai5LHT+FJNdwaQdTAHqahjpktlpteIHx/on8oG3fUHRwzFuy7IXFL6qjiYuyfL5WNanuk7ORmJhdEBnweN039SwpupsJ+4zFcAfuq7LuwHLiCeFpSXhtU9oOsPO9/FrBHStdnaxxaCPQa45nhlzBpAg41q88xINC1sffmNCBvzsV+G7lecrMOkDXQeK0UjMXdEl69YaiLt4dppjQ5tixRJNnuFS1x6WJvdXduFf3g+Hf4eaRF2rzrQXEiCcPmeAy2Z2xy7n2s+LLGD0YjuRpBcGTN1fpobD2tjUEqBdd+fe+gIYSrAoCfAXcdU0/DHzQTVII7lERy3uG7jat15P+jb05YNIoNqEhuzVge2X1Qr6SRdejX0y0Z7JOWdalgynABzL926AVg9FAOtjdUSRz0oJPM8mk1sfy47E4tNIIpZ4yD1VuNbrRno10AuXK3UZh32A+1AgyH1To4JyHjJU35KT2RaOKm1qUppNgJftVVFakAZkVPa7dEUOy0hAq8hdGQbAxM63qWdJ2iDeEedepRS0Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw+THuHQ4bYkl2cEwKXo/v5jpleF3AZIfUNPaFtCPF7mQm1xKJ7Ln7uMGngOpMIZrqItzkpdyF7DpPacvNy0N8DA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAKeQ58eLD3UVhzRNYbLRGirlA9BXPgiXtN0HuM4+yTBaRLuj4k5pUQ/veky5krbH2V0ffumLx4AkxhHaTvubiFSHP6u8+UUWU3Ks8GrkRRu6HWea7Ecp5yPY82TMMLmbjr2MbgQ7Ug1WP2XSlllYi1LzTEbxuMTxeq5D9TUw6iJsPQuL0+6lfs2D3Dthhrks5Cpy+JvxbnN7iqwsoy6hJZ9kTVcM3V+8eX3sTIv2vy/ahivvH98rZrEqnw1U9yQm261Ppq+R6S82McdaS9fMgard/O6va9YCFwgwE4WwfDVz43TASthl54As6lhlJv3EtlwXuNw1P+uQAWd3nO4JJhP3dZ2vw7+aqQT+KnWvzpRXX0+ZiCGE4VR114UVH6MJIEBYUHmkSsXYt22hXR0rcSvFEe4H45Af9oJHPMRhsdcDkrB3uXT+p9Mn1uAjJJ8Xrk4EIOMI8/SJxiAduLz6eXP/H+pTspAstyumtpJ0Rinh/bl/RnZlHSpuFuum/hX+kTUe9qLWfwjWqpd8iQH1ZayHaAmcTi59BC3hxTwLqaCUra1xiUJeYFZyVtHRfJX96LJ1+8WhdHcp0GbzXrVe/WsrlKM+xCJnAaTqZYx0/8X5Jgh9DL+gt7Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLZe7yVFEnjCjizbsDuNhaSoRiiqBt1zLNRc+xRKBL+lhNqi4MhvAlBDdd2Un/DpXNllEaj8mRoSHv6VlySg9Bw==" } ] } ], - "Accounts disconnectBlock should update balance hash and sequence for each asset in each block": [ + "Wallet disconnectBlock should update balance hash and sequence for each asset in each block": [ { "version": 2, - "id": "d27a423c-173d-4055-9303-b21194ce2b02", + "id": "45c830a8-c646-4423-bb60-24b1d7073ffb", "name": "a", - "spendingKey": "f8e635bc802bcc5179979c122ae9d01e0f5403f28eee9ce7cba0af85c9161dc7", - "viewKey": "51618ed705ebe599549295b23ddfe017ef296bc20aacffb180113889b30689a2e44fa123d0d0e0ba9a30726caa2346aca204e258d3530b0254b13e4425d88d35", - "incomingViewKey": "3507f29eec6cf4a5782a64bd562fe82d981cfcff4042bba40bcfaf5bb4771103", - "outgoingViewKey": "9eac2eebf8088c6dd9171075dcb422c3438d7a45da9c27777a8fa33a693e2c43", - "publicAddress": "df09c05b1d5e0ce2f9d230bfad29024db106a6c6cd3d9073d9f04a139c8e99c0", + "spendingKey": "15d79481c26a817e83abfb1dfa059407cf611371c4b1b369833ddd9de6e79998", + "viewKey": "6cede7b9dba7c969d491866360f06fce85308eafbc45e5c01337182eb0960ba48227b537c44d9bfb6ed2e222af57fd845deb4d6855c65748b8c4b8207cccbca5", + "incomingViewKey": "e854631672643a412816dfe4a45f5532b82783abf6feeb2f8a44f0203eeee803", + "outgoingViewKey": "7e59b4227d3a5a568272a28ea3b5bcc76567bfbc858c2d6a99e518a006d8b375", + "publicAddress": "6cce21e5d4660861069b0d62bae5ed49d0e4520a0d440467079f9224ad645d47", "createdAt": { "hash": { "type": "Buffer", @@ -5658,15 +5311,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:vAqwJHy3VPsrPaEtdiRgJCmNAU467mdHVR3ECyXRmkY=" + "data": "base64:YcfoZrlWf1Z3F3GqK2qN53yHQVOluyEgcIfcVSq5UDc=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:/ci4Jnd7il6/f2sU5UFqXi/vuk5bUpCuIONrsitMdeM=" + "data": "base64:QdjiTXDAUJVVLfZVU/Kq3M5wuOSjyJTw+It0YsIlPnc=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243768923, + "timestamp": 1698950335621, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -5674,29 +5327,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAS4KzWNDB1rdYQuHlDMAGEFIqP7s64Leg4M/WokRL/6CgGloVp5MCrXencx8Stu+q9b6pSr9A/Xv8DqDVLFTZOjzybkM1waTaVjVQvtg023errQOokpYfsIEoH5OVXfdBwH4K113jQja7xv+utstRrfilgTIAt4NPx/IRBRvBjE8Y6fjFv/EY8+GnqXCHBXx5vhnwrXGtAovzQBzAkfevmFo6CnL+JHQGetrvnxjyb+axKyRvMYnGDnxy+Cur1+iIehU4amHwu6U51HLXNYN5KoffKFGO/SYWhOgxnSsVF2hhGA/8L+jFg1r3hj/QOzl5rYBjkr8YDebWf8GGrQxGVGTX89Ni3yCc/aMnrbshieArEQEP+kMZmOTDu9gX+0IjuY15bYHpskgZrtqWCdLE4kh/dRxoKf6sxgCQtv6lGtx9keK4b6++FJ2zgcbxGlN1fFSMrvDiCFQvGtPT6zeqx9dTgevskGewJj7Cwy4DDs9taDYkNmr7XopO3ddD7Ud2YTBVfSRsFNeVgKCVmRHliMLgHkIvNxZrMmbPt8oGTLipp5Qdc26M25GOlB1WamDPWx9RYqAmO84eOFt2W+qoKkUP1ZWgTrsKDbUBU4wDLye8QLZxli2TDklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNBZ6N9otfdrM70i+CchwTS2Z/gxqDuZXKfwIptikfDPZAWn1YOsfj1saYqGYl0nwT0EpRvotYpTvrL1KHAu+DA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAADvVIHUIDNh6U2eBFMVqLBHJPn/zY7fWKG0BmI1KudVSlUp9dAOQ5bcdbAEg8owfM0EJBZ9jP6T6fjN3go5tpBlf+KQR/8ruThMDkyf2aLuyJZ/35I9ZODLxu6ieGNkKieVhA17Q6oQ3d9PiANiCQGS7eLUIBwMcjSVAcQZFwtRkIqbRhS/DebUqOjWnUAvbqqC2HIhuOGdgMEQxm91BjiVLPwpm6+U5wwGQhGYHLu8Gy7UQJtX4wW6AwFvWThzDRa12Qsa1o4N2+JI+uv4XU9K8MOm9X6ghqHL3OHl3kvBh3oqiBxdLJU4hPrqUxCLYcdKaIN0KUeUDTCP5D6Co3WLYg5XPytnKLNp/TAuKF383zyNS55rf+3wDFmTujgkAvGou9r8XDZD9h8q63bno2CHla8zA2aNo3w9v2DcY5H7yWf36eoHXDyHvLlHjIaw3+VfgvpeYDwe+Pt7fvjPeGE11nEvc40mYBQFqIb7zTAO/VNUoZ+pEaApACarteVarCfn7Z/XnQYKF0dKtk7BXfD579eUYwjwPGER4uQ9H8o2LUKqosVvLQGEnnq8aKJwoL9OEOIFT4drnfHRKOI9n7A4tx7a5MTMBmxgoaAD0jbxTkBM3pGG29Wklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwSXyVf8kt1CekV1Yglw2AfVnOykVlVbegVqwXBfDM+oIlAWjq9tBnq0aRf2TvYQfcZZT9KP6bzXD1Y1g9WXEJCg==" } ] }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsUSqdO/rdFKnLQMyqGGP9yASVinPtFIUZfHLzcjRCpaM1bPvu2KeYKHD4rI6uu8uC/06H9joRlNP2wDhYVBaZntQgfk0ZC/oo/wOM5BQiEOsUzp/hoRYqj8kn/LFQHx/ccVqZe/iMKBFeyd0ysXUklMU+kPkgOZ5bE8SwsBrbZITFxsQcSaaSX+2Ml0Yky2D6PRTezoMpIkytzF5NuG0CbBH/zNIH8M2zkZ+WsxwlTqn+dPQ9OwzZpsK1tF5BTjj7atgA23+Qd5lmbfmPGUS+K7aavt9amjoBZPIgFbc/9Zhl/Rpqp+kVmgW7UP0s3/kPo3ujlmTfyp7hg3e2X8lISPjfcyP44E8Cp6HSUE13aASUjZ3/nbgTceh6Z8icUxN4BJbqdWSTIERUUl66qahvPgHNZWgKSzSBbKUOPPw1YSm0sgujYfJULRrc6VVPerOvb5DS9AobIDQRc8ctLauggRxG7A5fdO7WX6c08aK4BLdNlGjh/dQ2jgGO/SdkrISKA/khNL3uf4pB2p7TNrnZwKs1Fh2vG/mBTkVe7Rwz9/+ZbOuz9UzdqUdlYK3BqUBi6K4la5bggeCqZlpwXoEFmVDULKDclYtBeIYgn7WtAzhD0XeW3OpRp1GsEAcHS+Ay9k/yyUSd2MWg8rfgSDF8TQ/TayBX+rxlL6i7VXct403gYqStEFIO72HnuxCRDiRk4oSTDRiousZikG2koQa0/jXDG1UwBo1jaaxavxo/vAYrYjdFotiMjqZJ7wzGnOgf4srIERlTtVTR1gjfWJcXssyESTxhZNEmYgX0twlUdxqmCNxEOl9oD/NgyMo88THjua/ad2HKIewPEGtKXZumdj6a0LP7AOMBK8Wi8Q11YhKWmAXbb3suYkz8ZmQ4zLQDRUaaR9EbbP0xPsPq0BnNnoBtZzDGjEepBX2OcYuwMFOR5Ztljx5RLluQclmWeS2TxxrarS8BcQkay93fbpiC1VkIcfy5NrP3wnAWx1eDOL50jC/rSkCTbEGpsbNPZBz2fBKE5yOmcBmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAN8JwFsdXgzi+dIwv60pAk2xBqbGzT2Qc9nwShOcjpnAAP1xCCHMn0+daoTh16cMNG8MOeGLbP964KxfK5KzbabS93qKNnpK1rwoF3tUAV0IDr8PQTkOZw3M8yCz/jtWIAuKMPDQ0RWKutj8UjRQ0V0Ze7k32hL1ay/TK2vlPpMM48FkaV05NTfj6RZJkKI9d0ATbtWFj99KaW4JDuexPNwD" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6MjVtg1Bvs23wfJigo/0FFKSh1D0JCnVNWTsv/JZowmQYxskwJxfH6gMoDgPa6sJBTpHTfab7KQe7ZWOGulhe21cmPDMp/CoOQjaw7MhGxagek2yIB8k7QrdQPpWBmhAgyT+bVbV9kOEUzUxzz/4lQ2v+GUvLGdHRkKNNqKJUUwKJRY9Kx8+9qc1pM9AtEdDUEYgvPBy9YtGr0xH8/LMvdyBsw1tce/qY+QZA9yLiZqC284ib0VYt4yLNALZ3daW2Wi+mli2hFofkQGZOC2CVqEbhAdvQc+lomowMz8Hl0nq9qtm5Me1FyR9WRZ0ZJYnoAmqoxzr4tUBc3cRjhRwFYOlG8UXL8rLKlTBMAZSi09hycim/h8RESSDEGkM60Fz/Kokp/YknZp7P3rtGoxpz/hhBjjtIJYWPVPKXmKYYpmEY6aMGmNHZhOO5hlEYtv3pwkzdRZK6NiZ1DEFqhHJkbSzRav65g8ybr709/LPfv1xOiDIM6Ksg/mNIQnJp1HiyJscs29A4zcTymLg1VOugDzCYn7Nf+SOU3QDO9/Qbrt7v9rjd1ySRCxsevXwSE8YjR5bwiqHzZWkYQrpKhj1TMzj9Wr4p4M/PiRIQXo8AuucaAn2D9ybOfzdu3AiDiJRHt4lkmK89b+JJRdYkrku7QhSVsx/L7k4OyAJc+ciVrbk5Is15RItXVJ29GV1S34V2gI86ZkSv0Ehi8IjJq40djHFYZimwa8qqpOVtsaxJiyQb3LVtQrgpCJgac+Fs7+IP3ZM5+U7DgMgNgw7KgBSqm2lAUfkSXPOlyTUQZiIBwg3HJjcnA41Q/0HjvWJFSb/36oNIws0yJDXz5QpujQL1/v/m9VcIIh0CUvTAEDjD0VVD/A//SD8FRzfW8NsQb02+5ASha7+piqSLYwd154ySWHTAGLhmgyDs0ffIktrbRZRMYx9XkO4cpaIMjc0h6IUjNh8W0wwGjwC8eVkdZUPXuwEqDMOZWSebM4h5dRmCGEGmw1iuuXtSdDkUgoNRARnB5+SJK1kXUdmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEKAAAAAAAAAGzOIeXUZghhBpsNYrrl7UnQ5FIKDUQEZwefkiStZF1HAHCX7RucV5sssrw319KQEze6aYm7U7RiALueMFozFelSEResSKlYNpAseTnkhgts9E+kSOKGCs034TWvgqK4Rwn+xJBXPkrgEWYxlV9EkyI1lXHyo/0Qqsj80tX4z8nWKQ5BK6as5663IiOfsDku5IiWee3cfEYNvvQ0riXDH0YH" }, { "header": { "sequence": 3, - "previousBlockHash": "11E93697F08D3628A4F737311C4A65E118B8C95B9FE869C8F9E2024B1758A4D0", + "previousBlockHash": "AD3D3ACD0EC242F4CF5775D9E72591F87AD413FD0A1A318604B9E8DA48B9C6A5", "noteCommitment": { "type": "Buffer", - "data": "base64:e6nP3sUnqvdMZUDBjP+VeI+boXCQkvcMU80z9xF8sFE=" + "data": "base64:daPks5xCPAIwGVn1AChDwXyOKHViDI7WJ3zMH5ipDSo=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:x8Q01DL7If7AldrDDr/ALFbqMiILzuY3BXo+JVPLqlE=" + "data": "base64:tHVoJaS/ZcHhOThWqA6witdrGeS/d39Dciu1sRsQwpY=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243769614, + "timestamp": 1698950336394, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -5704,29 +5357,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA/9s2ge7IsUfl9xwCIOaUBW5u5TsVeRwCz4oNyZP0UpKhOs1Z2u33Ym3RgdHxbzsXPXS3Hq1rCzlmNZJ9Lvs+rtWaQlUAEcalYIsosywHPDCWUYGcC8VzV1CpWpGHu3sHEFqjQeQ9xFibbonuSBOM1mn1RSoMuAcIss5MZMBVBs0DC9NOkL5hYytQ2guaI7Zqs6Qhik+gWLk+gl5f/Y1lq/eYyT5oSACwGoSviBMiy8KwLFLg42vk+uoN61gPyWr49gudWUcKeoA8YFMLsb1IgGBWA/nM0UNwxB9g18ahd2/2nspopbC9HWSQ0W8tmcfQ8g5Asw75V1cPVAQUnNG2lCoT999qg9r6h/rCfiEO8txQjFdkrZpoVC4OnaJASdARvgnuxrTEfdahxGz1jf4vDphHyt2Oi4Ij2Xa5crt/uY0dAzqAAoPmr8E9T+hN86fihv2A3A4LXLqmIBWUKDxGWPlBxJK7aRMajqsE/Az9y6onpfVCeCUN9BL729RuAUEeakfwTAMCiodx3cvUPbRTBopToDKGaktMOoW9xvRWPeRGZQXIYwPDrXvqinl3NEpRN7muxebs0m7vxdDtIsieT+oemrHmvPT89RmLWt24VsV/VSJZlaZNhElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwU34Tw286hwVw5LN3tVuY75/SQ9YeIaAoWHI+AkCFzI6aOyBmCVsvi+eY3r6ZbdKubBqJV3DSftXss7QDaeOmAQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAu80K/0tsa9ZmMhdhnaYhTn1uOvdu+rZcQJ+bXNzdJ0GZRzeOnRGLjid+vzQ/3W7g0PQm0FSDsk+vCW0AUgTbQdUYtaREVnOS7DL3Ay5ANXyRFgXMqPiaIGA0ZGI6UmRLqZqMFX9vRRbifOouziMLotEoFn26L3//VH6a+VZMtfIJZtMMBbOEtoTPGK3/gpYvsxTWgtf2I2IShGsyEbYY1CU56Cy/vunAwCzmtmQB8u2oxB/Qm07AkzHirswGtB7Cezv+6m6YacLGEqVTo6B1DkB2w0etoZ+KybXeuKjVTwBSvIxzAm+83SsLa++4Q1UBXXZ+kaXF3YZ07dJ+AwVDKTNJ/KQgv6p85Ht9wYcyLvxteafTg0jUIP3cxvXUbghdFnMeKVvNuRR60GRVXBsJstuMqm5Fv134ZrrFzmnyz8FLpVUIf/9N6TIwARZebabHEEmvu1gJ/cFLlinzK71scHpFH/aBE5UcsJJhvLKP2ZGhYm6UTs/KmjHHDGxX1jysbWgbuJwBUFAkL5Zc72jqMB1z9SldBb1q/q1MGX1rUKcdRA6U78GzoAELfH2SDVJnyvuWcBgWDt6Cdvw9r1k8ODFdhPuI+Fv9SkS0hdqFtgjgZ+nJaS5K/Elyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw9vAWO/sugnWv+vf50lz+XZHgFnafv120TimXd9kTFjfN1Qz0A6az03FnWOdx5IUb54vsu/a2r39frOlWbl6UBA==" }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsUSqdO/rdFKnLQMyqGGP9yASVinPtFIUZfHLzcjRCpaM1bPvu2KeYKHD4rI6uu8uC/06H9joRlNP2wDhYVBaZntQgfk0ZC/oo/wOM5BQiEOsUzp/hoRYqj8kn/LFQHx/ccVqZe/iMKBFeyd0ysXUklMU+kPkgOZ5bE8SwsBrbZITFxsQcSaaSX+2Ml0Yky2D6PRTezoMpIkytzF5NuG0CbBH/zNIH8M2zkZ+WsxwlTqn+dPQ9OwzZpsK1tF5BTjj7atgA23+Qd5lmbfmPGUS+K7aavt9amjoBZPIgFbc/9Zhl/Rpqp+kVmgW7UP0s3/kPo3ujlmTfyp7hg3e2X8lISPjfcyP44E8Cp6HSUE13aASUjZ3/nbgTceh6Z8icUxN4BJbqdWSTIERUUl66qahvPgHNZWgKSzSBbKUOPPw1YSm0sgujYfJULRrc6VVPerOvb5DS9AobIDQRc8ctLauggRxG7A5fdO7WX6c08aK4BLdNlGjh/dQ2jgGO/SdkrISKA/khNL3uf4pB2p7TNrnZwKs1Fh2vG/mBTkVe7Rwz9/+ZbOuz9UzdqUdlYK3BqUBi6K4la5bggeCqZlpwXoEFmVDULKDclYtBeIYgn7WtAzhD0XeW3OpRp1GsEAcHS+Ay9k/yyUSd2MWg8rfgSDF8TQ/TayBX+rxlL6i7VXct403gYqStEFIO72HnuxCRDiRk4oSTDRiousZikG2koQa0/jXDG1UwBo1jaaxavxo/vAYrYjdFotiMjqZJ7wzGnOgf4srIERlTtVTR1gjfWJcXssyESTxhZNEmYgX0twlUdxqmCNxEOl9oD/NgyMo88THjua/ad2HKIewPEGtKXZumdj6a0LP7AOMBK8Wi8Q11YhKWmAXbb3suYkz8ZmQ4zLQDRUaaR9EbbP0xPsPq0BnNnoBtZzDGjEepBX2OcYuwMFOR5Ztljx5RLluQclmWeS2TxxrarS8BcQkay93fbpiC1VkIcfy5NrP3wnAWx1eDOL50jC/rSkCTbEGpsbNPZBz2fBKE5yOmcBmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAN8JwFsdXgzi+dIwv60pAk2xBqbGzT2Qc9nwShOcjpnAAP1xCCHMn0+daoTh16cMNG8MOeGLbP964KxfK5KzbabS93qKNnpK1rwoF3tUAV0IDr8PQTkOZw3M8yCz/jtWIAuKMPDQ0RWKutj8UjRQ0V0Ze7k32hL1ay/TK2vlPpMM48FkaV05NTfj6RZJkKI9d0ATbtWFj99KaW4JDuexPNwD" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6MjVtg1Bvs23wfJigo/0FFKSh1D0JCnVNWTsv/JZowmQYxskwJxfH6gMoDgPa6sJBTpHTfab7KQe7ZWOGulhe21cmPDMp/CoOQjaw7MhGxagek2yIB8k7QrdQPpWBmhAgyT+bVbV9kOEUzUxzz/4lQ2v+GUvLGdHRkKNNqKJUUwKJRY9Kx8+9qc1pM9AtEdDUEYgvPBy9YtGr0xH8/LMvdyBsw1tce/qY+QZA9yLiZqC284ib0VYt4yLNALZ3daW2Wi+mli2hFofkQGZOC2CVqEbhAdvQc+lomowMz8Hl0nq9qtm5Me1FyR9WRZ0ZJYnoAmqoxzr4tUBc3cRjhRwFYOlG8UXL8rLKlTBMAZSi09hycim/h8RESSDEGkM60Fz/Kokp/YknZp7P3rtGoxpz/hhBjjtIJYWPVPKXmKYYpmEY6aMGmNHZhOO5hlEYtv3pwkzdRZK6NiZ1DEFqhHJkbSzRav65g8ybr709/LPfv1xOiDIM6Ksg/mNIQnJp1HiyJscs29A4zcTymLg1VOugDzCYn7Nf+SOU3QDO9/Qbrt7v9rjd1ySRCxsevXwSE8YjR5bwiqHzZWkYQrpKhj1TMzj9Wr4p4M/PiRIQXo8AuucaAn2D9ybOfzdu3AiDiJRHt4lkmK89b+JJRdYkrku7QhSVsx/L7k4OyAJc+ciVrbk5Is15RItXVJ29GV1S34V2gI86ZkSv0Ehi8IjJq40djHFYZimwa8qqpOVtsaxJiyQb3LVtQrgpCJgac+Fs7+IP3ZM5+U7DgMgNgw7KgBSqm2lAUfkSXPOlyTUQZiIBwg3HJjcnA41Q/0HjvWJFSb/36oNIws0yJDXz5QpujQL1/v/m9VcIIh0CUvTAEDjD0VVD/A//SD8FRzfW8NsQb02+5ASha7+piqSLYwd154ySWHTAGLhmgyDs0ffIktrbRZRMYx9XkO4cpaIMjc0h6IUjNh8W0wwGjwC8eVkdZUPXuwEqDMOZWSebM4h5dRmCGEGmw1iuuXtSdDkUgoNRARnB5+SJK1kXUdmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEKAAAAAAAAAGzOIeXUZghhBpsNYrrl7UnQ5FIKDUQEZwefkiStZF1HAHCX7RucV5sssrw319KQEze6aYm7U7RiALueMFozFelSEResSKlYNpAseTnkhgts9E+kSOKGCs034TWvgqK4Rwn+xJBXPkrgEWYxlV9EkyI1lXHyo/0Qqsj80tX4z8nWKQ5BK6as5663IiOfsDku5IiWee3cfEYNvvQ0riXDH0YH" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "193907C83D9A1BB17C3717B01BCDC51455F69ECCC3AD54EF6DF78FCA9EAAACAC", + "previousBlockHash": "CD919F1990A6991159AF0A347EC88C44E4D0AC4FB51C637298754B1264AC28B9", "noteCommitment": { "type": "Buffer", - "data": "base64:ogoo9k2O4xw1QlxKtHx/+uiZfXSNmSLC02L/o3u87QM=" + "data": "base64:yLLaqLXYU91Z9a/n58S5j2f0Oyd7+q5Jgv5s7ODpOBQ=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:DJlmXsxxV2zG3EdPfbGrejkMJ6b1QM/cvlbjEd1pxGM=" + "data": "base64:xsv285kzFMJVQVaYTpTVeicKOeEkUVAJQkLQ0ZHxGRg=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243769902, + "timestamp": 1698950336707, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -5734,21 +5387,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAzBlQs/90O8mTT3WHbkA3HtdAPTY+1QiJWj/PLtJIxEiVbCQzXnk/91QrwUpqGTHEi/OnCwTjN/BEX+o8tG8dspImysYfpgSePzGA+0wI+Fe2nau2dg8aSYiu7yXJSeYHDL89CnvxDPfG8M7FJecbjnMm+kBC7I44oHZPVS4SRcgNP+xdFZZ86B/ZvvYk3bBE3SlU4lIxr1QbC+BSAOWTrYhLWxB93xAXxD5UaId4EMWZK4RXhyICesLTQHcd8lHdkOwXosWhgQxV3BnHI0eHtu5GbtsZOPloksNqV3sLOCMBEtlkz3do9ta5pEU0OxMlihIr0fTYqVXuw++LTa5sUGi8wv1t57+t7mpMQcPEWj3SeCX0pwDnHy2l8/eJgvokMz4ohJclvjM8bWIAaWNrMgvmGyA+1BL5PF0qV2kF7Zcklo+qoPJXxDtHUhsXs5W8sUnvYnYfhg+9yQ7XqauudYmd6yUOvfVtGGf+ixSAEXuH/H1EunQKMrkAsjBrb6nX5KGbwN+xcgNBWyY/h1LRUp7eDiaIholHEENeF9lny6cnOFr+mvNKW/sow2mIWrnKEUAKfOxZrIy26bTs+rs41hi32d2v0WPJyhEFQmM4IGG4yoAcZGU7Pklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCs0FOpq1z2E+iGzj7bZ1Y24J+dh9Fw4ow1TpmHYlALu31sJNlep16EHs/qp6eKM0Y5TF3AVJTLcc3FwAjiEjCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAKQX59j7qUpXQh77Ml3dg2vJQTV14VFpM/9TDYnDB6mGTZIfYoJQVuxveqDm+5wJI6w6pp++JxUcfdagtUKt/S0tfUZFrbhZnETHtuXswoOe02xOLiMzc5OwISXLW7k8VWTP6TD4Gsv9lmisgMCQC1RGRgxP3qwXcOmRK2GbqOtIJqxkRNDV65oNnD8ddNcfq9/Z2EeejvlSMoLOLrmt/r+SXUFzw4IQlxX2NW1ORorWXDQYGDzbQzturYALVFL7MlTf3LUXE0rNz2FcsmKlNoA87Bzo4WOuq5uXbQ8ru2ZM6gQ+vVvL56W6bise+Qpg1qRBlpvOktJYpNmcvzYDOR7zSsd18hbtLepGNyttUfdJhNpFCT1NNW1p4FN/1FDVtj3AE9xUyqnjtktHnVbWEO4DsDvTHeDKdrJdfO3b4RZ1X8rnnUkJi91Dl/VVywoP7/NCPuKLVwk/ftD5b0QE0zaVEnGv6W0X+mKlsnHlDtyGZEb+LCkki4aA2LwcdWuoP4taho0E9UYC/bOp4ZzlW83W9yNgVb0/rpycBTc4zZzsGXaALkeAC2DbC1qV6QDPEsUGweXV2E9rFs7Na7hdCUjydW08FoV+We2xqdazOl0qgUPLcU9oK50lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwK7QvsmtQVNECxJoYq4Lv2iLdGwz/gzrlfp28lDjB1vPFqPDuRTDaVUFLQmLlqZof136DtaAnaPTW8tXgoocODA==" } ] } ], - "Accounts disconnectBlock should update an account createdAt field if that block is disconnected": [ + "Wallet disconnectBlock should update an account createdAt field if that block is disconnected": [ { "version": 2, - "id": "59c5ad16-4634-46e7-a2dc-1ae4f38ff98a", + "id": "4f072390-204e-400d-a6fc-f745101a4aca", "name": "accountA", - "spendingKey": "83972e800d97113569b7ac0c59d9992bbe507980ba098eb172d0f70600c0b5ef", - "viewKey": "3567f763a0fcc8707c55adfcb5f49999ece10c3e515f5efb43ecccc9a97eccd6a030cef9a08784ef31b81f51347651ba270348aa11f14646b21fc39550f5f6ec", - "incomingViewKey": "d472a83d81a27a56497262c902c69e1b2889fb9b22d75593f2ee47e6cd122b06", - "outgoingViewKey": "a5f1b259b5be37a5350209fa044ccbada4163ab558bb650dda6e622e34548eb1", - "publicAddress": "b0d2c6457a41041e2de08c503aa63bb0f436b47d740edda88f9604ada1676668", + "spendingKey": "d07f855c64d04cbae77a6f6a1b03dbedba8d734cd44a2296845c0918c38ea94a", + "viewKey": "2299745c040e9ac32dc4142f943a886593236425645baafd43f4553333e6ae629bbe97c8f5db5997ffe66f56fe4a6ba5c37b8d2056b9d6a0ae19d343619690cc", + "incomingViewKey": "faf3ab07c982e614ce438767e7e9fbe0496c027956f4453df7654989a866d803", + "outgoingViewKey": "931f05fb6f5a58253ffa367f80a3a8d98ed985cb4bcea212791134ddcb003a03", + "publicAddress": "ca9498c0369f90752a53d91d3574b1cc25a8c679f42870bac10d524800dcac6d", "createdAt": { "hash": { "type": "Buffer", @@ -5763,15 +5416,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:oVkFzNwocQ0yq+5udRqi4ZD3n5pQzjlvlJoLMBFcUwE=" + "data": "base64:RvpSoP4YCVZ/zfmtTePptYIhah37IM82zBZbYmjq9XA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:PWxz6b3gUQdJkoJ2B/16cniEFcjCnOBYH5wKP3HenK0=" + "data": "base64:p/8QeIHqp0DlO5DtuZZoJA/CWX43DWSFaqsEkWTAvFI=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243770325, + "timestamp": 1698950337155, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -5779,25 +5432,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAqqnprxmpRSVa3hDhKH9TG5H7T8UMW6bjrJO1Ibz/ypCWmiTXA48hPIwVDsfCUgl81YsvhJiXV13PUuCykAKwPlWfRBp8vJTAS2CrsG3QvW+5vsGjfL7/dosirNu300ifnpew8uFfmlyA9Tb83mTH78qkkTRoZblShGhV6qzXJ9MBB8+T5A934x42b39udk2x2pFAmjnAb+Wo5HDFOiFiI6IlUn8I5BrZ4of0VIHVkP2QRsOc0B6lpBOR9MIRYeXcKqM/ygvNwWDgVRTT07ng9WBOoJ67fswA1wB9HqGsNpO7YVHhxq0tGuGTJOEcIj/9QtmM94xq7oYxgITYlpHRIHu//IkUB/P3hcC9BIFgRqQ0KrsJUfiqg67/vm/qTxRfz417BcqN+pdXCFg9QtWTDzDFKTx8SUK/a37lPH0+p1jdXXrir/A5bO8FGWDjVJ0VgI398eFgnXhTPwC3zRoY+dAztBWek35I5jHytuZy5PD1w//5k+munqXr+JhHvN22i5wCo5XDRduPa6hIPysDnWQVltmMsUiQ1ah+uy/8hYwTlOCszYyrtlXRik5JZzL3ZYTF97NdM9H2aZq+G7nFxXDpFRFCpSkauThpNvOPpSsESLAnUX6KZElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMz3LiL678eILnkXC35yu6Pi50kd/zc43OSJ+caeeKzOweNk8vxdhzTF9N0f1Hv+Gyij7MwZGE+NDlg5p4zGrCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAxYchEv5VI4D5vPiMIQh73Idl4iyJdkbTZJ324FvnS/CimCvywJczBPLchan/26/exrgxri2c9IG48wpZIXOPrXUU9pDROkWeRVN8nZy4SguFo/Wt2YGeqhFSdYKq4w+SfRJxJdn6QkIBtpoHW3daZWZG0ku0CuGzKpttzAEY4vAJtnGJ4OnZAPxTUGfkjVE5aNncGCatW8IrJnWFmCIhuJVFaP/E/Uc9gadbiEZNZMKvu8U3zWLfSXqcd2zdJLZDlsksYTNPa+z426tF4m7UI3ZbvisHOGpafPs5hUn2XUuXhVAJgVi9z4m3V1hZG3HcecxwrGcELPiCIUwTABAl8eMucGHdhp443HuykRIuyyFfgUMmwqNV5zabW+qLkU41inkYu0ogrmsirQNAOHxYoDQXAZ3c+4p86HTCo+RlfiGWv7F16efl8oS/F7QEc6v76wuilwk1+GTMmP0UTzFNFDMfK9id2I82I/UPeTrQ9US9gSXL8CBsM3NAzxbbeYZxSyGL5vgIPJDqwsJ18bi9bQJ1/b5FGani1kpNPiQ749rq33S1AWCVi/s0C6NYsmiRqEsyssgisubSvKmJLgwIOP4C0+5qCCIBzEwE24DGJPNWtblmpsVNTUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw9ysimAOAuhMOxgoQW4RAf6vIfPHCVzaXjF4oc7hl9GJndGJY/Z86gmg7tQCAJCNakEcgv8iES7Nt5PlPtx9pBA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "A44564A94DD6973A9E9905988CDF0280E04E50E5420E6EEA38F477F866396AB0", + "previousBlockHash": "F52A37758C2D2F169119902B37F07EF069F6E5CECD7C64D60D21E7E0E19C0215", "noteCommitment": { "type": "Buffer", - "data": "base64:PxeD64Oe1B9RW9NZOWh8VD8BgQ9ynhBxwIIHXvySXAk=" + "data": "base64:YV3LURcLaTKfefNcHBZohJaY5RolGdSTg0J/wLyeaCY=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:Pg2lEgK6o5u+ohxg6vPhh+j8EhY3EyhD/q56Ku4/9Y8=" + "data": "base64:t+wS3O7Lux2+OV4YmtbO4W0zAQbPEPWpGLuA9PdQme0=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243770597, + "timestamp": 1698950337430, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -5805,38 +5458,38 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAACYfP6o9fHqeXnbweYZyARi2tXt2uzX+so3T6MiKWngyL3E0YWnWsC/yE7ZMNqo42jq3/rvkRVavvmGP2oCbznJrPiaeAUhNlpPnSAO4l4Y6Qs1i7VlP/2zMlBqlW5/OfUuOR9zXwpaVF3H3OjbLFVxrXqtdGTD2cnvgoXkcb8SkS/LWCi8pIEWDMAWeefO7sRSe2UYLF+ono9tHn0xdJ3j1qMuf9YAhp1loV/DErOtSki5jOdm2+ZeTVzqnxGMutlHvkr75Vt8GabEXYZwUHkEO5p6gVaTcIWUxmGlwW1h3wkGZ8W/bp6N9iHN0g4gX7hNP5qvKGBT23W/KoBXVJCCJrP1oWyY2gTe9t0Uod+tGvHQ3fgoR1SU+U9iaJsHBw8+aFt09kLDcabL58o7qWr3AxG+OuaOGZwvwVg+Qfl5e7MW+pgkCvnFGIycFcdLrJCpgdic+xrYjCtrFQQjNS2Qs9gJcyNDHrceRGYEEnJKDkvzJ+7FMhh/w9mk9dk9QLe25SG7E9nF0NUXTb4zrofpKA7PX7HTSmo5VlUf2MiD8JpQ2SCAHeUtiefIEhU2O0XehCVL49Z13EIHfb7bGUBBqmYIEL/ZtPDUmUNNjxg1qtvU943M1940lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJYnkLFkteKsIc0kT9X4WCl59zY5LuhB+E9lqf47I8eYQ49LpO/19eagzLg5zjB5nPnfK3DER9hunAeLKzoswDA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA+hkfwuNUc21ZlHgIsNywuTpZdiUm3/JeD6ttxU1ouyuRV2REn0EBcqrtjrETSiIETMpun3IraLE6DEuq22AZTihsfcNTUjgZC+mUZ04YS8us/by1r62hgBTsKeA1UMx13JoT/IM+b/S4l9cG3AsFqiuW3AK9vu6xq02H5F4EGLoUEpuBHByxBzSji9iBs6fHTS3v069Icxfn5RaPEuv5ddJFPOHCiqsrX8ta7GlG4TSVrr0bNwb7mAgAyJszDQ+jpdV/cAZvLlKc2piKDxCBVbvkHrosrd+q6hC0P8JwULQDj4uIt8BgdLj8nJooeNUbZSByoof+WfuCgUv/ms3K54cu389PpGa/04HgCQ0FasdmQ77cYNmDkZOme6uBd9NbVlOq308b+vjj8vf9kXfHp71jNcZUNYpN7D8xhw8Uk3OLv8ZqwiOlsulizmtpJrNEepECmMgBNXj8I3yKMso6Vi/dMslCbRFzaf4l1CGQSPg7whTCXvI3wLu4RTWXRIO67A6gkEBGDvkuauur/r0LWfYwYjm25I4V+XVPrNCKFLa8n+D7QMznpkd/I0XsxPPlROPBicIJmbi7bBBDitOWC8BupfF4Amg1jGUnOyClw5e6o3CWH6IaOElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIqxFtgc/Z4VpB2WV1TkZIJkVoTHr+zHz6sfVB6aPgJxvsDPXd2RxJEY2a+OUc5sDK2IfohZ+0Rqqs78sL6OaBw==" } ] }, { "version": 2, - "id": "c2c15ede-cd49-4f36-9399-e94d553eb269", + "id": "e4c02062-fca6-46b3-be24-44e84e709e64", "name": "accountB", - "spendingKey": "11b6e26d2846ad817de36e5135f0c5d0ca51cb20f62d1e959229172671e153ac", - "viewKey": "cc8170af7a28df1ba071f9abe1984b77e329aa5af6f0e4882f975eb2dbb6208f1af78c7185e2ddd36b5be404a3f36e123d2a14327f10f3f4f368d793f3920825", - "incomingViewKey": "71bbb93e14d4de1d8546f96ee67099740f0bc03b6e651c48059d54fb489c2507", - "outgoingViewKey": "3d5908bbec6ce5289d40d8bca892e94910a7c5b28a676b82188aed3c18228b7c", - "publicAddress": "1c94936f300aa1b1300716a8d03360d6d87b3bb15a3ff2bedbd7625c3c0fbb71", + "spendingKey": "922db482e6548343dcaf13c8c23d8baafba95484fda26872cf3a0d7b903d4ed6", + "viewKey": "217bc4a24b46567f2ba15b633ca7bea6d7626242bcf914a509f7978d21acaccbbc3351ebfed6511af0bed69a7f611545b7e27072e6e368923aa495e219d56aa1", + "incomingViewKey": "7bb90d8c645e8895ccc91421cb1450360f1841b803c1e90bb69b679a655cce03", + "outgoingViewKey": "f0d6413f0012e6a23fa27b8985c696266e4763b0438089877285ed803f8fa378", + "publicAddress": "d3b212e3cfc3dce2627313eece4381c18b178af80916a726561b76ae3b1faccf", "createdAt": { "hash": { "type": "Buffer", - "data": "base64:ns2mJJsOw6ug4xJ9z4yzrKsQb8y1klzF196bpVGjvRQ=" + "data": "base64:5X3sD0VZ+N6GL9hczuAZR2C5F/rNMeIrNUGBkDPm8vk=" }, "sequence": 3 } } ], - "Accounts disconnectBlock should reset createdAt to the fork point on a fork": [ + "Wallet disconnectBlock should reset createdAt to the fork point on a fork": [ { "version": 2, - "id": "052ea14d-575a-4daa-9c00-01f44242022b", + "id": "27e6a301-ceec-4a43-991c-3ae333b677fc", "name": "a1", - "spendingKey": "0cc13d05c89e77e1758409f8ae086a2da9807f2858c6bf804eb1602432f1bf3d", - "viewKey": "7e3592e1e01346755d1c35ed5c238c02645f9ccde4fea34df43b3a4cd235cccdffa4132d2cfd3041ec53e744ec65ef59d002fc02593d8998b590a40bac77d42f", - "incomingViewKey": "06c5f5c5c6ada9f4f014d85e3a6f51f13a6c77183658af014b522bd0aa578f05", - "outgoingViewKey": "dcb157104409e2c244d39735196b9b066127298a2826ded3f55b6724b5be2a8d", - "publicAddress": "4b9242581ef3c9ef096d6270592f9ea92d2198f86cd65e9c5d5f16830e5a75c1", + "spendingKey": "ea326faa15c77eff5a9600bdda6f6f7f907b80bde2e152c737d31a61284763eb", + "viewKey": "d705dee656e66ca392f30af1e7f322b9b139edf0ada117739988eb0320d805ce6b520a80ce2328093987592e531fd0a73b739f21411647f6753bce461a48708b", + "incomingViewKey": "1ff8c0b850ae0cfd0d8ab2f5db8ace913b4764f015d6d635fc2f98f0bd630307", + "outgoingViewKey": "2833626a0164268bde0d6df676d3ebaf3e83b296d1375c2d0c2683cd37d54099", + "publicAddress": "27f10c265c5c6064282f343978289ab6e13e0a1e8f285c906daac9fa72908298", "createdAt": { "hash": { "type": "Buffer", @@ -5851,15 +5504,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:vOXbSogMF4NBn2E/AS1be2Sd3JnfSN3kZMZNBCdZ0B0=" + "data": "base64:5vx+lhJ8YawVQgHVCLalwXqMFDp8kAOgOudIRcngCVs=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:J4rQs9htk3IgXuX+x2BGLZdhELmhAxVWNmQ5RY+TgQE=" + "data": "base64:YdoSnkXlZi6mFN4M2UqdY763UbVRUptWFieUS7Y05Q4=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243771100, + "timestamp": 1698950337959, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -5867,25 +5520,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA6lMwHuLXWuHGvAHrzN+oFl8jlFCRoUtxLZ+YDeScoyiCDA0PL4rzfDEvrT8cbc2uT4Ug4iyk9oa7JpY6TaKrxwqZL1VEchDtsVfI87YzC42VsLxoq7QcrDI4Y0bLEfZNviMxQcJuKAmr2sYzZjK7XSAOHNu1I3TGqJyxiDA2tggAhhFbUNy/ta20T5DlrQoWAA/WLQRobre3vMgDPCSGHP4goO6aFG0QYoNMqtIrVAq4YhsBGvSfGTkUiiv1IgLY0wbj0v/tNnsMNUXpy4tKBUgYAEFyhDkPAtDxOzoITcNaK/HXiGw4QW8UUgx0cMfGfXtAOl+gsthYG47SG5CfLybDBK+q0hNpAPnGevS+lh2x00HsDP4te9/SgNt5WZdBduxC/MBzhEyLvQ186G4sqjmI5pzONfQ+cEM+E5jsU4Bn0G/aaLbU8e71SL88hlPNuWgZubGYnLov852ssTi4Q9PTPIHDjkQtocl4hkCWVPjaZ+tjhghgjHJZZSVGUQ4OLGWlXXaBgCTs/ynC8N5kfP8JjwYF6617pUKLtmwc4UEHO6zNKJBdPOZo9HpOfLTma7D5pJ4RGpWP5Gp1rKUcTxZI8HFbKK/CLmjlKgMncv7vtSxsA6ZIMUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOdXzZpbROAO7UjUGjnUMozp1/aObujN5E1V6UkgF8WlJ4FzthbNsk863f9IuLjjVQv1w6X0qiWMxq1tHbFTaBw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAxzbp9ZBDYaiaPatECTDpBnVPYqu7NCetHUEMAJBNveOiY8gNPlEWYM/Usz3qEmBupIUZaqVEdqi+ibC6vELwlAdCYdRMaJwvT9DvuZWC0tqxXjn3XYMeFO9ukND7Bam6qLtAmxUcM020yGPMhybVbtPoNYOG9Ad/sZKyDxZ2wyEQaMioGIVTyi3o4MJyxGXUbHKnQg3Ngn2S3cVc4NkJskawDX9mbXZN3bbodGciPAGZtPqsfYmitUDHgf8jsB7lXJhWaToOholBT6YlM1F7SWfJD1ptpjGU9bREBEsEJtR4e06MQ4irAmIW86EIMJqZgUmlnVPLo9DU5hU4hkqc6SgbvUr7Pyl9RXYveEMA+mW73dx60i0HxOWbgNnZFC9MAdDZk3Zgbg/znkbdNrtScRewRcFY1BJr1Et2fkX/KWjQrb4ieTuMyDxMIx2GYM2Qyxewif10jUgbk26KxKwHF06xSOswUbqr8L5hZbCU9g1fTGeDkVuApz/n72dodRA+ZZdi25tWUPFydtwPFsMvNxdAmTZTN9WfvF4x9gDfPEV1Pr/Njte3jwJQHFHRJxmXPWUPG4xIbbgyIcLOReijJqTx1xnOYaEFJuZE1xardLbcPtPf1DMM70lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw2P38DkoK4v8wh4ZBWkt11ItwZzYunS+PUddiE5+vCiyLg08UTTGBQaWgt7Os0tsYSTaXjlNk6wG9/+gG2fiYAQ==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "89ED81999B5112C9D4692CEE130CAB711FD500DA0D67F435234822BFD578E736", + "previousBlockHash": "F39DAAA9B65D0C27B68D40FBEE949BC61E9427E41E694338A13AC76A8BDAE76C", "noteCommitment": { "type": "Buffer", - "data": "base64:XSOkiZ5e3hF6yulJkVVFUq4mflULOpr/6yuIvmJ01Rw=" + "data": "base64:S7kAbGvYYc26/3bHvBG1diYuApylS0ZzYOs5A0Sc6V0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:XFh6IVpt/t63vkIT6KYdFAp5nrdOkjc19U06vkLD4/4=" + "data": "base64:QdFmB9/6rbH2+mhc6jJCTl22WCl1CLf4T0glGkUecSs=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243771387, + "timestamp": 1698950338254, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -5893,25 +5546,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAxPQiZxu6tE2/FZp+1OMl7G4Yk3izCyZ2Iq0cIS5qJ5OA0KwQ4aAcR0oWjGTAtwliwVKZIg6GNcVnq27oRTWJTBEWrdI5eFXEJsVpVJPBpgKPBQm7GYKUwg0/oY1oOrw179qqovQRav3y/YSrPTPW4HDW7f6hnOpEK9YK2M71CPIToVJHSHwOfgBLdzWbXL7mMhuEh4hpAfXpc9vwdv/zUl5vO/C+mjK2D5G9teVYaYCwdb/gbTQiCq8sJZlftEsZg7ElTTTAg6tsdyequmQRlSkIN7J4t4d0u2ar5UXUPCjbWfEwMiIf6eDPzks5tAZFe0jnjHROc93yYCFs70vsY9RZeDDxsYz9ziLmgeENwW5+bPZp84LvO1anBmL0DmdRwUMOHgLrPTScyEf5egM0faQbkmKoRs0oVilMcQs34tYcqTdZHRwBGPQfwvhXi8ZdnTNaewtAf1T9lDopUcw5g1nL2wEHxoLta27lulJkdXZBkaiHlmQ9/NlM5+E0Fw3vn2R4iPGdD1RkKVhwKxz8Cl+NUCCqELu/7KJElMB7tF1IZcEYmfM7A0haitlQFvv8T0VrNxx2hfPdgkhKoZ2ABpPKyoS2wJgZJ1ZwjdYPq1AIMjZm6GfsWUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwGvTXQvD3EM+DIfmGWAqVuDabnqPkvGu/c8DMQShW0pvMv+gfieT9BMTaM5XoGxb28QQ/7VWy15f+ol3Zi3HeAg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAw3m6pgcV5FEjnNYSo1BdZbaz9NzrCe56molxaSCXFS6z+3TzF/9zBUefzWDjeVkC5MbBgJYdw1SzKX/+9oPxrTGuOJlmJB2R9JIJiC4fJQ+z2GIaMD7fk0q+Y5i6Gb6MWkkhOCTw6+pzvBvLlsTUz/2rWR9mV9uAswcoLeYcIKQA0Owsh8N/0pGobLWB0aPeCnc26DiBfBGTGpmhrJl+4tdZYhU7wOjW0ZvnDF2YcEGE2zldYH2vuVYvPVZoAK2TOllwZt6HIPe6QkVlMSMTwsp+IQmTmwekVJooa49l+ncyE8O4L7/TEm+6+d8A0uwVPsFo6dLWEucVHugmbJypkza4ZDs1wvEbAxNBWaOWg9ysQ0yxSZmM6P908iWCT21EuqaiSqlbqvdv8meDNLOhMBR+5ynO6/dICGKKTvKG+QMqX3ltLEEbFimg0rZ/iXmsVbE8mZKj9kWvY3Y1qa4zS8VANapjA+oTUT47eA7hE/QQ/d147vtEx+5NJAKyumgCdwOW20oFDfQSUSseZR0Cg2NZc7AtB2gmOSi/emv1eRv9IvzvQUqgElQl+cWzua1yhZuzoV0Gn+RYsaUWAFECDSLou/x18NmxDBfUwyVPG3fzQplfuxd3b0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwDuxTNbPPPLySYdAOuDiS1k5BVr90Si8G4YPzs0RDBKz9uydXsKWsW0An65oR/GeTx0pdXKAZwaHe1fOW+K8mAg==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "39E568511A289DF55027817E78B1C9B173364D3A96031B63E3E86874148341C3", + "previousBlockHash": "7B430B66AC43B581717B84861F4508E350C1407B39B1A2AD2D20E043FD9D8892", "noteCommitment": { "type": "Buffer", - "data": "base64:aPpXDHz7VI2onLe6EcjSkLhVsNOYLFxsg6avhwlr4UQ=" + "data": "base64:GLTblRXBFiLWk0wZ2txSHljeON8fKOeONZOEt0YrEG0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:8LyMCnuOAifTyFfBxu4qHC2fy89n7zMEcjhN8G+SqyY=" + "data": "base64:P3m8YTQnUkoQnKbiqcTd+yg7WyJ/ReI0EzmA0/rjUbU=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243771664, + "timestamp": 1698950338543, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -5919,23 +5572,23 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAp5vzQoe7E5Ulli2ElLDYyikWsNWJX45ZFBNFggRGS+SqdxK4HZS8Vd25Q1E1HulqulnVQEwibU2IEZUarwy4V8Er/5nPbh2IOdwbQ6T5IMGwCqZ/VBZpY/aFshdrHD1mkhr5YlyvjyugXqrX1mLNAvQvZNOhg1DDezvaD3Wtp/8QbB9XryEFUg+DzcFObeYqixyYR3jENOweFO15CcCNMISCxnl/EUSGW9NSJvzAebqSXdJYfuZKPdRZ+c6vrgiOjORQpQSHcI6/jZRmJTXM2DDpfszN/RwrKE/k3gkXGoPzYwzzZCKj5/+9mE7KTfHcmhscZsPaKMMqJqqH3tzz3Cm6NDxbd0nrHQKWeustFtw/QcR9aSZxcteruVdFRb0nrnhzvCPmOT2BG9XAmEZcnNiAzxh8YgOjXzhQWYRt64L0XhVO4tvaIMD7E5eDuj/CgyChfjjfSALNFEqLyXHVf3W5NTTL/CjYL3UIWcS13p7+DqdRstt63khMyDm8TaI2KAMq/bB+aah97I7Wt9LxynM44pdD6j8UZIeZdhXAkaMWLwVa40rpm92JL3lq3LeoyrxhFmYe7qp1ZsMiIfhInTw2GBhoza3Z7vsieX9CV8PdR7WX0bkyO0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwfMuGToWfTxOo33wPOy2swslUpDddON63uHRon7bu8F4RdozuwGcfdN0yKQ58fSvI0kctXLEvhR0XoO4mR6sbDQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAL8uv23mqeygYW9ZsCeFU7llXiF4DUmExLUFL0bfYTD2ZdhOhZAGgDaUKlYHoNq01qyNJxHuPcyJib46HRqZi3RJcfy8loVRo6HdIPeS2kA23+zZTWYeBSe+SJXqEqQNwiRF0thzVhSUoIYMk4G8Asv2Ve60/5e8LSM81FDw3EM8HoOlvg9Odfu9jHGMD8aDHFrxKkJxuHbie9u0uZFyVLqMV53/mSk4sIwZyPfiJlSmlPdvKuOgZPKwnHNzeC/40uM1IMSBFj3f9PNra8CTcTfF8qhsBJadCsfc4lTeFMYW750/tEr9IMVWBA8pi0m7IkG+XQMEbjzSC0wLUAx1YHPvdh06KzUkttDVGCTHvNEFLRTz57E79WhXIIqZVadlq5LhJ1JjDzuRwYiGg0TISu8WAGfAbXtQYsWTRu2BjUOstaL0VWTJsjM0d54bFO6afdcP4X1gclfonjrv5yJyiOVZOPyLufuUzW7pYXX1/TwgSwfzb9Gg7dijOFgB75T4UHMxNIS+71kiFm28G/hJXqSO3fsyU49ywCOlXlweuzddKkJCnyD4/B+PELLCse+NXVqNeiVQoM7+HnUmohCy+Unqpr2DAvFuV5a0A4V2lpcVTN2D/eNvSBklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwz8/iUV5KCrNYkw6PC9xUzdSBtVIxqmd5gBk2v1M2dSMov7eE+4PF5tyOccqMCgos6H8eITvOGCi+Rv5dgy47DQ==" } ] }, { "version": 2, - "id": "1e0b8e12-0d49-433f-b1c3-cdd0d0fa5bcc", + "id": "55c733e5-8746-4cb8-a0db-550b7d399ac8", "name": "a2", - "spendingKey": "b5812c760788c133ace41350271e6484d18c65897c5e32122a0eb92802a644b6", - "viewKey": "f8582905876e25642c285526974829a537eb87b3ab8927e1f6790bcdaf3d0b9cf455aca5b423462bc3ec058f57322365dfd4f3b75b0ca9e6a56749173af5245b", - "incomingViewKey": "2042950724dd46cab2eb089066be566e051c0f8f1201e497a1265b0d4066f407", - "outgoingViewKey": "61b1b1d5ec3d12fd4b9cb7d68869d4b86a326be9d76444e3a04e46a75a8e2636", - "publicAddress": "8e79f6ef8007b851d597a389f41e2e7d4ff83638d2567c5701b794588e910063", + "spendingKey": "d4c6bd6ae8faf20c4510607f9b6d4e14aa0afa6b5ba5be6efbc98b7296cf1f8f", + "viewKey": "5e1a6727a854c0c6a6bdf2da281fe4dbe57eba1e1ace166483d0e354dc8121aa755d21e0324107d343f4dbf672893e5b9dd64b4d7ee082dc0ebadd344d9b0d89", + "incomingViewKey": "56c9715bd85b502d1bf2dc56ce5731013c68e8991a9e857008bd4895c74cbc04", + "outgoingViewKey": "02394cdf540cadf597d2592bfab15f478551ebbf87df6c82dc9753517ecedc54", + "publicAddress": "30d1f941df7c296ed5beb1ecfd8f23f3f58463beee1575bc79d01bcc9d243c63", "createdAt": { "hash": { "type": "Buffer", - "data": "base64:tWx62QBL3lPYJf2z+qiQO7xs3KDgaLc0h/z/gF+OsfY=" + "data": "base64:0ZIA6TVxyt06aMgE46d7xPC1pp8D9jJLvKttIsDvUF4=" }, "sequence": 4 } @@ -5943,18 +5596,18 @@ { "header": { "sequence": 3, - "previousBlockHash": "89ED81999B5112C9D4692CEE130CAB711FD500DA0D67F435234822BFD578E736", + "previousBlockHash": "F39DAAA9B65D0C27B68D40FBEE949BC61E9427E41E694338A13AC76A8BDAE76C", "noteCommitment": { "type": "Buffer", - "data": "base64:EvpxQlPw+I/AbL3oGp4J2/OOEET318IXpVjv6i0HHxg=" + "data": "base64:9y+gLfJ6RZ0SeWX3Cc+wVtgzeIxn9vgDg7oEKQtzSRI=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:gElM0rv+bMFghpFSkAGAGtnpiy9ZKWl69Ee9fJznCvE=" + "data": "base64:zdVmoF5GAZaK8cwnLhFb9orWO0l669BclyW6lS9eBXY=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243771948, + "timestamp": 1698950338809, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -5962,25 +5615,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAuy2kK8isRLtEtMrEmhPrGjophd1mbPHu0TIqsp62qwGmU4aZdhUy+6CdeySaPKP+5iJfNifx2jTSB8I4BXyUwmfm8GSCiw4uwLo260r1oo64WRsVrTbx9Ya9BOAmIsARcsGTXo9JdCcdXlNNp2DswuoCcEhwp5fbCyFo+IwTDKEANmog+Lh2Soc0g9XXTVkALFir/WLmqGOhZCT/UjTKCPDPdzkIXjqUopoRbwTNcNOEPWrCByN0icjG+Cm1XuH+QtFpxxsSgHOz/cfFSu8e5i5TGycXKXFjzY8+hjK+nE7NUFCAYurLvEqOf+Fk9iGa+Xxl5Czq0kPKBqoSUd1VHjEzURnWaQ37PPZbGrXVdILCsYdyQgWB1h7O3sSQQQoGRvY2VMovQTy2Bsoqc00qrE/Jw4inZg4UqgbkMqKOVMCfzIPbQYDbFAdy96eGnbynh8eiUmdswYkGS8OZNGqF5H2Xh/kPOqsB+hhgV/1dmoyEtdYF+N5O4KlKJIn5z5xjATCpNW5OpjGSlAj7O5GLn7hfp/3jLDBbPa+z2bELloAUNomalEBGYIMG+TS6HWclXfwZ0SJMEy4eZi3MhnQWg0KZ5MzaJKVYma66ikVkZ/lJ3Q/BvDQtWklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbUeEc7A6dC/FS/zSLNy/oWJ8mlOe1wI9ny7sAxRnUUMoI109+j3wXeAQZ/8+8RDLDLdZJCt/sJhMO20bxmBgCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA0RlqDe4SjvpsoKXGrsg62x+5ooJv4GGD6EXcq6qkOc2WZnRIsnP8bKinjoUIqaq2vDZpVlIh+719pJkpcJFFGdxA4JHaghOU2qGdEo8eLHyUJkm1+xmbHq060rCufg001Qu/E5YX6ePJp6HItMJm0T5SzAT7k03aPUyIjx79CVQQbPb7LAAy8MpRphZDqXzTHJJ3xfPRvGhZq+L6nwPApWljfbglKYW0hGtQKdYaP86X5Iqw58TRePpTXvhyUiSM9ybXscUnSh6iVRfDk3O2ltRHFAvuebaJHwMkR9eZy5atJ3tKXlj4GyQ6k74YzAR/Gu0gXVELlFifR0d1BsbHUouOLJpgzydSSJuNyqmwEnkjcSWHBu3dZmSeTwyzZq03J+V4hh/hw7hxVSw+sqkJFhSTw1OZ6mDsWQAtLdiYhDOzqbosIgmAUbVvQVZ0LzmMtTLCawxVzY051z9RYVy0gpWLeyREyTnFxlOq4bw2R/V4Zq5MwPfhLh4q6QWW19RMAF64egRardOQKNVIcHamyJQZxbpH0Wptn0Xu/9qWxMG+d8jIskRKgOlIaIUR+ZZpGEXPqh5E4xIO9kAQBA2JKR8UTKDQN7YGAXFdhtyyLEIdKExYOE7++0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwj/Z9mh4z9/vXTypwnv+7gly5YxvK+CRAq9b9JTsKUUNwCzkdwfDFZ3uVCHJ8e1DYs05ZhilDq06+yfLmGOa1Ag==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "C30202DE1DB5D511BA7F5141A15078502F725624739DD431A5CF5990027EBE5B", + "previousBlockHash": "83EE606F103B426626AB1CDC5847A984C47DB032969730193CE6CF59D495BFAC", "noteCommitment": { "type": "Buffer", - "data": "base64:0qUDy75wLOh/159Ncyx2U/s/RfbQjcbw/H5VWnYLlVg=" + "data": "base64:J95Gq49y80+tzkH4A6F0z97Uq+bmd4l9tTtMgxbFjzo=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:f2CgiYmwGWvoLwvPFpcJMLKPyXPQv8y3+pwPIsq08+U=" + "data": "base64:kaPQk8qhwHFwiOtY9V0QPVmyXElOBIIV0W5BP07Qiek=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243772222, + "timestamp": 1698950339072, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -5988,25 +5641,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAXuySOXZhdwxLAimMVcsdOpFt0zCTjROQeyjzeXJ/y2+suOmX43pt3Hfkc/ksgKMnPLgtt82pcEISz0yjrIw68sRvpRCdxEwXkpWJ55x/oIGsZHDh3KrL48e3bYfM8ExHGwizrzmolasvwmvsCgMChGTsybJHLuXQrV/khB1NjB4Qof7K7dtiQ57Z0CFtU6OarUpntLtJSKxHuE32Y0z9G90k9muidOAXunQpV3zzd4O1c9xpHcsquTFYVT//IIaLj1i4o7lTFjp1o4vSbmmLSqhdjC7wmEJq1Uf2XvBgN3LXQiJuxuVakPZxsVADH+nn1iw1zw8cweDPqPETaL07YKS4JfahPxGYBHouk0lU3cfas8CWPEgKrmfDD86x0ZdE5AqvwTHtBuI3i3+0n7EqEzOJUrG6oes38gf5AwoFJcWYGrAz8jVNZxxRuFqE0mpUK7WIMgxZlm/Thm3Ng0g2nMdtfbChevYG64Am9egn+i2hzUa9WArQsV1r52GDkLLSxamm7qEeKW0gdfRk5jpoVtGdR5f+m3nY6/laC0xcMfh4Igqg17QonZCC8opA/dwi/tBdhnN2If6I+tHDVvd6EFiyOv/i7WwnxmQvGx4e6dCYean//2Jnp0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAweIIXDWuQqVwigV9H2TsaRTw4FramBRE2pLB+8QyF7F6q67h8GXWrDq8dX7CC9o02XtOrYexseq5qyE9opC36AQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAgXAv3nMlMOWSIFQsezOVGjtRVnGHHvmE9xAOjdNf/lytXr/iySJuXlYn3Tg1SrViT5cojL15rcdcVvYyYzHuP4MVQcqRdyYCMjK/V5cCAGqx1sqfNf83czIF45gxLLt0o8+pgms9PZ/F237B+kdLXyFhDZoaKTZVvoHd5delDcsXb79RuW1jN4uKSunEpa2I4TIn+2xSwU2A7I5AEyJpB2eaqdH+7NUciugl4ktvD9+IXqzpl0NVXvR3jYdA3om/IMtSnPZS7z023/pucAUcvkDNhyny+G9xkcWzJIrTcrSTVV22FiD8jp72Wp5hVFgdWqPf8OLNedQXdSLzOuEfp1ZQNu4XmZAmYAjdZE0Ky1mEXZ8BQZN/kX/J/h0XxiA+BFwcig1i2+rItxpQj2AVPVRFj00Cpuj/z6sGSmDc5BzwdMcXXrgKvtcP1TFUwc9I5JLJnvg51LjkOvSwQQyH+UlEPpxFG385KTxOprhbR/9cGliUbdohuino6x1VoIJniExOma4rcQDO4eyMprVGSi9qunL10jWFJEPzhIj7sb0htNlvJqji81SEU3g50KQTZYBTJ4713Ja8TGIL0WXsJJd3BVD+4wHPwdJCjKYsfuJLA8ANsoAk7Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwDGrlGDWT+2qtxjuZ1EILs4WThAgshw6qv1/a1R3DyCN3IZKv6PjBrpolowRI5VPsuJkD+9RO+1QCds/A2AVeCA==" } ] }, { "header": { "sequence": 5, - "previousBlockHash": "6DA905E101BC9B828BD804B6BF27FB95E0F4C94A41217BAA6013F2F41AAD9D83", + "previousBlockHash": "BCD33F4CC3D27BA71D3E67C712F45E5006302763881069F8A4311A39077167E2", "noteCommitment": { "type": "Buffer", - "data": "base64:EckSUjvSF/Vx9VEkI264S6yaDKET9Yo3yaG5iRiwjzY=" + "data": "base64:MNf9eN7oshSYiyG38AfI80/H+Rth1OKugxbRAK4MOAg=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:gDKKA6xd2mYlSFbJFdvH/MpJSrX1giKaygOpgaUx56c=" + "data": "base64:sXQhyhoazcEYsNoyICqvQea68JnlpFWAkqJ9lCZPN8I=" }, "target": "9201866281654531936596795386791503876274441021197252859723586932895305", "randomness": "0", - "timestamp": 1695243772493, + "timestamp": 1698950339359, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 7, "work": "0" @@ -6014,21 +5667,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA8Y5GCxNDL367+M7fHILwo+K2pN/G25k6Pyux5Qc/Aomi6lql9fPruJ1VgsK/S6tA3+t8U14mZ/0WOtOr5eMWd4+B/Iv/mCfhwbCX2e0Z07+qF90bOD6lLx4HDC47PyW+uJ+5XgCNMAhh4v5UCMGHn0kt1IR0UUpPqDIAeWHlkMsJ1AF3eVUuyDZLDLLCnNjPReIQm+mKGeJRHxvXtl42mkBr0joXJabWuvWzcxE1j+yOujc9WG7LUAdgSjf46hs2JkBQU0lSqo253vj/os45HoqfeJ310PcDcLFVQMZ+c/LfpJ+SPts5i2479ZmcjTAYV2pHajqo+BpqaFFpIzkWiTW6vPF0r1gadeL4hM607GeYFXst6+daxs6NsfJ8GwVPH8R6/CyhKBHoERgsnVHOTt5zB90JLHYPqaHugtAYiK7JC/vNKfksZv6JUHO5pjJ4MkRLqP+bP5BG6GDQTYDqoyVRLdEp23m70kX0GvGzdh3mla85N8f3oO9fZgjlGFGvWPUNgUmcokfbSAbJOf5Su0Ee3IAV9JG9xTRzCQfzMCQK4MjzEjE1zfTaUFj3kBq8oWMTTCYkcdDnxd+MNkWaKe9Wwhc55Wp41apVvh9ERgDB6dwq8Kx2S0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwteFH9yb/w78BQeEGxag3j6xa/ji2ZS2L2DDBnWvrjIn81dHEo5EpYD1KJvIO71ZOZnr1DPDAXRWbld9aAy+oBQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAUgni+UnWeSi8WGk7L1lHv9PFYg7WA2RW8B5vh3uSmgeC29aEjcdVS6kqTiBtobXtVaCiqKf9hzY13HX+927WWIBZ0mjAL2LSrayXb+6EZTyucIEorKol0xtTfhrr32ubfgRFH3ewDzisxxYI8vS/DRQbHE/Gkx75IZa1FgLx2PATZ2iFSdAKzXamGDVwATSCNIg6MxZP6fBIWh8LuiQVk3HQJXUFcgfT6a7F6a23AZ6HCsYR7wV/aMjL4D9+czlOTH7IlMf7nsoRakIAX9rfuLiENIQUXFNXM+jYoDtliNy3r+pl4sdtp/bGJlouwvqf1qHM4PVZd9IzkdUH5bgXbwHbfgjKAAJVBYGYvxKHrHhxJHXPgpMYrQGJuV1X18NXUYty6if7EWI+FfUAi6EJPHmDNQiKjdmoCk47PMXBNz4727TsAW0fSPWzCFnJDvYXPqH8utR0Nsl6nk3XYiAWIb5OR6HIleimJSr7b4FY50c7sJJiIGTytflxHvLbzaIjaiLcNzsA6VdaA2tolk7UCVivVN5dfNHqnKT1lCTMT+I7I9WqqJq/H826huS2Ft7oWY+P8N+I2vlJSXIiNX5Y+Rp4nwujystDLyNwS2Zoj07+Za4nztylwklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwuR2rJhztnR+15GtckZX/IrzM75MRuA5hlDg/nhe5w8cobpTFRH9pSmmkIHZ0/P5GcFetsz4+/Rqi9e91W7k+BQ==" } ] } ], - "Accounts resetAccount should create a new account with the same keys but different id": [ + "Wallet resetAccount should create a new account with the same keys but different id": [ { "version": 2, - "id": "a0c92418-e6e6-4716-8174-1d05f04ec85d", + "id": "569013fd-1f63-4d38-a9db-d43f323817a9", "name": "a", - "spendingKey": "658ae38039b0dc99e3523058ee09cddbf214ce26fb5d0f6762724727b851012f", - "viewKey": "e6e85bff2b4579272e6a690fefb01dd8ec29205b5a92ec64180ff6534154c7b7e6eb533e5027f36075a83b448dd4137fb264d737e79b7b95ffce3d85fc12f13c", - "incomingViewKey": "e34cb3ae710df685edef7bf45d4e7f895ecd0e4cecc871c5e280737a55388305", - "outgoingViewKey": "ce7d9cc69b147b1d8490692df6701098241a93368b1586fc43901a46bf063870", - "publicAddress": "f4880e191a5a5613c1955d4c0e121c3a199b9bad9b5fa063accc7cf7d03803b1", + "spendingKey": "b8b123c1a2fdffaa6804d234dd16546fdb53728fa49f475987d0382dfc2c5889", + "viewKey": "0611852869279ae348545ff24d8025702d10911fe0b3993699d0650290fec54b5ae7296f8520273bf6301bd316986ed11124e7baff4b857d1e23a94f8d618396", + "incomingViewKey": "dbe929ce545f1698615a343e695dbc70c8dd7430f07f29ba60a6ecc2a5763001", + "outgoingViewKey": "182e0b0dcb6263b44a985cbc08329bb938d4b563643200761246cf6380b23011", + "publicAddress": "bfa1bc5a6b0f189fba8670b464c9ac9202351303ddda0bc72688659b8345d7dc", "createdAt": { "hash": { "type": "Buffer", @@ -6038,16 +5691,16 @@ } } ], - "Accounts resetAccount should set the reset account balance to 0": [ + "Wallet resetAccount should set the reset account balance to 0": [ { "version": 2, - "id": "00caddc4-2549-4c4d-8989-6a0901e501bc", + "id": "5a0ecb1e-13ec-4cb0-aedd-36d53b5a9be3", "name": "a", - "spendingKey": "59a257b0d2bfdccac206bbd197a7e0e4e93c298e54e9a777595d4dd127310717", - "viewKey": "10d66a653d0fcbe532deb8d175fb235eef85e13175c5e048755b983cafe2478a02a08c1ddd3819d481caed2a897b4e956cdf667bf9b7e1e1ad5e5cc5a9dedf39", - "incomingViewKey": "2de5bc8f9cd6c6e009aac5d4f633f0e49917c3416c99d2cedbaba0f534579806", - "outgoingViewKey": "2d97def4e1e803dbef2afb0afda243036d3c35c0cf9ea15ed5c942ce53dde442", - "publicAddress": "56fedd8ada977d3d111c45e417010f0e5889033fb00f597143c41fb82de2a784", + "spendingKey": "071833600429d8cf36aef09bc8273966c6b8dd28e02ed019a9e514bd08e71006", + "viewKey": "e65e27c5b24184d033cff314a9d32adae7fc60ab7feebdfec9fb3b9fb3b7c49d99c89ddab831f383a46a739113b33aabf9bf8ad7cc6ad74b39c1c2b0fdd4256c", + "incomingViewKey": "205e11f5393b1ee21b5be5a52c6dc1ca981e7fa7766b48858f0bb99478aec304", + "outgoingViewKey": "4e2ddcfe04689f7b9e61083deb23060037a0a9c85d2ff1428496af7a9581fe07", + "publicAddress": "e1ca523b1e5a7172fd508eb8ad95449c719c257feda11f9bf68d43ffe93b2c41", "createdAt": { "hash": { "type": "Buffer", @@ -6057,16 +5710,16 @@ } } ], - "Accounts resetAccount should set the reset account head to null": [ + "Wallet resetAccount should set the reset account head to null": [ { "version": 2, - "id": "d462b484-ca2a-44c5-8965-eeda83074f49", + "id": "e73004e8-2f2f-4166-a8f1-d32e36845936", "name": "a", - "spendingKey": "1f01df8dba2a2665b24e1c6c4b18ecac8224b88e85aebeeaf9be13bdb1f5f7bb", - "viewKey": "a9afcd1436858b74121f61c1698f2746dc5a6c30ce8879dffd95a5114155abf164469011fbb1fc52d594ade0c86891fa5bcdbb81d5f74038c0470b52006bbd32", - "incomingViewKey": "328decca73e0121ff67ca34520a9a17ddc24d59458e7c160d143ce2cbf727d02", - "outgoingViewKey": "2482ef15f7271dcdf6cd6cbec91ff750013b6f3f220123ecc71de0e3302c6421", - "publicAddress": "4da73d6d24ecd9e291b9549eec98cfc6ef31b3355a37e4f702a8b463c149ad08", + "spendingKey": "63864e6851f63daca325993a564431691ee0d27be556a3f3e52d19a27acce482", + "viewKey": "9531cc0b7edf38bafaebb6d105acac29b892d7ab657d2cba1326b46c6bd6fa107c745f550fa17cf3d2d5a4d316fd02035a5f2488b2857a5cd92747c8e817a580", + "incomingViewKey": "352529af8ddce97936272151a03b82eee454b74bfac1e7e91e3928a6cc0a1702", + "outgoingViewKey": "3ab2ced01d139c6cf782fe139bb138574dd70e4bbc2847b52f9a2fe9ca72bee4", + "publicAddress": "fcd023effdbe9999ba9fed5d715ba48efa2bf7194b0b101b90cf768b7b1d7f14", "createdAt": { "hash": { "type": "Buffer", @@ -6076,16 +5729,16 @@ } } ], - "Accounts resetAccount should mark the account for deletion": [ + "Wallet resetAccount should mark the account for deletion": [ { "version": 2, - "id": "c420ef32-fa7d-44bc-9fae-3d98f00aaf22", + "id": "382ad157-22db-4937-a356-3983183eb107", "name": "a", - "spendingKey": "cb727fd433756364a41a6eb99cc4c9c3e348419811b76d462a9fbc1c3a7b3138", - "viewKey": "1c6b157532ffcab5563f48be0ecf345fa4dab85aca2f2c340d7fd02b3a0283f366a0f3073e1e5e69dcf16dc0dfc5b3512c0d9ca97a7e843ee0da1433419fba8d", - "incomingViewKey": "9b590666af829fb0faea0f36ebbdd8359e773b51a4bf75ad60e089cc90771e03", - "outgoingViewKey": "b415b2581515d111dd70fe11f841fb3c8f6a9d034d88561d57d005f85ca25e88", - "publicAddress": "d9df5b2382db87602b3227652c72875853346e66883e21b6fafea865c357b308", + "spendingKey": "c70083a1ea97952f8f7307610f64a54b13309711e7bb70ea649e4ce3122d217e", + "viewKey": "25f1899407c2f1e68ecfd52183af99e15036cc2291a22f4dedd5ff971721dbdb027adb87effcf7a1905f5072552ca1adb0e880154b8618f2e15ab3164316b63d", + "incomingViewKey": "8175bd589eb2bf16eacc834000250cf7927c179714bc1a84158de6e20d184c01", + "outgoingViewKey": "f757ce9f75e0503529febb14eebab60fa5099e5ef5aa71c165b0a4cfb9d0b884", + "publicAddress": "ced908f309d02b9d5fa86fd13d3b9e05b9194abf1071c243542b01164f3d04ac", "createdAt": { "hash": { "type": "Buffer", @@ -6095,16 +5748,16 @@ } } ], - "Accounts resetAccount should optionally set createdAt to null": [ + "Wallet resetAccount should optionally set createdAt to null": [ { "version": 2, - "id": "42a2e774-5325-4729-b22e-ccf2d0a96d55", + "id": "0f8d085f-36b8-4d2c-8955-8e991e8b7f27", "name": "a", - "spendingKey": "9dc8283adff2e557aa1dd354ffa3164d55e5205d3cefdfd73d8e234751e00ed8", - "viewKey": "d016ce6bda1e3f5c23c9d65fa751a2b32d31fe15a066797b0f5d15baa961eebf6410e77bcc9098c8816290d25fb9d08e8ba09bae9ac82f307a031fde705cea90", - "incomingViewKey": "0f0aaa91125aa6e92439ed86ebc6a5ca321c52133073e505df16f13116172201", - "outgoingViewKey": "6cb5ac3a94b6644774bb069e02bb90719ebd4b7e9e20a21c635565bb77cb751b", - "publicAddress": "3a1d6be97c70f3b0c74869e7d871495a119f1ba6cef9a828f1fdd3b66f62eb94", + "spendingKey": "fd09585060758e8f052cd6b1da758c12db6d3f7e10ef778c2ee43a2c404e5e8f", + "viewKey": "0ce0a95a70a4d7fc0a4be1d228dcb35802aaeca5864b6f427444b4cd2d4369be09f86c3fbd8a05ff7fb14775b95b53957f627f67d37dab9baed7460d921cf8a1", + "incomingViewKey": "195118c6cb9cbc3081e31368530181d581998a363ad67f94f9ff836c4629df06", + "outgoingViewKey": "f8d79de75f4ccadc9f15d268d67fba1dad97114665a834f32167fbcd4b6d647c", + "publicAddress": "f6f0bb068f1888fa97e0de53d1c7edd392ca9ac1c191c55fc3063cfa26a0531d", "createdAt": { "hash": { "type": "Buffer", @@ -6119,15 +5772,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:m0Cyvi+bmTsgu1dAWKJ8kGK5gHnV11Q4N/bZk326l3A=" + "data": "base64:Bg2mQEpXSB1e91ZpxYLZSKYYk4h3zTnxDdNf7Cj5i2c=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:hDUg+U9r7+nHcvZDnjrOCW0cCxyaAd+E1jzX/hCTeAo=" + "data": "base64:lQXQnO4dBp1NuUTSQ9lzygVxib0YJCCSHQYKpbWBGrA=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243773540, + "timestamp": 1698950340244, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6135,38 +5788,38 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAR1GSykLB22Dcy31DBqLk4QU3GgDgJzv4awsiRCMNqW2rHHK2zPY1hU6X+mlUQ9HSrakKBfSYW6upQp3gR5olEuXu5iKiCVfaRgCEs4pb58WLnUq2ZRmZ9iQ81pTVn/PAbYm5O57Mt6dn5Sw5Yu74OYJk+5xdwq7LAxtCGLiDDZYDpHp0s/bjKda/7Z80LJW1naLbleppoCdkC1stQUGsisIMbUFrOcDyEx+7+8dhQ7OqZrUMR6zTKtH9nfW747DMMBpWEul1P2xqghFPqkyPsYQ49vMsqnI/DG2GflrDP/elcYq6OMgTlkNIx+aoaQU+oRFQvhCoFKLQmncvURrGl/PH/0uPeWvlKjt7Tt40eW0JpVtorjoHfWuCbIwDA90Kh7BXa1jnzvfNY7ZTwwlcCkzGeUEkzGGL3C0/ahoo+vJWHannKCoFXqcl1URLJogpUHs5A80LVvQSkr8htzsC2YyP/HlAdp3nBRL8WlfDiHhXXgX6pmLaMyHfce/GPg6IsZkft0MFGuAthrBslwFOEk7dZ4sQAo2EaTRFOrXwtnk7CaJ1vJLUH0k6P/RwPb2CXwgrGfuP33WG8WJWTZWn0xT1Ynh/CA0x3p/FQMn8KONNC+ER3ZZdOklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwsNbTdz/kS3GMlVMBg48vgd0DebT0+41lVRy7KKAPCGwh3g2V1MVp2lFuwGQ6iVuW3ZXbwKv/6nONFzV2Kh/JCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAMqdO/ayIK1rFBXiAC0jxm6o3QgcWSSjLllZeU2jWYsKtbDZVUgE/jayBFizi3fF8pv++lShmTiQFtpCO7jpJeS9uZQKAK304nUansTEyTdWMW8vyau10dBbG8dPO03A4sOHEcUN6dJ+QK+xNc1YgCbomYQ9NLCfncz8tbS+OhwoLvuji24SYXCocTLi+DYfZ1egzIzREKkLdMucShe+WaeGp/Q/qCd8vMN0LGo2cXj2xEEJJE3jgtMjvq3RjZsTTlG2Wl9iVR3cUdw7VxJdMZ9MSPfKU+sQZ6U10h5KVVIjhYykJuTsveiXwQAOAuKMp32CQzVC2ermO0x5uuXKB0GaVu54Fq/ytEIxJeWcdhpokoc5jgMvk0V38F46xcp0VjRk6ce3EG643m0HzAsO1lvc6NhaRcm/TfiD1nlveLbTUYl3R7aQeXKxWAetSbRJK5HQbuBoGtMWDrbzJoqAdRXDFiAZotlnd7abQBk+m7LfSgRbn4tSdzbUwjlRhv5l+QmZZKXCaSnbT67iYIeib9M0NMDxkUJ4L9BkV6kgZIZssECTG3wBg0wdvp5N5QucjuYYpQDboZ/ek3ih0O5OY/Bcm2IYbg9bTIHDT+paFYE67Ih18iH0YQklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwkioPK6VB75adCzbP1cwIwWFdP3yd08Dn0woE8KyeT04OlgvVHJ+XsTPrrph95GoZE9xTSIkNFAw8OVC4N6o6DA==" } ] }, { "version": 2, - "id": "d4ea42a7-ddbf-4f6d-b864-38a4287e02fd", + "id": "7af1adaa-168d-4f9f-87b8-d9ff08df3b56", "name": "b", - "spendingKey": "79d9ead27e1db93a8d42c8e8e4e67a5c19ff3f318c13e2271f10c6864cfbbf6f", - "viewKey": "c9e3714a3bad51ed495110e5117c21ae3a03c1267986780ecf434086be6a9ab3402c5f0beaa2774ff02e39831c0046e0af00a73d6ae6c48ff6685307b59ecf8e", - "incomingViewKey": "5cd6bce34e0493777dd2e5766840f778a756600ba07f8231980da49d090bde03", - "outgoingViewKey": "c8624256d5b7c28cceff334110a902771aa24483819a95dbd7aec92e88818423", - "publicAddress": "457d01af2bd4704e678cd53b6e002a3168d778a30160c71af5e6f518dc67a3bc", + "spendingKey": "8d5c8495e32277d0ec54357d64a169cdc75ae8c029010d77f664e673c9dd4dd0", + "viewKey": "d120b4a3ebf20aecf59b00e28ded0de0f99ec77c90c2cdab66b93c267bfcc0a653870809d14b269ac942edcd8ce6d68b3752288fbad7b7caf8a4527bc675f371", + "incomingViewKey": "54c089ce5a68717e9e60e04f6ab9d327a9e1950ef8eb6feef0732e9c44d2da04", + "outgoingViewKey": "26b09404b0c7a9489e65e9bed6617acfcb9c8d4fd51a44f886924254e167377c", + "publicAddress": "774cd408270246a0aeaacfbb25a5bf417befa3255b278aa439b7acc39fd22504", "createdAt": { "hash": { "type": "Buffer", - "data": "base64:eIl6VAuQTh8rBY0gvwN81x7Dfqo4bbiyZZGbDfQFyvY=" + "data": "base64:vwem74FP/bjNJaYc9hBzoLY4pujUhhyz5HFuNOfpGEs=" }, "sequence": 2 } } ], - "Accounts getTransactionType should return miner type for minersFee transactions": [ + "Wallet getTransactionType should return miner type for minersFee transactions": [ { "version": 2, - "id": "7e01cce2-e3c5-48fa-8a57-0aa80f613e43", + "id": "004bcada-deac-4e66-a6e8-d3695d33d7e6", "name": "a", - "spendingKey": "52f7d4c9844fd25ccaeef5f4414d84f957163ffb8baffe0f4c6a3d647e12c5ac", - "viewKey": "5b0e84fe6a90f143f3502def03e39fa5ceb54b88cf0135533740fc270b3a10026ddc47b11b9bb8f9b3d052fbee231055b5ae00b3fd8cfbcdcafb6efeec784118", - "incomingViewKey": "e37d775912581ce7efa274035b7d4c38c511c9aec990091c7ce102c78fc2ad02", - "outgoingViewKey": "78ca00edaed91fdec60201837948c5ae057676ccf8441b52565eeee2c27e2cab", - "publicAddress": "af0db35c2a635ea22f67c2107f23e25676fda58b1e40cd5284e3e09f77cfb611", + "spendingKey": "a7cb6db696bc0a9457802e3c578e6748e93f49d81b5977ccfb36befdb68de447", + "viewKey": "fa9956081b619efb40b4ad3c8bfdabf98a41d4d0568f55d5535b8b184d20c47060b29d505d15057e9a4b809b25a6a8deb8e9e3ae723b0d8388a7b2f0c68c3656", + "incomingViewKey": "53a3e6746c17e2776bd303353a7cc17608f150a3afcb3728cdfd0e01520a8407", + "outgoingViewKey": "4cb36e2be1b5441ee06de173a7e2276d63092a33a1cd5529d0fa484e71f491bb", + "publicAddress": "039da8ad8dc286222e5f09f64941e82515343da22d29edefa186f7db393103a2", "createdAt": { "hash": { "type": "Buffer", @@ -6181,15 +5834,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:VChJvgZ+97qivn9cTes3ARAOkobsL89GNstWp5ByXkk=" + "data": "base64:HrezW4oHV1JO3RPsBqkzAt1+NT2Y1NyELLxbM+xfBTk=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:gq6c8ZRu0TBwR09jOO2/qUDjh4bo3qUwXs0lmnTKshY=" + "data": "base64:mvJJunC9SRO2h40JzWlvGRpLXBGxjaDgov6KX++2LNk=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243774056, + "timestamp": 1698950340703, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6197,21 +5850,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAJktTLd7bEwK2FQriGoaiswBmB+nF8RuakQs5dMTe4CqJWzR/IOzlFExogFyF3K1qqebs+6ZMiEF9gp+3FUFWOhNoDHI5ll7AIy11bWA9GD2X2Tc+dunQuucsM8pC88m64oSsES5K7SV1otL5pg66/nL47YtjNN4w+fP68QG0r2IO31DzUsak+QE3iWK8VnfRnqFj95GSyX/M26Wg+TBti5qAAqCJKKl8BTKlsmZcJoWJ36mtLcU8KTjZtbZp6EI9P53oq1OH/12KJ+ip+t8vSJqDtBAQRy0RPTNL4pwnxZFthd1EFyR2wkn4DmbR1WK+8Y1nqMZ/HRbUS+tmXoPPYD2RZQ6XXzazcgAFEdeFkpEp1qK4RrrlOyuIJ6rGDWoRFyK96FLy7OoRtOhXnTYwQsHt6wcTEtRpiM93bJZo9ZdoB+O/TVlf5/5seKGFwQKhJzFyxAXNILsYIs/wpK6uZWuy8SLip7aLix0ifmZjmw5PYsIKDvjZbEWPXXjl3zlMgMCHq5W4LLyfxCvGA9N9Xfa4rztjrGQGxDpyG8qNPHIc1wh6WF94GVPelmZwm7SFSv9V37lMhczuzVXa5Qrf/Cm2KVSpuDyAYrv0bpEJ4ZW9Pt5zbtBA/Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw6J/PLMuKmyIMzhhRkMP7htxBGZ5YqeUlpu7IAvxoNo3y3NH10VjFHCReON57On2BPOBlGNQd/13HP4R4joT2AA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAbeqxQJWvhuPP0qf+7G3AeE98XTKw71eTSN1bkgfC3iGs9c1NMU4kCt/tGy3pHy7U4bS0DSZsDeD64pN0nCDbedhPY/as2RfgVmRwMJHdTXG55ox1OUpNfcdqYgzQUvRi0lGvYBT361qBSG7/H0DlbZzJ12sohnBnO2c/t8IOYncRQA0vjzIg9WXog0gFpNJH6dcPom5FD1gpUiMz2C9JhPKScqTnpQQ8lIS13okw3Kuqyc5u+xKd09dhkYC833BA9NMo9piTwqkzOn7cJhQqeR7EYmnNxh0onDzOsgCglRO9SPLfc5KAANookF737TV7WY8tuJwN69DnfVRHZhU+5ObnnqT4YR0/I/pvy4J2c4oLgD+c6QCldZtHSCQEu2YZDGtgt3C9Seqnk0a01Yq3c7nQV8l6XlR9JT+gge+PaaRrp7FsnN7NiQhzWAr9uZnCKSL84qNUck1J//pQ9cuTkGZgnUuA/jE7iibmuydIS8eqHgL/cKGDfqzf3fKs6Ui2z5IT/Mw6d6dFB2i9hX4CwtX/RWkePv9hZIzsZs8AsDfK7q2uhbNm25VLTthF9aQs57/bmPPFatywr4cxCUT+twqa2aQWl9YkXsZh46FRZVmh5X9cx5grQ0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwmEfEmdgDOsxdlrBIuryaI0MycE0deD+TqyvcJ9vmveN1Ke+v3bT6d7gue5c/r9gXoXP3lp6joGo5P8ch05hTAA==" } ] } ], - "Accounts getTransactionType should return send type for outgoing transactions": [ + "Wallet getTransactionType should return send type for outgoing transactions": [ { "version": 2, - "id": "4481b475-d5a7-448f-8dd1-5fcef6240bad", + "id": "d0fd659b-6fad-4af3-bfc7-96e0a93118f7", "name": "a", - "spendingKey": "fc64663a963e21c183f8a3db13c45bfa721f90f7ddb5fc00c1209ddf68a755c6", - "viewKey": "08a735210787b0c8bc8cb2e32db231ce06852dc4ab82e87b710c5619b36e95b112799738a1ccd56f17cab3f5dc60a7908d9d1ed1ac0b2269b8d5500ba19453c8", - "incomingViewKey": "1ad72839507a310bb3eb07ddab7015100e38e5e57c454be8fee360f03cdfa207", - "outgoingViewKey": "932f67b6bafa4c5b822dedd782ef8b419f9210f5c28e4d3275bbb56c8ff4f2d7", - "publicAddress": "59229e9a7f05820003b4a84282726f3726d9c87ded5d4422877ad8775d3ab6e6", + "spendingKey": "91cd9ce74b063a23b0d14e5f564067532be8e9c22348f1a522e501a4604d6681", + "viewKey": "b18211bef28e89ec0fc27b52e39a143ac385016e71a1f806c995a3e9c06542bb136796e40c1297ac238cd2b19d51796ce17df5574ae518b05cf3d23e5a96c531", + "incomingViewKey": "91750f688727819c3f52c94bc93899337c3d03d23db2e35c9c8d9276f8ea2700", + "outgoingViewKey": "17c4b20218d4a7d67eae7393d35dbfc453a29aa827e7daa2b929e73455f86314", + "publicAddress": "54aa3795875c9cc103fda2d731e6ea0188b555b4e9d897750fb74ad71e4212a7", "createdAt": { "hash": { "type": "Buffer", @@ -6222,13 +5875,13 @@ }, { "version": 2, - "id": "090a91d5-e2b6-49f4-915b-39d2166dc9b9", + "id": "1316538f-8100-4474-bfac-70d80bb97413", "name": "b", - "spendingKey": "c4a88de264ca775b10d6ddee9fbe11764f172a58cc498c63409fbce2aa6e73fc", - "viewKey": "d52f0042b15cd1a6e1dec5d55b1e296baf52d278e9e242b1f01b415d0ae09582bcd183c74e7758afb704ed857fb9129011d9d7d558352e5bcf9c49aa8e5b4524", - "incomingViewKey": "a03376f9f939402f8d355d07edae5a9625874fcf5d9ea16e38e9de78b84a6607", - "outgoingViewKey": "0e5d105cf7ef9fb5ebab616ab123fb438cfb302aa5503650780952b03f4144ac", - "publicAddress": "406e8a3d256f23467de13d17e61a4bf4944a475cf38dca807d6b676e0b29a88d", + "spendingKey": "464b4932005b629534db9b088ed3dceca02aa4b95eb16f175facc9bdf9758a6a", + "viewKey": "6a5af778c04b47a953d2e86a670819399395567ec9ef5938cb4ead0e1dafb9a1151404d43b41bd035d37c25eca22bc56b51fafb83c3dea8a06069fa29cd6b09c", + "incomingViewKey": "e8b6640889e70d054f8700bb772fce32934584c941be8329618e72f923a8a700", + "outgoingViewKey": "a28cb2abb7afbc7d0333dae4fe0f823aa59cdf7b4a1d20fbec67980ce56ed19b", + "publicAddress": "e8289b620f08244a9e337e5d0f2568ddeedc5c3b2aa23cbaa7823d1850509173", "createdAt": { "hash": { "type": "Buffer", @@ -6243,15 +5896,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:QYn+s9P0QpQtBCXcrX9aL28mEzriUxugFArl/JfLQGM=" + "data": "base64:U7RocB0M2UU5SBicIbG3AbQb+kZJoU9acjBmioGUex8=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:4yMVPBUxiKrjkmnRIaOxm6JcPe8FfljxRawr8d9OoxM=" + "data": "base64:8oLMQIpf89zrbzvCUqqpJb8JkTmoaLbxbxi/o2qJ434=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243774532, + "timestamp": 1698950341140, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6259,25 +5912,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAML1/pXnzvimCZGNptyHpzGCSMPQl7GZxOZ3NaIVF/ZiP8+T5xVWly2sdKcWIq2aZVmoBS2NReMTYjQ7aifTRTiDqZmVkYWZ9iSPXi8ZVjL61NjRka555B5w3xEeas1a5tCdI1LMr5g7l5efJI73WBqg6Vyz4U/PUw17xENP0vqwHWbONkhzu00TQmG2sMzxJ5kPwMdsAbYAWCSX/Z5cdGhY0NUT00SJS7nnjbHYCGA6DGK34js7TEelfsq7hXbCAmUhSA4xM+OqRAwPR+cN584KoN5QNe2eBboN+Jo7BJi7fBsymMxpJdsCG2MWculPmZx06rO4KJjhGEsLDoeE1YkSakYHz3CBQk45MDhLn810x8IMHrlmO80gn0F4FX80wg+TmA4Akt51LXyV2Qlc8Qe9AId2cSpz6EHKkAltjwNRQQwojrVSgs3s9Km7euKho6s2VO0rmvVTNVqjoS1YKhoHr2JBHqvJX5x/nP2fXrpMH7tLSZ9BUzTNjWZw31LfkzD9I1+ip61qoaSUoewAyWeBquq9oS97UauXpaYi8i3DWuWuk9Hcdlsxh+TSLNzNtN4KzKpHtDTZTJa36uCI5A6NJCCj3xLIGg3ENDuNVLXGhAEJI4XlHVElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwnp1daG5VISMg6Jo/mzaAKYom6O8rIxYjHU7znR12LGJeCTjv/7k3hH1/AzrCLCxz1f+xxGJDJl2M/qH81WTJAg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAASh6KLCAE7NJAIX0qVi6roeQM7EFaTooFFhFUelTfChOYKNZDZU6ZrbinoGp4LaT1EOrlVyrLpKiUW1CaypVhP5AYUhkXAxvJ6IeaOhdmCayOHxu8P/E1gb25xFHvwXE8AsRI7/c9wtA2PJzxAiMIXghetiD8GmdIXUcBn508ruMOMDb8sGAhmOyFYtt24CeYgl6IeAJSTzoalBMTMW5yDZfcn15K0s4644UANZYBy+SNT6i659ph1Sv7Rx9ozDPopXrHxurfZX3s95GQcuRRhO9VwRjOWJ+nAPNGRNsEtlbbSAmZB1N6GM/pOXPFAMwA31C0rXgjuocmB4vd+9QaVC/9NAFVWtxHXAwlT/uEwueHcoZ6eoO3pExRJFW0ZglW9PLEZFBTH7seM/e6UzRPrbzm2VKsMIipRpcn0XlXXYcJsp5D6x1uYwoq4gVtHlrrVCE/uVtAX3Ugptn+2CCeg8YS7BYOO+AsBzPT0eguqKxNX0RN6quLogBMzc91Tcha4/Qh7dvHkkevRIa6dRqrcQThPekeC7+JxxMB3tRVwyshu3enCgrIMQSu8atIrwVTS/OrIWfK+IgOohK8IsnUrr6TL9r9jVcqMP8ULvirO9Gzeaun4tF71klyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCAJd0Vkv33wvEmWHNlzptT4FRco9+tto+d/SQgymtQbvAevbOVDtwfDQjp7yFbvamae1MGzYBtz/PGuUk0AsCg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "6853E809A053515F6EC110EA8638EF07BB42881BFE2904A452B703BA0E37C34F", + "previousBlockHash": "CE58395CC205C73F259E868DAA72FC6BA10AD1F57D0CF9ED9C22691CC18C691F", "noteCommitment": { "type": "Buffer", - "data": "base64:oPASgTHO3ytAEiHZiOjqIu6KJlO3KA4tDAG73cnyOUA=" + "data": "base64:UQbHZmGEG9jSNpBgSV1XqPkGjpJMFgCmX/d8jyc1G2k=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:ZwQK4Lgq/bb2Bl7PBq6Y5t46SxLb1P0p30CFlhIPe6w=" + "data": "base64:g5xVSTdYUZPVshO/BXenGE0VeF8tJFB8+3LkbcNEzXY=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243774813, + "timestamp": 1698950341536, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -6285,25 +5938,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA+sWoUrZyZCP9gW0gWiahvdWRqZYElYSY64HnKS7ttJ6FuuzjGFROr3aGfvAygBhiD/r8rhD1NE5OtMN7zIhOw4NMwlZ8DfSwkC2RzN0xQb2sDOL2nIG7fmwn/0Q2EXawjxwKnT4vdXyrHpLo3A1mFUAu/6k2PE50oGTkkWioQNwIucP5dC7U+/W2xKwBfTRqFslELWMDm2WVumJjkIxs13U0g3SET+dMyolLDybpxs+0x4jOEtC8m3lDl9/5CXPB8Bch6+zldOYiMTqYZNdEIB/cAu38+yFq/5du+tr+DdAmcLTjQuZyQactwBIAU80sFbiKVPxvEUsPyCdQsn7IUHuHvyIq8PszL1X/oxt31/WUaXELp/5D8ARzd+Ft3Y8P95SVEEe3g84iCO1xoN3UcnDHla4AaPXaGGgQANlec2id8Tjb4PtNtZAo65FeBFKFFkgN7I2uOu8YgdjutI9rBaD7DKc/lI7JSwHc50bEGG+5l8z2y/VIb5/C5h3XwM7ep94348/J9I286TXR7D+hkKo6Asel3x2lGdZjaxUQpiTdQjfOiitbYgydUYXeLK4gxd3weE8yPDbGCMZOTVULGdOHAsHLv9hhhhWNjRbJccR1KfktvNaA9Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwVAWwjYAV8sbJYPmaPR6UaWMGkuGzpQ1ZVG/MLSu3NXBBiZNQSXzoJapC73tB+aap0sQ8rKP+5BR7eRDDY4mvBQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAArrC7ZZXRS1jVm4ZSvO611cT2EazTh5+1YPpTzuVjSVuSPpUAkH0+307bp35554Xewa1LUVHN3Q4eGZD1GsNqOpv/iqSOwdcAkdTuNJ4OlKu4kaJnfPGwLj5XSfY41f1TqKBBIn2bDq3c38XSHL9ANrXgo61dDbTCjI0Bif0UlIUWFgsHXSDCSk9XDd/6pAictjeSpgTxUIU78ISHmTK1XljG4cKRcGFWQ9Rz2+Tt44eU0Arx/airkKwoGjhG1LHoGN2nV7PIntWQhwnwQV0O5BozzpN3JiHBR6IzVUkYH2nbEbyP/bzt7DS1NzsTQeFgicibl+yapa1iQ9t4zmnRS8Od2C1YrRD0iOID/P1yidAdhnKMwOoL2Fe3iIPgAM5iwM1p6Z6c4wxKkTya+NHfXKjUDnc4AtH0ahORM/BB3+vHPtXODv5uM+Q/ptyqN9c5cAD3T1ep66GH1efo2/7Tb6Lf3+aAQ7olGzyecokf/rLFysfXeNPc8HSmmpXCJAM107hjLgBPJgr212viY1/srJxlDDLRWYwRsRtpNmo5bL1g9TtrjkiNo6aXNcqz0odTlvYXB5oo6oAdSENnY/KNEZKiWGVGqnJN8tC4IzEOlK539VhAqDteFElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw4vam2GCW5bt9H5FM8k1Z5b726k5msOg0CG9waCgqXl9fMqEf1xCg/7VwKs9Ge1ypXhZWPOlYzaFN8YVJ3QhCBw==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "42EA88B331612CFD11985866CC9EDD3DD0FE8E878A4ADD803AF9E21E0F48A395", + "previousBlockHash": "0E94933C2CAB7664455A2F8F0805DA1CFFB4AE083A00B8190965C2D389959A89", "noteCommitment": { "type": "Buffer", - "data": "base64:xaDptUCRQyMmRv5XD4qwBhWLMKYQJ7SMyE9jIKRs+Bk=" + "data": "base64:Em/GhxN4y5ysuwLqUqCGKx9z8SWhyXNf2X9pLMzaV1M=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:j9zR6o0uoHHwxawH2CqRp0UNCWJeSYTkTF6R6w2rkKk=" + "data": "base64:87GcYv/sOBuM+nlljjqG1SMukEt4VKNz+fJKYxxzZvQ=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243776194, + "timestamp": 1698950342879, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 8, "work": "0" @@ -6311,25 +5964,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAr2QEAqVvsO554m4f7/+Io8IEdIEWnc5t+BiIW3HlLCOJM9OCWIsyWwGK2iPbDtQZn7ZomaAw/qrW0BZoLLCX1x1I4SVb9+e/qtnbkSbk6fykhxbUCapVxLX4qy08ZeKwQAnwdcds4Q0MhfWlcGnUuqv7R/Oxpr/VGnXLtzs1o7QEmdUIreClYYLrCIjNbDSDc6PHVMsawfc03nOuEdJqitEdPiIi80qpSI1T8t5Mnjywt4GAxA8Elm9MSQycnRai2pBPbPcKni0hMEUgQufR3Eu3i7tdd4Lf7QgmY6hwminLgGaVYx4jaIUiMxeefZdB9Sr0ywG6CyUbvjWBIrmB68fP+JuP6VIRdM+ZhCgWi08f5llDPNilQ3QdNPmqudpX0i+ql2Rf1W/KkD6bFMsI40lyGnlPMMwByNGhI/1gSQ+UCJR9TqkGn88zQz/ttFPTOQkWxEaXIOErKvcdQePhxeCWclEWJGEBMUa+mimJEe7lmax0QH2V+uXKYHlXFhr3POIyD2uypW57rDbgu0fexWXSgTN+hunKGpEvxh+MZmWF9BNVAzXq+AOA5/dRAOA//nNSNnzlRFTyZ7W8XIWvP+7y3SnlyBWWntKnbrmyDwNbO8m6XC7cDUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwbj3uDz8EVfInsBgTvvEuCgnah5ZcaKtaworNkYWazZJyQ7eGNu2yukRJEqLXwQo67dGdJyXGBgbeEdwRKo+VBA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAANCsR56i0bR/mlDHXQLRZu29fm01oj+Ts393F3R9IT62j2sy7TG7uaDB/6ptATjZ5R9qTXgnJUbXr+aboeg6U0RaibgjyJqJO1NvazVINYFeUjc7rUQWMgOulglDxvgf6d5HYhdRtlz0uE3ltvf84Pk4iSuOj8lVZmFarAGVodOQPQtI3fAv3E6gvMY2ZUv7Iki2YzPaeTS+CLJJfSHUckg/F/u7WBYfCRVmvjVAmV0SKoT8gov19gmCSURRSnEaYjFKqUsGbb6dQXnr4qwPCfA4Qvrlezs/Dp2REp7h4IwQJ5hRdaovpi8ZzJJk1oMmCQwumgLuCfvJ10rEHoPy8ZPgvF2aMfpd1d5B5QGoTnjpUr0dw0wlixnr8kemGdz1os2rmPvU8mRZxLaevbw8WO2MklN8IvqWwld8TxmRFxZIrhlUtoL8XTXMJ8LAoVzJ0YDsS0tWJwUwDJmLhE7NJvuCYhh0FEwsvj4Ac8QpGSXINM+xZyN8b3ASPEPVgeKOR3cBcAqHbZ9C8NGPeKVIxmtpIDND0hMGIHOYrQhtVKF2rv/J92sjrxkUfSvnbQVwdRVqZKrgWXAmwv0B+aPK4dR2NqbCPp9DKbm+6YyDf95UICpRFWFuWDUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwVNyOXpMInuzZZlFZ3eUmkuy+3qnDXmrppmyE1RZpMVP94FxBlKuXqeOU8yMtIJskh30jgEwAghaWW6Fq6EFrAQ==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ] } ], - "Accounts getTransactionType should return send type for mint transactions": [ + "Wallet getTransactionType should return send type for mint transactions": [ { "version": 2, - "id": "9501b19f-df15-4d6a-9d5f-ddf56e10662a", + "id": "ecd04b89-64b5-4846-8842-284fad6f7719", "name": "a", - "spendingKey": "3bd20335dbb1bf68cca4368aaaec82650b1d68ab2aa628b7b18a7f7026ef208b", - "viewKey": "c8772199459d6ec2acde4431005038ae65bbc9680742359f31163bbadee467b217c526ec235b033c34b42e5af2e8eb73b038daefbee66b26254251eb226eaabc", - "incomingViewKey": "76f6064a63fa77298c54f595d3c7acbbd1bcf71dba9af3ec04108a6ebeae1700", - "outgoingViewKey": "4a0839123c6d256caa7d43f559bfc7ea0718f71104c04a62d001680502f1c1af", - "publicAddress": "7820e2cbae3c382537d72aa58003205e484946f34be514536ce86c354c4e7ee0", + "spendingKey": "5a7212ff316625eff731912054725a692d3e21e5bfe76acbde852db0d6ff860f", + "viewKey": "2902385bfcd592603bd4ae5c842d0657936e7dc16ad800e1c6dc7f061b33c6acbe487301bf99faaf8c4c2bbb120535be0b686ec76685f356d41a81bc5a075e8e", + "incomingViewKey": "f8b43e4045b5cef7ff99fc872865c5fc75891c676a4e7311a0a10540767bdf00", + "outgoingViewKey": "538531eba2d0bea16a6987bfda8636f3942dbc5289c02211866de284015e1bde", + "publicAddress": "cd649140d30a716aef226829271a46f244381b9581260d582a02b4946a4855bc", "createdAt": { "hash": { "type": "Buffer", @@ -6344,15 +5997,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:a4ViNneueD6eAkmr/pbe/RPDAmJlMafYsQtoBishW04=" + "data": "base64:U7zmjgJsBAG91Nwad7NkJwT7FcYy64MFDC6NSDHpGSQ=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:oD3JNc/iNCiTgSVjLDNdZMr6t21JI49keL4j05lRyho=" + "data": "base64:fK7OaCnfCFdRWCN7q9B5/HKvzLcQjx9Y1Spl0Pnn/2M=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243776633, + "timestamp": 1698950343286, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6360,29 +6013,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAvbpfoesiXMU3oRx/a3PLhZIMXs64V3KxKVvIMJPL4Jqhle75czTcazjDPYCQZITQaFnq+9AubBbZOwdrih0rP/fWmlKvXXNRcUazgEoXpc6NJi49py7KU64i9Q8qx0NS2UMU8gD2Ert3r0CfB/hF88j+c51vbH+xBAQLd4o6Zu0FgYz2JnpcaTNcJWNF0yxvjSDRtXxcvA/NduqCO/CYumW8jZozpVDOBIyofHlr06mMsJMCV1zpcwdaPp25hWYuIVyEZ/eT27h5khBvMHkCCijMw7hIim23VAyGlZkAhVLriF9igchxYMAVfjhpzN87hjWyEpkq8Tq0zgDmsH3YHuU5HRLKiCAUOf2zNpnJMsz/rjdpmBZllqVo8ndenppyh415pqT3ht5S7nhDwQ9xUZZRvuSjJe3i+bmsJUxlrmzJ0oHllWCGXVIIWbG1fzQN0il4XW4UFfRb0EVI53wMF+UoUQaquczGXfv1JNSrBjsy2vpGJmPIAdSblkGD1o7q7tmY8J8owlLrVyy7KO0NMJWvvksCKYNbSTgVDuQDlc8mbGu3QNuBQ9RtPj5T9YqiqKIfMJIebvORFkvVgAYAB6WBZsSdTi+0V2p5uQZjFV3n5ArO+5V0cklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCbfNumnCX7fTFml2eoQkSTBDdh2lbFFkvi3V2XzoefIZuERiqrqJ1J9oe9osR5ZcoZV0XFWiAwWAH4C/9gPEAA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAQCWKlDT4mQCp4wsV8M6+OIG8xIDr4lqyNxz5kwKvEO+PmU9PCrIWF4c48dpxXoyjFTJotgBz7BxerAk+BO5pWbNU8FF6k0xrBQzmbC5x6HyTNTgXzc9I24u9wA/LtN4Ny+hDYMjsYwMfadi+79dvX2vi55DCpm1FkrT6ZqXzBGcJZL4kLPrntq3+k4TaA/xjbp5dFYg1B4hoSS/+otvuN1QZ8zikahFHcd+3BJTYWAq4mV3TYnCMrTxjNzgGjmp4wahh/I2EHONos+sVQBSUSgNZAZux5Rk9KOt8Ry+soKv5r4E3OEIjTAdSfK/VtXJ0fI4hqTzqxN6wEsEc3f13EvkL/vnHrysWryWs/IbmuI6AgAXvxzGW+nTTT1Rb1zsUBlKfzpQdhA8Q9EgoDEcq7aSkuviN5f3/02cdf33sxz4pyt3OJ1cTALfdUTnBb4jcMTilUd8sp2jh/zdHlRj7WOTiEhz1OOYw+6sk4WrB8/5GQNwtyyjnumw6thkiQxhLYwgayQIpxbhzf4ECdWtBG52ZDo6Tya1isCI8xXoNb1EYmOBJocbdo/j8oiVZ/mORcLlijap8hGRi7pwMaNDnRnQhBvA4Q5pfFUOdfMkKwmRwNmdyObWs0Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNNaxh3p52Sf+5Xkb4MWm38g7dLZ+6EnVjx8LifCLlTJSx4jNDYyVzsx/SIIgJDzlaSgtoL/EPez+Oy5K+cXJCg==" } ] }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbIY8QsULl+JbUFhfcZ58IqGsVe2OgRl+ZGdkATm0CUG5rRSd35bKTzdKPOh90v75hgcu6Kp81W9ymKSwa5nEGf057ouJY2HcBEJzEakjq4euXxEb7GU1kM9YxAwgcznCZlW3InrWgfwgQCyCp0TLWjdsZlVmQOvcmvZ1pZ8bkvwXWSLleqUK2pI6JXof04aCcbZtdnGNfgIee89ExzKbbYwmu3IJq/s9VfGkXl671/ezs9rjZovvFB+FD85W/2YbMhrTasBhy1jfm0AfzYmeHYl8p2hTaGbWrIlk7Lhr46s72j8kzLOjpeetal5D78wtDWS34PphaZF2b6P9AwJOJjJKr6asnIRnWXOYaNZbMFJfADCS4satH3DjYEORQHRloqVsDbfUFKAeGSYk18btDPx3HNkc+hYCoJzSONUR/LukyuH3ZcC+f1MZvyrpQ3bjMwFnnD54BGRHYOcsblNEBxUx60qOr/njSd1QBbG9gC8wAP0RvcYf0XaL2TSDTA+h8KuIGp/kXJ9aBFKVpDF+D8Mztuup+PbgC51OwTQGiaUe+9tH95v8qmLdMqPAFnDe9p3R6XxUx8cyxYXkT6XhoMP/AU5tIznGSSrUbncc1uNajn4qWUgU7eZdpdjtURHi5itNATCfSR/tW3fqS8JK5Qhc8AWK7qPM3MTNnGO/4gGJakLmZZ9mcP68rhfDx6vgA0dReQFK7tZf1nS9jehzvJ/mk7k8xAngkkzaUohDK6JsdWQ3PLGhdTzYQN8sC0jxWBHysyKg3V/o2XnSNH0gxTZkebCDnmn4pZq2EfWq2+S+aqeUU3BlcDdfQF6nxtoWjCyAsuVy0yrsQ1U3qmPL8w/92+mj70tQFlo/vo1mC74BglhaFthn4OPfOONvQUFgu2b50oiSGGDCF5XljBaZ+tl1/njbmZXlk4xToHV/XIXKwNmM9vmXwv92u+8icWsxq/Fb7f7MAVzfg2JigT2AjH3zSPoqldESeCDiy648OCU31yqlgAMgXkhJRvNL5RRTbOhsNUxOfuBmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAHgg4suuPDglN9cqpYADIF5ISUbzS+UUU2zobDVMTn7gAIz210CPCUFLJubdthw2f5T+S0c0b5imD+NmysDjDLSZh2oelcEhn240+gm00BLIVXkRez9GSVhZihAnO+zElQT6V6sgncmumgDV/P6mXfwLWDultzDtX2Aal042+B623uWLyDkLKJFJsyH2TrHJz3KcSltSueZooqUb0h+d0mUN" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxj3AOUADahwKB8WNTytPi/CvtqUhv76AOJqXfqG7tryjRvBbumBqu5/prqVyCE+qWV0m1IK3Rh2r2IhAwX9muQ+f38tZZ1eWy3o8cURCD1+Xww13QnI9tZuf1pzHNkXaVTacW8XoCdwgpBhvT7MY+kZvVd165yqlzZ5l5cZcjVQQoE27uLu7jO+En/oHxpZZNGCYQuOvy1Fd/a+kjw3P+jaMS9npB7S3TOoDRNxf9lqPw2xdU4yMris7PSo1QObxLTMz/xQcQpzNGv6OsUSEVxmYem0oDP6SdWPz5dGwITo9xaoyWPE3BXZ8WA2QofbInW3wB796RMBVFpWpj5rRO02CgDTU3OOilzIBrDRE1zBCY+VuhjQnYB2wEKeRMjpL/E9iikY/usQG5ct/jGupRays0tH6JbhmGcmYhuTeJsw8f6PAp74Z9fgYgaUygVBmm6EItWpv4bVauXT5ktu3SHZG9r3hQaXcNZ11KE/w+B82Jn2PNd4ubvckfDFUaZmyROBW+A0B/J6Ceyo3sColTmtMx0yt3/ub868HJusVz2kSXIfyw0hXjrrhanNyUKaqURoiMlZyFiIcRwMBoU9r+vlSTPZhu13e3aO/HMTVfXMWMtpEzuQmrmg4wgd0W2Z1XiFFktI0ofW5J1aAbXNIsFuLfjv9BfQmscbm/aboiQYv4RoOZWefUGlVrAl527OE2Y/H7uDGKcdgiN+s9m6QIy1vuhE3EX/5rjWQ2m1mT8w2uxWa6WogxjBdXAKICcmG/9yVN+dPnoChjcAIcXN1tnwrrIDAHFr9gdXfQt5KYi54qmwVw34Fd2pkDSGVwssc6HLNtxlauIXOeFgcCzPjBy84rCpR6NY1EpjBZLlpcho1JDvFi/utm4UH09sX7CBeCkw6Llf8LJCzaXXXBLVeZ+R53cR49lkThhmkfpI0A32IZxGdXn2yzbQgFlPq6tD+7trYykomNry1/E3xBB0ROVimKN3giYPqzWSRQNMKcWrvImgpJxpG8kQ4G5WBJg1YKgK0lGpIVbxmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAM1kkUDTCnFq7yJoKScaRvJEOBuVgSYNWCoCtJRqSFW8AJX2gZE4XcsGRVlNIzZ4wpAYyqIOjslz4aUF1Ehka0jvCoqURonQl60zGf79B7AQc/IZLqFNCTvp5pfkT/JZKwGI+mOmecheMVtXTTerBRMYvMbh4mnyZb+HSCR6jVLSkz1geaHBML7g/J26rRexhdxgQnLhkvPf/yIeuIZd7/8L" }, { "header": { "sequence": 3, - "previousBlockHash": "4D8BB4310B7B33646FE50A51DD8575E53C5FBCBE3BED3858DC94530231115C4F", + "previousBlockHash": "2B20D5B720FDEBFD6A3814A5A31C42566C1D0761F86E8A8408CC769E41415F85", "noteCommitment": { "type": "Buffer", - "data": "base64:ZR5lSzzMXEDkG/mz8TU1mFYt3u2eVNz7prXBZqi071g=" + "data": "base64:UbLTT3ZsuI3pouUIJ2LegSbZdL0R1idaYNK6PUMhLRA=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:PyytmLgoMxeyAZaoxXHTpPBHnBgPzmJjRZ8WN+ukg8Y=" + "data": "base64:2dgpS6CVSWvJ7rj2QOk23vaKTQXGwfF8G6Yjfn1HphE=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243777322, + "timestamp": 1698950343974, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -6390,25 +6043,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAFYwpFSN1A7Tp9HRuJZ+DYivwF78fwacWwN9ANYdUZtihKYCbOKDKAX/5ebQHRY93VYTfjYzEREhPjxoDxRbhlG4S5hdDGt9JaXbeA4Bj9kCxfz+TP7dHUQWEYe1fJCv6qqWh1IlbyET1058kpwrR5e0YR50lsWEdMtBKzlzVmZcP2sL0skwtNr5ag3qS2zOLPg62q9GF8ZbhyZKE98BCOPyKQ/X0hI1nXHvNWq33zXWJDv0AByLfxncL2t13VkebEc0z8CcZroWwOh89jakJ+n/hyfrgCX8vwBlscPHGqyI8BGl5r7GzvZeM3GGIp1+oaof12mfnqYYJiLyNY41xjFJOU+lmvHzA82dy0DxbQCq4+jPM9uocLikUVQPxJrQSiWr16qQFt8WAWLhbKx78wEbexly3gDxTWF4XpieWKL/Sdb8ZRncA+LFM3BcLk6WeVnTdKf7Oo9+theYP3kDLyzWmQpjQhRo8TkzZjQ8cAWh2MHzcajkeR++BTkWncc8ZgaCdDdjzUUvbkM6PeD0Z219kvyyOL8AUOa3gGyQoEq1+QbSbUDAIOoCcEeWAfx9bGrjWAUFYFaXzDxc/KL6UNI2oRoHfkUYPRH5JLFL19BmCOJyzLs0XUUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwK5/dAvzTTNDenWvgOyDXKloliy4vzG/EqwZwzKVssk6bjnX0H0T98L4Qisiff4mWae8RjH0ut/ErFciv0AmSAg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAVW680oAj8Xk8sagm9dcvdg/AlG0lBUPJTAhK0DitdKGEaNYN/KN8UnNdWV09d32TK+NaQ9bQAmQwNjueYT6udYJ7pMCdjYY26oP1/Pe09t2mhMFFiFa/pVF/+nPx+xim3vhZsVbn4cD6nnszpfw5ypEaJW8ECS5JfxJIO/7xQo4FSlpnQTiOjisAfvPxjFlsViQdxpP6pcC+DKJ2KLZEylBW1FBbxxz3eP6qmi02PXygyryPO7Zd6NSvAJCUU1feGJOmM831XMWWOFU8HBVU7WkVRTiOFj/q7RJMKnPiqtA9sYf9ehm0NWbL39diATC1qeeN+80i57gojrov0GZ9JENUkCC/CecuJajaJEeJXZAdd3c5ESBuLESGLI0u2Hlw496DB4z3m9KPFz/Zbcp1Mzsez1SAdKKzG06pFGEt1IxbApe5y9oicLPSbZm+3wGbXsfOrs0w+pzrgYl/eAnPz4x1YHI8yz2LsQZaySryRMUz3G4RveXBdV8UqRTW3x3kioWQSWED6oe2ig5O3es5IQKUCNni2ZTl16FimHB9IfF6K95Er7UATPBn7HpCe6orJrs4E1VEaK2vrn3xoMPV2qzKqe7MK5ybXz5WDgnvG6wu9+evWaJ6jklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwc7W8Lw0d5XoqR3hmO+a8QDEVJ41VQGaPGPlfjqO0Zb1NKk1LNfrX8Z+FOXB9hsCwFfHEINEGdz9BtKaLPwxABw==" }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbIY8QsULl+JbUFhfcZ58IqGsVe2OgRl+ZGdkATm0CUG5rRSd35bKTzdKPOh90v75hgcu6Kp81W9ymKSwa5nEGf057ouJY2HcBEJzEakjq4euXxEb7GU1kM9YxAwgcznCZlW3InrWgfwgQCyCp0TLWjdsZlVmQOvcmvZ1pZ8bkvwXWSLleqUK2pI6JXof04aCcbZtdnGNfgIee89ExzKbbYwmu3IJq/s9VfGkXl671/ezs9rjZovvFB+FD85W/2YbMhrTasBhy1jfm0AfzYmeHYl8p2hTaGbWrIlk7Lhr46s72j8kzLOjpeetal5D78wtDWS34PphaZF2b6P9AwJOJjJKr6asnIRnWXOYaNZbMFJfADCS4satH3DjYEORQHRloqVsDbfUFKAeGSYk18btDPx3HNkc+hYCoJzSONUR/LukyuH3ZcC+f1MZvyrpQ3bjMwFnnD54BGRHYOcsblNEBxUx60qOr/njSd1QBbG9gC8wAP0RvcYf0XaL2TSDTA+h8KuIGp/kXJ9aBFKVpDF+D8Mztuup+PbgC51OwTQGiaUe+9tH95v8qmLdMqPAFnDe9p3R6XxUx8cyxYXkT6XhoMP/AU5tIznGSSrUbncc1uNajn4qWUgU7eZdpdjtURHi5itNATCfSR/tW3fqS8JK5Qhc8AWK7qPM3MTNnGO/4gGJakLmZZ9mcP68rhfDx6vgA0dReQFK7tZf1nS9jehzvJ/mk7k8xAngkkzaUohDK6JsdWQ3PLGhdTzYQN8sC0jxWBHysyKg3V/o2XnSNH0gxTZkebCDnmn4pZq2EfWq2+S+aqeUU3BlcDdfQF6nxtoWjCyAsuVy0yrsQ1U3qmPL8w/92+mj70tQFlo/vo1mC74BglhaFthn4OPfOONvQUFgu2b50oiSGGDCF5XljBaZ+tl1/njbmZXlk4xToHV/XIXKwNmM9vmXwv92u+8icWsxq/Fb7f7MAVzfg2JigT2AjH3zSPoqldESeCDiy648OCU31yqlgAMgXkhJRvNL5RRTbOhsNUxOfuBmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAHgg4suuPDglN9cqpYADIF5ISUbzS+UUU2zobDVMTn7gAIz210CPCUFLJubdthw2f5T+S0c0b5imD+NmysDjDLSZh2oelcEhn240+gm00BLIVXkRez9GSVhZihAnO+zElQT6V6sgncmumgDV/P6mXfwLWDultzDtX2Aal042+B623uWLyDkLKJFJsyH2TrHJz3KcSltSueZooqUb0h+d0mUN" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxj3AOUADahwKB8WNTytPi/CvtqUhv76AOJqXfqG7tryjRvBbumBqu5/prqVyCE+qWV0m1IK3Rh2r2IhAwX9muQ+f38tZZ1eWy3o8cURCD1+Xww13QnI9tZuf1pzHNkXaVTacW8XoCdwgpBhvT7MY+kZvVd165yqlzZ5l5cZcjVQQoE27uLu7jO+En/oHxpZZNGCYQuOvy1Fd/a+kjw3P+jaMS9npB7S3TOoDRNxf9lqPw2xdU4yMris7PSo1QObxLTMz/xQcQpzNGv6OsUSEVxmYem0oDP6SdWPz5dGwITo9xaoyWPE3BXZ8WA2QofbInW3wB796RMBVFpWpj5rRO02CgDTU3OOilzIBrDRE1zBCY+VuhjQnYB2wEKeRMjpL/E9iikY/usQG5ct/jGupRays0tH6JbhmGcmYhuTeJsw8f6PAp74Z9fgYgaUygVBmm6EItWpv4bVauXT5ktu3SHZG9r3hQaXcNZ11KE/w+B82Jn2PNd4ubvckfDFUaZmyROBW+A0B/J6Ceyo3sColTmtMx0yt3/ub868HJusVz2kSXIfyw0hXjrrhanNyUKaqURoiMlZyFiIcRwMBoU9r+vlSTPZhu13e3aO/HMTVfXMWMtpEzuQmrmg4wgd0W2Z1XiFFktI0ofW5J1aAbXNIsFuLfjv9BfQmscbm/aboiQYv4RoOZWefUGlVrAl527OE2Y/H7uDGKcdgiN+s9m6QIy1vuhE3EX/5rjWQ2m1mT8w2uxWa6WogxjBdXAKICcmG/9yVN+dPnoChjcAIcXN1tnwrrIDAHFr9gdXfQt5KYi54qmwVw34Fd2pkDSGVwssc6HLNtxlauIXOeFgcCzPjBy84rCpR6NY1EpjBZLlpcho1JDvFi/utm4UH09sX7CBeCkw6Llf8LJCzaXXXBLVeZ+R53cR49lkThhmkfpI0A32IZxGdXn2yzbQgFlPq6tD+7trYykomNry1/E3xBB0ROVimKN3giYPqzWSRQNMKcWrvImgpJxpG8kQ4G5WBJg1YKgK0lGpIVbxmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAM1kkUDTCnFq7yJoKScaRvJEOBuVgSYNWCoCtJRqSFW8AJX2gZE4XcsGRVlNIzZ4wpAYyqIOjslz4aUF1Ehka0jvCoqURonQl60zGf79B7AQc/IZLqFNCTvp5pfkT/JZKwGI+mOmecheMVtXTTerBRMYvMbh4mnyZb+HSCR6jVLSkz1geaHBML7g/J26rRexhdxgQnLhkvPf/yIeuIZd7/8L" } ] } ], - "Accounts getTransactionType should return send type for burn transactions": [ + "Wallet getTransactionType should return send type for burn transactions": [ { "version": 2, - "id": "29b7b2c3-454a-46a7-9318-193babdf9450", + "id": "d7d2d6f0-7ffe-4224-8450-d6e2dd91a9d6", "name": "a", - "spendingKey": "f660fccb43ba3f289b71338e9f5e14ca036c9636c8ce6a5686c75c5921e2e880", - "viewKey": "19a274a6c0d55b4129842563a7223866837d4c265c9c8a093cd5d4cf306a4a724727baa2bb8e7359a029c44c7e5f86a1c1825cd11aa8320f892a385324886f97", - "incomingViewKey": "76b248a3ece287deeaa937ac22a36d194621432ae03525e5487b67b09ee74706", - "outgoingViewKey": "92d17564b6b0b25bd77cca8ac388b71166dc4ce58658765b510bf2c56d9a9d84", - "publicAddress": "a9c6a8728f45cc6bb3f4d6e32618474d9c6dd8b80d7030b53ab9ac7b08d43f52", + "spendingKey": "b594f0d9f8267be8664b22d263a0d899a93ec5c6e8458c60428723335be165fa", + "viewKey": "0c77d5aa59e3066872c1935909a73a24c78c5bb2144a0ecaae98471f7d16a8686260e52425284080b0cc031427d27ea90b951adec67d9e22008e975fc9cc3f2a", + "incomingViewKey": "a8a66a81a8eb3021d787365f42055ff2a0259aa5d1dc3acac6a57f6efa731c02", + "outgoingViewKey": "e1c1ea434d7cfdb77a694d8caeaae81e22cbf0f34723b383e3dcdc79eaa8cc54", + "publicAddress": "e297b51f25341d3ee41c91268b977bf1da2cd2d7a10bd4a96af0bc7f5a5a9b9d", "createdAt": { "hash": { "type": "Buffer", @@ -6423,15 +6076,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:W1WQxJv9KSjDT7QPG36Z+y3utEWZYlWpWwJUGUHpRx8=" + "data": "base64:on/iXvTFDb7/UqLp3b6ipZfNJytnZsxsMo/8Tf5aChM=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:5KGuY8jWtkT3uO33qEq+HY7jq4bKEjEnbFoQL6P6RaQ=" + "data": "base64:7KLVib3DkFyMdKBC8PQTRnK1vlHFSS2imWdV53lQTT0=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243777771, + "timestamp": 1698950344340, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6439,29 +6092,29 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAP+5YSlnete3LkspAVe2wAccIqhtqZV8fnBrtAvW81TqklWrIoOrTfTHlrakIMmMLDCn1CKNvuBcJsesMCDFOecrV9RF9BeJix/2rgBg1o8GgZileZTS9w+K3alExYXRV+rowElvykZjNn56cNTWCUzbhq/nN+06YkRDvHUv4K+gHNY90ptYLZXaDOoF58w2PZ6Jdk4P5ReAwlJJS/qsMAgrGMiqHLmdtvCnUcnw7LweAnFr4vaIEs3BrWBRv4U2rNd5qjRFTrXLyr7kde35IwCYRNei0pr5JC9CwVjcWSPSFDzrLlekijyoH7u7bBxkgmPtzsiVdcScyRWG50iJCzdh7Ioqx1GnuJKNWWPPsjiu3n8YoNfsRoK+IK9Mu3hpADS4cgoX8pIZY2siAbO0JOfFXv7H8cczf4voGJ4HwA4HP5HciUYoZ23H7WH32QReibd9p9Urk4xeOAhnpFN3jeMKaeg9e28xdXlQNNp8bFaplkRskt1gAaw0POfUV4+Fq1dxAvxDIiliANjK9p/9jYSVkZBSMm58G0fHzloQBw9i2yicJKSkUvWEPe+fLBax4PzbonBJwUd+wbm4ibZXnLIdXx665V2cPGv9LNBpzxUGvoqADzwaIwUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwFMQUyIy0CsSUBH6RdIbFCOuiViw3AUjS+V0VSiWOXroWCRvaPwEUwCC/9SFlCvHNC073l2XhmG9qCcDaV69HCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAibmY+RJmUTqaoNVCubMZHyV0SrXW1CISE0+ABgZKmuaBrZuIjL8LtwghUcOs+tJEx00jhihII5xoLhBtdy5I0eKfn6pwcZQtRd3TSRHycnWTSanTcasN9h/Ij8/OEbWhEZctCMLGeDE+s0PDo4s/Y9/Ql4l5iE9vUhStJbKiGOIVgY0v/gzQd5LMrx+/eCcxr3rDTmVBr8UWLp0ZGJG0kB+0wrl6gnjR3geJ/51fZnGHZKJtkURUuO7clkTC+BxTcFgXYfd69mH5gEQL6HdErXG07vqjSPrkgU5BaCs1vcKEuKx2fO/gw8sD56OtNQnokHdbS/JWEilypdoXejmZN3WT36CnaqtVHk/qHpfh+dGOx0B5BtiEq0+gdx4KS1BMAO9chvLI53tJtVX66MVHXH7tvPoh5FFF+OPDHn+x81Bvq+QKA72zHSKHuoi5jP21juHxPSI4PEilBuAc+Sy7GXoTfNY2jzqN4LE8bYU080jn8IBgzcpFtLmgAkceYVWT6bboE2ymeF0ff4Qtvg01dt+sIJKa0XvqslUddJIgo02JNllJlBMyOpF68kHHKv6RWnJKdLFAuvXGIK5xY+9hj5LPBPxmY2cdF19h/tNGVKxPQBIrSazFxUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUVH+sWnDGDnf7RZf6sNH50mXbWOLkcvy3fAsvyF0eM38/Ulv88uIwbmAW/+Mz1LW9SNjEDf50vOY64HzkgZCg==" } ] }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwGUMpfBTmbCRppENYc5pEEfj6efbDwdKP8q+Fm+WCGnPo/KeKPKDXc48vdBRnbbHHxZk0Hb8ECeSL9fFz5XmgPQy/KuszuBKIXMxUYf5v6UYzX8aAopFHtt39DLw32mdRUqcGF7LljIqvlEjtZuherfGvnZlVWEUypXhJMhIz4Xsbqe2YeGfz9nvp1qj4/JaHvJxwKAU84kgu6Ypz572B3+x+VTE9ZLJWrHNJQZdRCQUexAWnjK37IYTSBM9om6sTpdzQWZaDYVFBHv8uqelaTy4ck66wruWp3jAq5IoAyIzaZOtiaaq6h03LQz7GYknPWS2GZ33gA9RsgF4d1xADHvC48jd9LuWt202yyyyBvFbc/hhC2NH5V1OCDXlNYv5emzJc8h1MVhu95Y/9qftwxMUaCFJXPdykQiKxocw65v7znaoeF8MFvs1HT2K9DT6AHrmGBlWlesLByWOtbxSbKFFFYQevS1CabRU6gLAPrDD8270jD0nhjDf/aW792nG9lq8kRKGbyAnMXlnF5S9LvcU7FaBw7u1DWc9oy3xc4WRp9qkWtlF9R2aQqQxAFFXFN0GqMVIj+CwILkwlVI8WrJ86bqjcYd+dYvfeB0eEXrJt5FuG8zFiV+qBFJK7c5C3UH5jmwBrbjD+C5yZ+YGx1DkJrUnkaWxMpPG8lipl5Gp8op62pI+H/LEdoy93TrrC+4/1d56aW1XL7SijaokEPui9+m6wjHpdMJJJ4LWFzGAUPPK74klJThVUjnRZk0+8NsRrdvlib2bvF/ltTSp4iya2xSSuwjtrJ2I06nxfMVDw1Q1Ci/FoM+hwW6cxp4Uk2ODEX92p9WaP4Yb0m2M/FHGR1BQgvtEGRhKBuFZ6+ommm/pAjPkTD7ZurTvGRQ6nsFle4p3Pqfg1o0doXXjJn0R/sZ+1zrp2velZtNQnR8vdvTFOXMli6W4oVMEzNOlmNEUPs3tvXPgh3hg+m0QFfBaomDBhNWqcaoco9FzGuz9NbjJhhHTZxt2LgNcDC1OrmsewjUP1JmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAKnGqHKPRcxrs/TW4yYYR02cbdi4DXAwtTq5rHsI1D9SADVJAg3yWDGoLLNnkPGuX+3AMyBv+A4KGysphAGmZ7JmBd0xEzYHDEm6Go1kN7im3moMXaXNkbXpRWFLbvSWAQb1yb3iL2vpcSPPg1ZoXNbqgmq6aPYsYXjC3uIWj9FDiIZnNwc3HaMHcJZ3DKOSEzzWOpP/sW0wUGu5h2M4zywO" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlpGYEodKduvvHN5t4wXUfK9DEJFUhdPW8drwp62MoeK0PTUHzZuejxAGKWniDfq91WAoydUIPCHbBr8PaaEI3XiMv7tFmAJsgnPRuG4oMajnYunCiECd9n6y3xphxDl0185dBByDY3sdOhZJUAuCpurfVOc2sGstGwQL9fsstQYDuTMkZys1yAkzjn0kHBs+bYuFix/O4o0HgIl+16pCySun9isFeg9T/zFeZzzrwaPw/jDdJGRQNGGnJMoXxauGl9TGM9zMAbGD5X2UbJRFgykus4VgupOb1IZMs/w0twZs2SwpKqcOiugdJ6pv7okHFU1U2+9ZBsWXsG8drxy3JFAfjv+AmoGs5eUqC8+FfjiEvsxCucy05Y3+SqFXSpaRUWLpimGqT+ktqzj9XpOGQRJtUM0Iq5DgaNnRpxpnLAmCM/fl75O1YzAqmqcIw8GGVoTX0HDEWz3Ys5BiPys7+37jTEVHz46MZf/1WtVeOqHUBInVNulyrO1UI+uzdVR4fgRmMFquj8Elq3keZjke2msjc9zZF3vAh1Fg3k4YAD6AFRJKWy2W48F/hYJSIArQIRcIwH4N664ANuNd0unx1EF07PfSZs9uFW09n/Lp+W0byoaODhWucNHzWfkm/6KHtZoEoLoiYgiwAdwzyHbFGla9l7ceQtfzRNCYp+svH/PErYuoSEYJ+NY+0kQSSJyUF1rDOIc2y0xlNb0hhKiEmeXAxZoaoU/i8PxgYusW9rAU0uCPO7aBDMxWTAKOAaHPpVGIBAKT2+eMGuOMzI9GuqaFHe2bHw5laNpnPjGh70C8Uf6DtGYBB1cl9L14cymBX2vpYM/qXdSghAuej4mnNdQs/yT57kEFVpflvkUXqsoHa0A4jhI5gfewNbD6VdINXd8RShkTBgZJ2TeSN6gvq/wxcz9E43kky6HeZs6JbPPzYoXhQ19u0SoqbVmN2BwO2F+JCJwvyRJhlopO1WLaPZo8IDAlFOq4pe1HyU0HT7kHJEmi5d78dos0tehC9SpavC8f1pam51mYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKAAAAAAAAAOKXtR8lNB0+5ByRJouXe/HaLNLXoQvUqWrwvH9aWpudAAaSen44KuxBgc4CBO+oYxk26xGaiGfbEeafCjAEcgNL+90rJQKiTSJUyjdY7r4TrZwfwlzzX92H7oTyKVi/nAjh/vOpA7/MhsAosMr+1l/2EfJ6KtEBea/PvYSQPEbfxQL+ojmMK3boC9s/7HtrOLbME3fa8DcepdIOlZiJvboG" }, { "header": { "sequence": 3, - "previousBlockHash": "775FA74590193D5FF8EF9CDE2A0B6BB33636BF20FF7D47A1B928CB471CC7FDFB", + "previousBlockHash": "35BEA83095A2CD0FDBC187B6368D4AC516A3C2565AE8639D2FF6937B638C189D", "noteCommitment": { "type": "Buffer", - "data": "base64:NRFHj3+JzkQCMb7ZiDsf+Ne0g3YrvMEGz7DAK/eUHCk=" + "data": "base64:PD0Ha8GC11RUGeFjPcAWgDvz5UIxamqgXUHJSrX0Axg=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:4fUZpGNS8/vFnhneQTDp/DoiswXMJgb+HrxE4R68TLc=" + "data": "base64:qBeb3haXweCMSW2AkZk6HoAQW1IbsWA5z+l4+DFgMpE=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243778461, + "timestamp": 1698950345074, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 6, "work": "0" @@ -6469,33 +6122,33 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAot9DYtca/WA/c2QwnNN9LlwqBpgI6RFyNCq50x6XSCOWw7nSggRTych693UJXXSP1qSeun+1Jsl75Rn04UF083H9MnnHr8rNUsR0RW2oCYehmzswO9VloCsn676pWWzG8JrwZ8FCw5JylYyutbHCk//rxJxJurC9jFphL+Hyko8AZWC85cQZWw1nNdjzTg6BZs9x7S6b75TJt7sYeiFI7J3a9ZBrrQwuebvY7C4RucK5pU/kyKX1J7666PPxjXIaNiErdOBbZmoSx7iBZXiJF+PO1FNwdM67jgzsVS3yClRGLplLhxJJ64CCfByAyvlSXpMLSuwMWROntCPz0Xgkw/uXzu/GzFTEfXvpJ6WEBvWMpUZ5pkWq4wfrZ3C+yP1VQBa4dJf2EovIwppL3n6UDRx6EJRzvG6xdrgqqBjYT7A52UQE37v8iium/cS61jujs3nhBqE2HNJX8+l90ZAOui7CS4pTyh2SwXkHsC+QjJphM/saVyZ648ORpEBqFZGkyA7am1+fuqAYN/8JkoUiWmEfL7AoZXEB/P/VLkUqq/c8izre49gPu2LfQPSMTPvYJRjnRXCwHfy8PNZb/aAYivpFMl211NcU7QviI1vH1LDgCBmlp7lobUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwTav5582NnUJS5xVxvMnk+R9stzs4WdVH7SdICIC5bgn/b5BV8Vgn1dhkRV58fgYjMTmRIdgCn/rL2UeNQhQ1DQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAIhL9/l6k/GK1gFD+ZscotjZAcZxOtFfFbwsq6RzSpV6jQZZn86U2k+xeIV/ddKjyFnJznxWHAinL94qQ6m9QYLJVMFfWUYPTrV0zl7dDhfy5Du/io8BSxVtPv1jgSiek2AGZvKz9MuYVJIPqJhAF9+Io4/Z47pq8nN/7ri/wgFAJi+E2dPzHL6yaGlZ9eVv5h2A5NKRva7zdZS1bgjGiO0MRq9zZIH2aFgs9gQKtsjOrqmluGqBIyksXyYhxz/le5RxJPABF5gz7ADuH3K+Uqz7gx6MPt9ew8TehXJwm+6iDH0rnv7sxKNLrhIm6SkQ5VB5/QWVa3DwHMYefGuFLcNu+j/eJXErUCBtfA7sBPR6s93MBQFUHdLWTerT3hvYP0nYLpw0q0jB6UIOXjZpJe6F1qkpaHw0iBpaNnf8BRqVtJg0vqvuN2QZCkqc1VLsFO4jyqVXUtZ1tv1hkOydg26BZ1Fj7SCPAyvBwalBfvfGct5g3ggFkWstFapvYEqPGisekcNlWuVCSE75S53hp5+G75tmrciWh6ufd75yOMhAABu3xaE+MJIIOG3hSXUCaq3j/qiQequWu5udbQS7Oc7WGCzIG8kBdeGAjkU4Kh2iIbJTsb1Kw8Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwUTQRb+VyWJsQ95ZTxz5782eWtEF/B9+6sk3F+yx8bQL8cDaiXeymPmuRmZL2fYwqS/hWpgqiahhqftHlUmHMBQ==" }, { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKwGUMpfBTmbCRppENYc5pEEfj6efbDwdKP8q+Fm+WCGnPo/KeKPKDXc48vdBRnbbHHxZk0Hb8ECeSL9fFz5XmgPQy/KuszuBKIXMxUYf5v6UYzX8aAopFHtt39DLw32mdRUqcGF7LljIqvlEjtZuherfGvnZlVWEUypXhJMhIz4Xsbqe2YeGfz9nvp1qj4/JaHvJxwKAU84kgu6Ypz572B3+x+VTE9ZLJWrHNJQZdRCQUexAWnjK37IYTSBM9om6sTpdzQWZaDYVFBHv8uqelaTy4ck66wruWp3jAq5IoAyIzaZOtiaaq6h03LQz7GYknPWS2GZ33gA9RsgF4d1xADHvC48jd9LuWt202yyyyBvFbc/hhC2NH5V1OCDXlNYv5emzJc8h1MVhu95Y/9qftwxMUaCFJXPdykQiKxocw65v7znaoeF8MFvs1HT2K9DT6AHrmGBlWlesLByWOtbxSbKFFFYQevS1CabRU6gLAPrDD8270jD0nhjDf/aW792nG9lq8kRKGbyAnMXlnF5S9LvcU7FaBw7u1DWc9oy3xc4WRp9qkWtlF9R2aQqQxAFFXFN0GqMVIj+CwILkwlVI8WrJ86bqjcYd+dYvfeB0eEXrJt5FuG8zFiV+qBFJK7c5C3UH5jmwBrbjD+C5yZ+YGx1DkJrUnkaWxMpPG8lipl5Gp8op62pI+H/LEdoy93TrrC+4/1d56aW1XL7SijaokEPui9+m6wjHpdMJJJ4LWFzGAUPPK74klJThVUjnRZk0+8NsRrdvlib2bvF/ltTSp4iya2xSSuwjtrJ2I06nxfMVDw1Q1Ci/FoM+hwW6cxp4Uk2ODEX92p9WaP4Yb0m2M/FHGR1BQgvtEGRhKBuFZ6+ommm/pAjPkTD7ZurTvGRQ6nsFle4p3Pqfg1o0doXXjJn0R/sZ+1zrp2velZtNQnR8vdvTFOXMli6W4oVMEzNOlmNEUPs3tvXPgh3hg+m0QFfBaomDBhNWqcaoco9FzGuz9NbjJhhHTZxt2LgNcDC1OrmsewjUP1JmYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAAAAAKnGqHKPRcxrs/TW4yYYR02cbdi4DXAwtTq5rHsI1D9SADVJAg3yWDGoLLNnkPGuX+3AMyBv+A4KGysphAGmZ7JmBd0xEzYHDEm6Go1kN7im3moMXaXNkbXpRWFLbvSWAQb1yb3iL2vpcSPPg1ZoXNbqgmq6aPYsYXjC3uIWj9FDiIZnNwc3HaMHcJZ3DKOSEzzWOpP/sW0wUGu5h2M4zywO" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlpGYEodKduvvHN5t4wXUfK9DEJFUhdPW8drwp62MoeK0PTUHzZuejxAGKWniDfq91WAoydUIPCHbBr8PaaEI3XiMv7tFmAJsgnPRuG4oMajnYunCiECd9n6y3xphxDl0185dBByDY3sdOhZJUAuCpurfVOc2sGstGwQL9fsstQYDuTMkZys1yAkzjn0kHBs+bYuFix/O4o0HgIl+16pCySun9isFeg9T/zFeZzzrwaPw/jDdJGRQNGGnJMoXxauGl9TGM9zMAbGD5X2UbJRFgykus4VgupOb1IZMs/w0twZs2SwpKqcOiugdJ6pv7okHFU1U2+9ZBsWXsG8drxy3JFAfjv+AmoGs5eUqC8+FfjiEvsxCucy05Y3+SqFXSpaRUWLpimGqT+ktqzj9XpOGQRJtUM0Iq5DgaNnRpxpnLAmCM/fl75O1YzAqmqcIw8GGVoTX0HDEWz3Ys5BiPys7+37jTEVHz46MZf/1WtVeOqHUBInVNulyrO1UI+uzdVR4fgRmMFquj8Elq3keZjke2msjc9zZF3vAh1Fg3k4YAD6AFRJKWy2W48F/hYJSIArQIRcIwH4N664ANuNd0unx1EF07PfSZs9uFW09n/Lp+W0byoaODhWucNHzWfkm/6KHtZoEoLoiYgiwAdwzyHbFGla9l7ceQtfzRNCYp+svH/PErYuoSEYJ+NY+0kQSSJyUF1rDOIc2y0xlNb0hhKiEmeXAxZoaoU/i8PxgYusW9rAU0uCPO7aBDMxWTAKOAaHPpVGIBAKT2+eMGuOMzI9GuqaFHe2bHw5laNpnPjGh70C8Uf6DtGYBB1cl9L14cymBX2vpYM/qXdSghAuej4mnNdQs/yT57kEFVpflvkUXqsoHa0A4jhI5gfewNbD6VdINXd8RShkTBgZJ2TeSN6gvq/wxcz9E43kky6HeZs6JbPPzYoXhQ19u0SoqbVmN2BwO2F+JCJwvyRJhlopO1WLaPZo8IDAlFOq4pe1HyU0HT7kHJEmi5d78dos0tehC9SpavC8f1pam51mYWtlYXNzZXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1ldGFkYXRhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKAAAAAAAAAOKXtR8lNB0+5ByRJouXe/HaLNLXoQvUqWrwvH9aWpudAAaSen44KuxBgc4CBO+oYxk26xGaiGfbEeafCjAEcgNL+90rJQKiTSJUyjdY7r4TrZwfwlzzX92H7oTyKVi/nAjh/vOpA7/MhsAosMr+1l/2EfJ6KtEBea/PvYSQPEbfxQL+ojmMK3boC9s/7HtrOLbME3fa8DcepdIOlZiJvboG" } ] }, { "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAIF7Zdz69jC/eVjDpEpPlRtEQWL17uE1IBXctYXTc4gexNbCGav6X6ZKAnoFO2QZnQA9Z8sFMD+p075pD2fzMUYKC/F1HZoyKgEcOZLSVepK3Kd+L7TEDVJKFaimSEAqCaHle6N+36ZEjwQzHfOy8oFM8EeGyjGxZCFwl9ZHmdq8JolmIrc2qMfeaMeggBP/Qh5oPlzlESBjwD/+LYbaXjIl70jq61gS3vg955pwyFNuONYUeXqeFnfKAeDqfZhQWcIMcfgiTCz+OklCNrgVLY7yDb1exOst8A7uP/d3EFnilxSLBMR7MnfWnORJrRt/9KzVJDk/uhgDf3Q4XtFSFuzURR49/ic5EAjG+2Yg7H/jXtIN2K7zBBs+wwCv3lBwpBgAAALqPLoPkJ87g2Tb09ynUlOzn8ZTpkSR0clM7GeZYEH1r2yWfbEW9C9FCDLSaKQjlBa/tVZYT/gkvUgt9TcvWbSwyv202d3oT7Svu4zPdYY4epXsYHsCSZAdolLQwE8IqB6JBO9KDdTOh+DlVnV3QSFZvLEyDrKgkqP6ZySDtYCcZx3QAX8A+xu0r8kWHkSTpnrBxtXydDWvTZ0yBFRGdsW8cO5zevdlz+TbBg/mFNHEcjdtfde2b8LxGXtwyyeZ7NRTLqRa7i1C4EsLP8cJ8kvZ19HlIsMKbZQOtly0OnNFATaI31Im+/L69Qka3RwzAHLO5rQYTO6pkCTqs/FMMQMf5ATgIFWu+bowt1FcOw6EAgZ9M7StCyp+qXISW/IWuDm0KbSeyg5Q1bTbmgWsD/FIXlkKla2eWKVV1t220tiXxZv1Su3oKJTKh2QbGlgNJ4gL4pyHBeFiZMjRwlnGjXWYWjxj1xxDtSO1qv8/OPv1EQDhSJeOEqeMF/nXsoaO8kJuN6CzGGodsVG6yD3fMlL2KBTdIqpyvgiFnRWs3/MpUPrRuXtSDA1CCHiqjCFg9T8cP3717pSLLU7XlJUMeTOxM5z1g8CXC/WlY8KFp4u9UQ833+n8FWgjOycr1dJfX2wXxunMVWIiAsvB8/3u5DDAz1YswkNGEJPbr/uDAc0d8eOB7Z7EH5nF8zhJGEETD7bA9qXKDlhIYzc7Bi5CTU/OvZbnfA0EGnkA5DlZ2QKIREIztzEEHg77js5MjW/z5T8IB4uKAhSCJUAWqJo5dz+o9nEzbTWB2FzYRqRpRu8r4hmLBBRpICz5GpbuxppXm/VmxD/5SsJkydS2MAdXxQsMi2gfhO3TL0AIAAAAAAAAA1TSIBjSujK2cA5+tfYf+PeRO50qt4o1yD/Ozvmr2kUnRewcX9WxcwXfwpw1lOry8TqFwEp96nlB3j6EDYcrPAw==" + "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAASPPUgRSZMM4K/bxaiBPEOVdQIayz5KfboYdaQLzENjuLnWpYfI5IHWXYUaKoXrMABwZSHri7WH41rgsL8eixUEvu/PEUhnJa/HRcMjLRYoK5bqUY4yKoqx3b+n1fKkyGvucThvhsobNWXvsmlKY+0/tLDp6tJNAX1inmbm0hzXwMTDj9t1BLjlcVC7g9msfnWO9D1HJENcxAwfSE/q39HSDmGw7kms8DHosdQPJZRiehU5RTunZOjdUHuwaGOHZfF4d7SadfiyCRcwCaYvzJOw6rdlc7l3B+vyT1flBPqO3Nn4mU9YUYTRhrUlAZnxnJJS0a5lJiDs6EH8IEGrsqXDw9B2vBgtdUVBnhYz3AFoA78+VCMWpqoF1ByUq19AMYBgAAAFLEIKiyf2xQRwemwxdpoifrEZgHpWhjAf8bMhl06crpAveSo7pzZQa4f7m303RfCOPevdkBpAfZpzDnAzT0W7/9nVwExjA2Cj4AiUCvd7rXe3fYG5T5O7kHI8Uygt9rApH5KlN1VusEO5p4eHxV4/PXQ6gudiS6MoHYNNA1WJArjBzfJKSptMZgqxDK3QB5i5c1p51/Zg+Ol7VrD1VGzDeep1ydIw0ab8tchG9rUsuBBTD9OPRunEM05puvBAeaWwGo67iQNYRsmlxBSCkt++/BJPsL4IBY6J0dxemF4ozEqBOBOaNMprI10EhuPg/82rEbAFBrzOw+iWsmB/N30LarkF2vgoZrXWICdxF5WrSGVCLpDVH0XQL7dohLuEf3LwSuqR6JI7tXGVgiYx/vldJrbqZ62NkJK2IUZ7B9N/0nLmljGEmde5iQpHJOCQrG/5yRMwiWZqapNajuxN4GY1UvK6guG6hiflQUOR3TpvIvjfkeZLtInjzwxjO8AgNUq7zWS6/8XzT9ceiIbUnz2pxzfz+UwIjihH9lL9E7+Jsk7e67TT4mjPs8MztHieYz99Xqv6mCjIWIdAtcnkeUnRqy7tFWcglSm5zpQGTRaDnfLfcSyU/W9xvHtoH6HHwOoZ2gDqChwiPOq1HFT+3MyTCvYSnblCW5bD6MNnJ/CAKyB66qyNx6cBvNliXXsUqjW7mN4tUZ1PIFue8qWxSUylaeZXIi2FjKL52dePlWp5BclCke5nq1Gq0nj9GWMjR19ZoeIP50ooIp9Cs/+BFnrXXFdFiFwg8R/cD0oH3pId562XZ8CQTG9zcsIGsZ4nJgBM1Zc8wo1feUyJBovO9KO/8QzEzcvjzDLQIAAAAAAAAAA2e5Vt4iaH868txDOiSjCBi1omuzVAMK9nQyQOnrxsvTkYTivWv38CXdg80o1A43BJ4txFrkrGKYNcieUV7NAg==" }, { "header": { "sequence": 4, - "previousBlockHash": "A852125F3EB7315E8049DF289A31C849D52BD7BAC63E31968C7F24E837855204", + "previousBlockHash": "AC21E2C03E2C46AA98CF6A644BD5708632F4DE47EA11DC0EF74B717A9B7C18EC", "noteCommitment": { "type": "Buffer", - "data": "base64:CHt/3MK/h5Y90jUOWsdTYLBk//SiP1egcKc1TrbD1iE=" + "data": "base64:Fpjg1hPxP5axHWe8N411e0wmNLFnoNRq5wpiOskJjS8=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:qFwsGeie55HHACJNXuUqehx1XY7V8d4ZBO/xWYzvzPI=" + "data": "base64:iek1vawwwkQDePqGDtIe/9zwCVU42AlwZqrvrayjqGM=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243779540, + "timestamp": 1698950346171, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 8, "work": "0" @@ -6503,25 +6156,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA8fC6T5Evpo8y/JRrP7qBLrnd8p0zaUVz1l7jiWdepoSpeK+waySQAyFUGu4Z9Ti+Wu/TTwg7nTxndOv4pUbhJddXicA2Ox4Sb+qPb7NsBRuge3PrGUnGrO5XPexHRrdxBwm17wOOcDDgaEsMGssu6x5t+hxdVLQ4vDuTYcmwVzEIrDAKw3BNHaIDO0H097iUbwHHJs6Uo8RZQg1xVsWUcShTjiLHDI/qayQ6aTwL8uC4TmEnB06DfTK/6g07ztLj0PjwgdvDmjVor4+NT3rrCcOgDC5X2lHluZqR8iWAAF4LY/67NhkbX/aoUQYpvtp1jG/WVGlyoO518Ya7gPRZlxi90L/Svzrpqt5JC/ufPu21skgOT8rTtyqEVoov5y4hQwbUXtBmAj6qd3z2h22n9tBkWozCTc3vb82S+XmB4aZeiZ9RRpysEp3Ei32NguKlAYlAfABhavxgTZsf6OjiFO+tl/qud0WaRIQ+WbnuIqaBDZla5uHl2GR/q8aiM4SdVDvN0aoEnGued56oVeA42QOR7cqv26uZAzIf+TdEK4kgWplTzl8IvfI+VFUSq4n3v/3+iZBCZLQGvX9qGs6zVtHNOcptsfh62TmBhU9nyrIq0SjdStUu+Ulyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwTJz/IpALUauPzHbEsW8A92sRw4P7snbwXsQp70z95cIUccbNjU7iL//eRuEIfsBMKLSSE1xYWTv6L89o8gqPCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAXg5Y6pinZN6ADlsvPDWJGwT4d7Oz+K4Uq91QlJ4bkqWntOHcS5LSSMoxmTb8ECGArRtC5G+mD/6zYkVHJxEWs7OaM6S2LlJOwif6+wpo9P+p236urMy5m9bLSsHfuDspZIeZBj5o3+h62fePYqUg+ANs4CgUboG10SJLbiSMtcEMzD07dIKdH/496nRLS/jMC6+omrdM741lpnFH1nf2/vQaqkttk99y38SMG0DKtoqOGHdVngT8W8xvNSKHKU8Xfydd9+csbI3Ex1KZSVuclRAo47cF/E77qDsUG7hQ3qQXiD8wMnBdiyJ2Vc981cwBHH63+48Z/8qRfW4M5DrCDpSg4YKq+ZL8uRPeOVJk/PG9fIptMnhNWIHdMeRQYIIUk5p14oJZvTOdMv2miMI4J3nwv/YbG+O1c4HFhbAkg5yGqLJR47x6AeNKeB86NyS6ZDOJov9+Jw1J4DbgvI2oo7csR6PTL4NpTDktzyYzyr9rXGcIMAz/nwrPRnF6le9ruZ8nI5JVLX7aPLsoUXI4suk5k7wggicQ7nEWAg5JSFsydHgUsVDkvGWgvBlV6AZweaFbqrXkiZKZC839qxx+gFmtMfTXYLJnDftLr61CwDtmpERWPMuo60lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwcyKkh/kLdV3+lM1u+pbSRyxxWb8sQcE8PEN7R+j8ghEn/Oyko6/WbDiE2dd7FNu1XyccFyS0mkp4ejs6ei+9Ag==" }, { "type": "Buffer", - "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAIF7Zdz69jC/eVjDpEpPlRtEQWL17uE1IBXctYXTc4gexNbCGav6X6ZKAnoFO2QZnQA9Z8sFMD+p075pD2fzMUYKC/F1HZoyKgEcOZLSVepK3Kd+L7TEDVJKFaimSEAqCaHle6N+36ZEjwQzHfOy8oFM8EeGyjGxZCFwl9ZHmdq8JolmIrc2qMfeaMeggBP/Qh5oPlzlESBjwD/+LYbaXjIl70jq61gS3vg955pwyFNuONYUeXqeFnfKAeDqfZhQWcIMcfgiTCz+OklCNrgVLY7yDb1exOst8A7uP/d3EFnilxSLBMR7MnfWnORJrRt/9KzVJDk/uhgDf3Q4XtFSFuzURR49/ic5EAjG+2Yg7H/jXtIN2K7zBBs+wwCv3lBwpBgAAALqPLoPkJ87g2Tb09ynUlOzn8ZTpkSR0clM7GeZYEH1r2yWfbEW9C9FCDLSaKQjlBa/tVZYT/gkvUgt9TcvWbSwyv202d3oT7Svu4zPdYY4epXsYHsCSZAdolLQwE8IqB6JBO9KDdTOh+DlVnV3QSFZvLEyDrKgkqP6ZySDtYCcZx3QAX8A+xu0r8kWHkSTpnrBxtXydDWvTZ0yBFRGdsW8cO5zevdlz+TbBg/mFNHEcjdtfde2b8LxGXtwyyeZ7NRTLqRa7i1C4EsLP8cJ8kvZ19HlIsMKbZQOtly0OnNFATaI31Im+/L69Qka3RwzAHLO5rQYTO6pkCTqs/FMMQMf5ATgIFWu+bowt1FcOw6EAgZ9M7StCyp+qXISW/IWuDm0KbSeyg5Q1bTbmgWsD/FIXlkKla2eWKVV1t220tiXxZv1Su3oKJTKh2QbGlgNJ4gL4pyHBeFiZMjRwlnGjXWYWjxj1xxDtSO1qv8/OPv1EQDhSJeOEqeMF/nXsoaO8kJuN6CzGGodsVG6yD3fMlL2KBTdIqpyvgiFnRWs3/MpUPrRuXtSDA1CCHiqjCFg9T8cP3717pSLLU7XlJUMeTOxM5z1g8CXC/WlY8KFp4u9UQ833+n8FWgjOycr1dJfX2wXxunMVWIiAsvB8/3u5DDAz1YswkNGEJPbr/uDAc0d8eOB7Z7EH5nF8zhJGEETD7bA9qXKDlhIYzc7Bi5CTU/OvZbnfA0EGnkA5DlZ2QKIREIztzEEHg77js5MjW/z5T8IB4uKAhSCJUAWqJo5dz+o9nEzbTWB2FzYRqRpRu8r4hmLBBRpICz5GpbuxppXm/VmxD/5SsJkydS2MAdXxQsMi2gfhO3TL0AIAAAAAAAAA1TSIBjSujK2cA5+tfYf+PeRO50qt4o1yD/Ozvmr2kUnRewcX9WxcwXfwpw1lOry8TqFwEp96nlB3j6EDYcrPAw==" + "data": "base64:AgEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAASPPUgRSZMM4K/bxaiBPEOVdQIayz5KfboYdaQLzENjuLnWpYfI5IHWXYUaKoXrMABwZSHri7WH41rgsL8eixUEvu/PEUhnJa/HRcMjLRYoK5bqUY4yKoqx3b+n1fKkyGvucThvhsobNWXvsmlKY+0/tLDp6tJNAX1inmbm0hzXwMTDj9t1BLjlcVC7g9msfnWO9D1HJENcxAwfSE/q39HSDmGw7kms8DHosdQPJZRiehU5RTunZOjdUHuwaGOHZfF4d7SadfiyCRcwCaYvzJOw6rdlc7l3B+vyT1flBPqO3Nn4mU9YUYTRhrUlAZnxnJJS0a5lJiDs6EH8IEGrsqXDw9B2vBgtdUVBnhYz3AFoA78+VCMWpqoF1ByUq19AMYBgAAAFLEIKiyf2xQRwemwxdpoifrEZgHpWhjAf8bMhl06crpAveSo7pzZQa4f7m303RfCOPevdkBpAfZpzDnAzT0W7/9nVwExjA2Cj4AiUCvd7rXe3fYG5T5O7kHI8Uygt9rApH5KlN1VusEO5p4eHxV4/PXQ6gudiS6MoHYNNA1WJArjBzfJKSptMZgqxDK3QB5i5c1p51/Zg+Ol7VrD1VGzDeep1ydIw0ab8tchG9rUsuBBTD9OPRunEM05puvBAeaWwGo67iQNYRsmlxBSCkt++/BJPsL4IBY6J0dxemF4ozEqBOBOaNMprI10EhuPg/82rEbAFBrzOw+iWsmB/N30LarkF2vgoZrXWICdxF5WrSGVCLpDVH0XQL7dohLuEf3LwSuqR6JI7tXGVgiYx/vldJrbqZ62NkJK2IUZ7B9N/0nLmljGEmde5iQpHJOCQrG/5yRMwiWZqapNajuxN4GY1UvK6guG6hiflQUOR3TpvIvjfkeZLtInjzwxjO8AgNUq7zWS6/8XzT9ceiIbUnz2pxzfz+UwIjihH9lL9E7+Jsk7e67TT4mjPs8MztHieYz99Xqv6mCjIWIdAtcnkeUnRqy7tFWcglSm5zpQGTRaDnfLfcSyU/W9xvHtoH6HHwOoZ2gDqChwiPOq1HFT+3MyTCvYSnblCW5bD6MNnJ/CAKyB66qyNx6cBvNliXXsUqjW7mN4tUZ1PIFue8qWxSUylaeZXIi2FjKL52dePlWp5BclCke5nq1Gq0nj9GWMjR19ZoeIP50ooIp9Cs/+BFnrXXFdFiFwg8R/cD0oH3pId562XZ8CQTG9zcsIGsZ4nJgBM1Zc8wo1feUyJBovO9KO/8QzEzcvjzDLQIAAAAAAAAAA2e5Vt4iaH868txDOiSjCBi1omuzVAMK9nQyQOnrxsvTkYTivWv38CXdg80o1A43BJ4txFrkrGKYNcieUV7NAg==" } ] } ], - "Accounts getTransactionType should return receive type for incoming transactions": [ + "Wallet getTransactionType should return receive type for incoming transactions": [ { "version": 2, - "id": "acef7259-5182-4abd-bf8a-29a99842e5e8", + "id": "8c2d4348-2439-4a60-8417-4dcf6bec8587", "name": "a", - "spendingKey": "d8e13e4458cf1ff8fdec835777efd67871db32166c8a213f4124952eb2375da9", - "viewKey": "93958b44958df3d3c232a4c8544031a959514ee1c5694646b64458af20df1eb88a7f82e9b1b56c041875102218dd2006391100cd25be9139e4f3d15b0094f41b", - "incomingViewKey": "d0d582537ff308793bf87315462156ecdac16b516e518021ad9bf699db774003", - "outgoingViewKey": "c07ccc0d6586fb3f93da461d40fbc81ff7d7309357bfeff391647fa4d92e9a5b", - "publicAddress": "a3ded9ff9b334a66c55c72a30270e42466c67939d444b1f374a4951dff261919", + "spendingKey": "529473a60723b11c8a6ae810bfb8c2faf4fb543e8a9ace9307bd84e113f2aa5d", + "viewKey": "1421c1743a03a6cffaea3246818ae011629ac93e32e1b38460ba1bbfff9c73eca63cc02dd670c97230c000df6e81ffab55a837889569e6b5ea0b11c5500a63a8", + "incomingViewKey": "2ef27e79974f03aad76378d8eca63732a0b3fd9612eb9429e32f52ef95f5af00", + "outgoingViewKey": "8279b8818d00adbf471f0c97003c96bb01527a4eed21c69cc1ce8b59e736d10e", + "publicAddress": "e285209320b9375f20a5ec90c052380e7dbfa24106ac501643b3ac5556d3cc48", "createdAt": { "hash": { "type": "Buffer", @@ -6532,13 +6185,13 @@ }, { "version": 2, - "id": "e677477d-8c0c-458d-8604-90d34f2e7331", + "id": "d359ce5c-bf94-4521-b9a4-5db9d3a9cf50", "name": "b", - "spendingKey": "6c042bb523ff404527d071c22bc082286bd3d21c7d25a14fb3539aaa3cbabaa0", - "viewKey": "e03bf94cec7607b6b890a247a96eb295d49f5bcc1525609580563efe7b15d6ef064da317f8d300532003807d51d45b7b51b40bb1fa969fc854982f921d106faf", - "incomingViewKey": "568ed9a8e56e19fb35a04ab01af0eee20abb90af49a1959ec4729490cfdc4f03", - "outgoingViewKey": "1133410070e59351b22a456910801d69bd276ea9ee5b4e8c49aa4da486674fdb", - "publicAddress": "d9aab6dda8b4b1d73bb7464b120e3504e9091315c135ea38064dda48f35b391b", + "spendingKey": "d9d7957cedeab342d7195bc5ab92362179db3d001884c8fd8d49f662d29a5b44", + "viewKey": "f7cd0a6fd9e3f2cc9b8d81e796f0c1f4f24214b9727ed93b468b0805b3e5e049039e9dca5e9fbc5e99fbe401469ac039d470a88591a31759ca352178741be6b9", + "incomingViewKey": "1af175c67ac1382dc3cb159ba9a780c68f93aba2e8848461f7756e89909b8a04", + "outgoingViewKey": "ee4e8a4121c3b1edb6e4b71d3e563baa4f934966241b5e6ba70185e6216485a6", + "publicAddress": "8e9da8535d8d3bd6b130abd5734f6dcf08c2b317420f465907fb689ea5e4c71a", "createdAt": { "hash": { "type": "Buffer", @@ -6553,15 +6206,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:Gg++jFvPM3SQF4Ut1wu3BDyA3zD089Bv2UV9CWj2mUg=" + "data": "base64:ZTRQwScftenPqlCKBkdW7cJCHOUmaW0TyNlwmQ2NkS0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:eJ4ZhjeoY7z9vB6ddqi+pyARiutH/6KogxAtSRfRpTE=" + "data": "base64:jdjpNRIReWt1xWVvGIIB2aj93zKiOAnMFneRF6YRSV4=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243779982, + "timestamp": 1698950346642, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6569,25 +6222,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAPjiqW024s+MWRr4if0D3hUuzx3M350A+jqGfy6/oKk2BaCt2nyIVHe2HWYOEwkmGFgQDgIEpqrXGr2Psr8sIAT52a3YFbSncurLVjh3bBXuhhJZ5k9DAcvSOKgFfztYfwgGupHjiIOXFx28j2Us9nf/Y2uj54LTzSw/YPHJYNgUaAJ+bp1Wku31I538J6S2U9ynyVtkg6iawCnJ4FBU4pGNkrh4GcxfiHyr5sIpnfzGXiYaEhWElrOKhwZsZ4GNqFnlhvsMZm3bj5l11prgJg36Kyy5JBFVgvZrbfnq5Blzqrm8XJ4VZ6qiG7OskaGW0OBEcLN9NbAiU7g0Thw1wT/36l6oPiEKMbQqfLQcs1HrS9PgwVG7VIF5+6i4cjYlgh6Ct6Huz5OcduWaSR4H/OK+M9BDlrZPVuFlTte39Ewj3421m/df9FME1Zp3gJFiTC43Goq21xFskWtK1WW2FrgaHDEleLHqM3i7DO98RgiEy29E1xlU1X4HIjEPuhdNtz3NF9Jqhh6Rc+aqtisAl7qA9/XnYofFpv+BFV8KX0ajtbcPjceUj7amGDkNeK66IQw/Q3upYCJcio5/QO/r+9QnMr511vacQUD5G+t8jDreq0iktYfLDoUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwpGFQrKvuijMVJh5SYSbi4ANFBG5+XVDb8A38quxcjLlNOzEwaMhs//Dou4TMaOj1k9MvrS/+MRGKDJDCDmuhCQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAFCI9b5/YApOdVwMr9fgTibd3eCZOBzpFFO8adOOIAAOQc73T5XxvzBaBJCA9gcfo5A3+4O++OjBM/Z9bRE/egEH8xyXy6Wd8D2Xme9D3Ewq1yP724XjcoFuZ0wmAWmgOt0048dcHPrqTUNPTNDB4+zKO/Mj80cGLpMbfUaSZgWYZgGSIfpLtqoXxw1yzsW59SNs3eOVbrTC+T6k8DuD/SwXPV0+0EelUrUmisMZD5fSna3HWVRAy008trtCwqqWALCi0nDymMpT25s/tHaHoNdlfz3lYqoF1Be50CPs0MbGJtk+GMVzRfNfaVBV2LmWAXtBk215Z6qnD3wpfxxRm09AITY+nCZhUCTiCN0CjStBPLKaHwWc0toiUmOjoNgYFI99ndZfa713hTh+fE0DiLyUuCSPuQ3ZCF+udc6tnegALpLYobS7V2KbjuG+0wccqDN1gVyyJmd6BabUYE31AlvEPwM2BpuyTtTwDt1NUCEZD58L7fLSem3zESEzUMjA4+0rfBvdiDUYQxDTMHYanGw0SgS0mJFsWsGLloYzOZxWAYAiawb/DLO14mWxtk23dyp5rIOEWrNrFBIMtVuICdjAhnuiS4vgJ8WyGT+4WeIuMHX3wQER6XUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYTcSbmsG86bE7K3yVpxmwl4d6u0roA7VA9b7AJQkAZTeE2TfyGWQPzzwCZmE7CXDhN2Odkux7/KLjtn4PswbDA==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "374246F737C665219A01E2220C14CE8E3959DC1D1E01D7D014213513EED136E1", + "previousBlockHash": "12DA689D44405DC938CA35C66FCAA4C1ABEC5463EB17C8CE0C80639FCD481862", "noteCommitment": { "type": "Buffer", - "data": "base64:m4bR0ZfZzb+kF1hF3gytkx4QaoOIYvqq1P5mxz5lBW0=" + "data": "base64:6Ym+VCqhQvxwIHQxw11nJpWyF0gHwSKW0WjNwXg3ix0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:+IXBNHhytSGk0BaQJrSrl1WAnmMTs1Puzo3+JfkXlDo=" + "data": "base64:n6+g4K2LCMZ+mzSj0HACceNGeAC4B1h1KH5mZQ6jPKQ=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243780262, + "timestamp": 1698950346909, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -6595,25 +6248,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAHurcEPxMdcTdrX1PsGqCw3CtmwL95N7tjBx9m3o7PaGQPAW5o+D6H9hqwEZ94pav1ot5ZyzYoZI1fDYEmZwtF6E6TdlAMzs0LsJJjF8G4TeDK2vR3VwYrEvUku8o6jde6mFE3WHGiuvz3BNAgKyYRgMUeb0c7R1DfHpzofDuxOIRB+CAVGcP9bWwe/me1TlEiuwrUFKTkqe2TfPcC9H+l1LQOwV9VwgBWBn/HROTkgi0+0VCkgCC/23cFSgH+z0hni2/mOQGkB8CyQE0LLaf92HyD4RdcXZQ+DqPjI2CaE6BCPmWqeFgPm/x1akD4T75xeyunZM3wqeQH0Hoy4zpwplaf6wa3ernvlNXjp94EKN2S5vMQ8OQAm2GRz9JPDgswchJSbMammbY1tJc1zW4Ni9cNHxjlVfZ5nDuvvOO+NBGYZiR+VbEPUcdnlSgU06XHRCC7pfG83ZL6miG0EbYy7w8h5sx5WiWAFRbbwjgPZQn/m3rnkfLIS+iadcnGDZBYhGBi8EzWbSfuQ0ToEdGhu9Ghv1GqL8HpAMQ//6e8O1pUue6zGdNDbnDqCag8BqqQ+H3fs6vHndxLW1AbhxMogzKwo9ONHlJpmnKEUCq95cA9QbW+hANCklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwPAmHPX2UgaHl1mxOLTDuuc1fGNq6+dAlxs2sXRVhjpNWgLPfQyOAH8Bk3DU0NEc87ILNetgc6pVekYKD/YjRAw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAonOL4uO1sMwQgzoAgW++fTa2bxEFaxZ8prViQ3Yst562qK1bG7nPFHP/IgStSmusZU+fCrSE97JmCw1gubIMzz0yPGSfmXYMwXqZqwdyx4GuA7nSTWXC/4FQJexKzWxf1H2XLUxdUHK6MSN/WF35No8F2LzXn3Wz/8Xsbjb28N0TJMzmG7+3edg9HHZdLgXRbod9Jossgz3Q1HSpbqzA0SIByvji1HhqNrdrs9q1RYGmudZ5TrDx25eMAztuGDfBLy4PE+MwV+owZUewBp9ieycnBwHsJqF4MDKXs8+Fpb099wdEwaNlhp4cIrzKKO0+NcZzdZRPooCNux/+L1FCTKjZD6JE51AdMpgx0RV7m8S10/1NNwKK4ho7x81XCdIdUEwoNhdoBFYXOMeH26BJTt0wLP9oW8LG0qQc2jkpQB5eJTwwT9GwlX36V713pNNK75A7iriq4/40IRSlg7VKTfmakqn/X6ijT2qKWwEn3/fZ6BekhWodKCMw8WDJZy1ERnGKJwbKq8J7Qo8l6OLhKPLo6q6XhDZwcqMEHfvuo+7UChxMV7ZTyyaW9VPKG1FUxv4y0UoQMaIQcF/SARVAD0TfGeWQOesycd4II0ST3cxRt8Gi/hQsRElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwjbvCHWCKFNsRKBES4eK3Z3UJYx6FP9Ty1s9+Ue5f0M0umTa6t2insitz/Dn1qGznPDVcADskA64na6R8Fz23AA==" } ] }, { "header": { "sequence": 4, - "previousBlockHash": "5BC574E19257A36D8945A7ECF6169A4D62744B5D8D0782E81E745B131FB0DE36", + "previousBlockHash": "3B8EB57683B3D1C0466F4BB1A96458F54851A36FF77C266780154C3450DBA8C5", "noteCommitment": { "type": "Buffer", - "data": "base64:UkXfLi1Cs1I7pk12R8pTe+h4XWgsuoq4L1LYSCkTtkg=" + "data": "base64:jqOBUvEB6WlaWxmfgqmjfW12b+YW9y3xQpKMaStIPz4=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:GDxkf/N7iG1wHlgKkHYxwfOYjnRk++epBsYVeoQpeXg=" + "data": "base64:yH6tvXBs37ozNXydiqCGmLVCdKMdHPzOE++HPlz+vOc=" }, "target": "9228823284279306817296266184515742822248210830185427859262273659833347", "randomness": "0", - "timestamp": 1695243781604, + "timestamp": 1698950348283, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 8, "work": "0" @@ -6621,25 +6274,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAC/bUHWp1UlTmRQohBwL/iqSn5JSDPPKZWRDKOa/+friDok2mymJWGxOqtKW5N+i6KE3vgx2BRNB3l3b09EHPSnbzbbZ0xJrQfc1sJHEjbdas9FPZvEZriwTcb27lagh9E2YO7C012wyE0vyIgfA+dE1+s1J1CtQzhGtOitkv0x0Ao0azFhg+Dkwe5M6ntAIZqG4X3V+FDWxzrAwJNyEPzoutM12/6cQZEzpoPurDK92M6Q02NsdRIrqNFtmJKm3zaeBYksCmEtGyPXOPg0BqfhsWWWP5fp6uHLLQmzkPWPMvWaXcoMydxDZr80a0pnqAsabADmed5mvQ/AaQKzccpRo3T/8DBWbVTZRxMptX7dbzK8ObcfhPuCTQ9heQHZcXr5vtSG2TKdL3DZWYBDN1uKMqS7MS2iLvsYQGvEwtYYka24vxyP0efbxJZ/u6tuU6DgDdM58akn8fm4Cb40aNXi7TmuYZuOFeEN5uxlb53v+/WCUAMNM8Kl8FINpSjXVOF6LPREPoyV44EzcnX18ptfi5rx7cGidZoCP7/TdKWI6iKkXifQQwxQGd/aroV7zdsHMc9lnmxA4dGIdkp5C5CiWOiHrt2Td38KvWkOZWqCAs85R608+wiUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw+uRnkaWJ+H52ty7o8pLRcOsDwJwd/yrpcOXJY2Mlv6id1oahn4CxAuLcyKcqMRJOBXxq9yjd9dJ7ck+/ctOdCw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/2vKiP////8AAAAAP3VTEVK81qpEaqutzZnBoTa9vq2lEzxc7DTV7Db62wyFjgwd1OyZ+wAqPOKj03XcvWnzX5SAKRpQ+2xZNsla0IviI7S3yWkegoUg5JWwXQKLHgwrpvb/fRbuUONKBPZgTlDqE8f8WifV7LhWxYPb0wTtNlZsLkROzSHDHxKIWgQIEEiWptLXOfwg3Z26RaNn0+kGYbwbw5LbKN9lqa1cZ7TJPAAJfJ9ei+20hz1L4HGApBpbVbZpR3pitX1+lPELGCFM71FotjJXlYdfW38MW7DkMyh3w2b3H6+zDiAeCHrPCSJRzRbWV3Rt0H47LaEgbV5l/xwUPsMJXt0+P/LVWJCY86jKkkNCIAUq2eZxkPGNIiSgydBxx/DW5fc2LxQ/9tXuutIP1RXSq83WFWe3yp398lXbES/3NTIZ5m72nBv3FEK0NveVV8OZ4Nj4zFq1b09hUcIaOtsGVaDoFclFQAMIRDX+yrXpR7OB7vhvORz7ADFZhd6IOvmXvue0sK5MxiF0bWCvQzGXdnOzKbFnEEsNUlW9ly5cbVDNmBVevcV+7zF1VQSiBwqPTH71+vP1LWoekmajiozmINeO7FGeOF4wIrWNEALHyhNLKG2+D6TXpAjnulYraElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw8QCXe70/Hgrh1uNtwFCpH2Q0CrKRkkpypqZaizIzLgvFgYYSrNnoUCXPpyPXEdTwlCJ36NNMepCfFuld1DB7DA==" }, { "type": "Buffer", - "data": "base64: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" + "data": "base64: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" } ] } ], - "Accounts shouldDecryptForAccount should return true for an account with null createdAt": [ + "Wallet shouldDecryptForAccount should return true for an account with null createdAt": [ { "version": 2, - "id": "78f7ec7c-b6f4-431c-baf3-b71d59e1ad34", + "id": "ac69c1ef-1627-42d6-a390-d9a418ca4532", "name": "test", - "spendingKey": "5782f796a3035aa41160d7b77ef0399ba56e3201fe3b602f33f14e17bece60b9", - "viewKey": "8607b0c361f55b1dc0eb37c8cef06d815d7adf8de45b8cfc8b6b1721dd15fe4caeffb4c9054a15f23beb910a0e4e84a51100e6b298d94500efd458532f56e34a", - "incomingViewKey": "bebe97bc8fefb17bfb0dceac1370292a9738703822a5fdc07007835a418a9f04", - "outgoingViewKey": "f1a8653adcd49417c1fa446b2c3327a4fab805750b0dbe41130ed7be5454a2aa", - "publicAddress": "65a1f5df475903b276c58a4b732c2e0980b805f107cbddf0ee1d86f001b387b7", + "spendingKey": "138b83800bbda316afd5b301006cb8e72c95e8125f52c3a8b2c8598abf62ef69", + "viewKey": "0493b3da2c7458c94207e35024e5ba4687e4d89eb2e3d0448b6bd4b87f53349afdd394d78789a28fdfb38cc4f5f5a23bffa2ee8003d6a2b40b7699a49541d649", + "incomingViewKey": "fec280a5448ee8996d80893cfe03a05a367cdc8bfb60efa086f00311e1d4d805", + "outgoingViewKey": "593aec3edb0e96cc4d0b3b31e807a75884cede9b55180977f0ac667cf984c357", + "publicAddress": "929a0e3ee3241cce5982806a92a505d0f293940bfd78ce1f9c7f12d2985cc8b3", "createdAt": { "hash": { "type": "Buffer", @@ -6654,15 +6307,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:6HcXlktvfd6UAhSWmnua5yzjUCHZu7ARabEMih4hjjg=" + "data": "base64:DQFsdblhuanWiUX/uDo35AhQL3w63TrgQevULmamrl4=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:WPkyVud8KtMOsRtvv1nB1lV1gH2aQtoEKmM+UNHR8iw=" + "data": "base64:U/jy+ICLuiCK4nH+lU8nQZFW0P3Oa759nUKLngpXbEU=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243782003, + "timestamp": 1698950348628, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6670,21 +6323,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAJOqnwC3yKA3u2xxa6dNivB1fT4lcG5UcSGs0l06e6hCJulqDTRnrNT8nMg2VA7LTxTOai3pSdxOrsY8lbYRW9/rAbxSKo3XZmQoKkoyJ6EmFEXMP+b2fifmhla3lyLvq8AoFtWkR3vJHf26O3a/1HwFzEj/jJO/bPRczcpVx+IEIbU1JyQ1MRjaIiUGYFxVFNpij+bBOGSUMb8mFQZK/yRaRgRgdf5hRwXfgXsg4DTWwXhSAGpR0chVrNINPN3XRrXzDUJtrQLRVUcDzgeUf4sjuOzQ/yEhTsauTFq9GX+4pvJZF9c3vzG87sYMmem5w5eixivdVY37mwUDPu1Dm1kw7ptxQgPW9RoXM0BGBcLmBZwa+whSf26Ziorv924cZH7llkkW77oxWQREiCSMe7ZjkCEEtnMiAVkvTbBq/qTJfsRPEcqsibzddvBZJ7lYdUkSzx/zA7asAmFR7+eOZFX3VH4bhKUETF97mbvhuprp71rUAL3NJ4NfrUOpi4n8P9QhDdPfwOItTUr0bJZhkNq3r/6cSi12jCtc8F8IIX/X/D6RwBMbNnvvLG7u9tt/efHDpAqEeldtF8bnTxQ91p9xBFKnTDlCT3dV982CkNsq79SFTVt7Pj0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRfvqxbX6+zBx3ZWFMz7KblGhL1j8cNxcgzaNqJSja2okjkLZm/bNfOi+oOAd39NSp5mj9+Kujs6uJAuIlf0KCA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAmt9g+b7lCHYqI26SHZlKUH4CsrlGT2hiV9/Zy6EiHG+SGRAtBQH7ckW/MlTjSu+JbIOpOID1atkJ1xCYcgYFKTtzsP67JnxgW3xQj0tu/06v8Xtc7js4v7o1gtjK4TdbTTyGmV9E5h2yxm/0RrbHuhPDhhOvDHVXsTblbZsJ20cOFa3lc+S4yrAIKs9+GAbvvUu2yBqI0k/EfEzYmremzEWbI+vcyu5OOOzzRjjCtRy2Qqet6hhQ37oQORMHMs1f7nPeUTCYITSo1gmmVkQLkO3p2dD7iTzQ8wDPLQi0zePN1p/zsf45NRKcxlY3nl293CXTmft1WXCpCLGRgFFgVZr3UQPpaW0b9p+V8t1WK54e9bxENjiumqtA3AGcbVkSP0SveRKzwaz0SM8o+Tenii219yl5OB3yUWJJj7wFoNCxtDkds1Tnd2CZWE0YuwK3Ce6AxhqR1h+oi3o/dAPTe2kHik6Xf4lXfeXCmpx4vVKwWdKTd2g1QmFX67Qbxdz1F3u0Z8W0cSFb2IjQFiIRI9r4Sv+sia0JEuLFzBVNmKUJEdtbv9gj79xzP2i1KYBiSMpB3v1A8OpDzrSo2F4g4XlNDv0zw2X9MMJl3d/KGJB4hA++RGFzk0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwwmPI2kIC0+PTV+BcU9avaWhYM93Uz3/0jEDIRshpveYl5xhgQd6abG0gXc69ng/cFKD3OjXmtbphf8yLw3c7Aw==" } ] } ], - "Accounts shouldDecryptForAccount should return true for an account with createdAt earlier than the header": [ + "Wallet shouldDecryptForAccount should return true for an account with createdAt earlier than the header": [ { "version": 2, - "id": "734c1037-31c9-4328-97a7-61d19c01f91b", + "id": "c8181769-e07d-4a68-82a0-ad962526fe70", "name": "test", - "spendingKey": "b45f9ea4685ff3a34794b49b38ad7b3e10b2868ae6af5d8681ff6acf5d7d22d5", - "viewKey": "183521bd6f87f95068b462a8a3aa38aa6ea1ea7d044ef722a88a1c2646fbb6c4bea4ca0fafa28d9f108a4a40bbe20ba3e7a432c983acf446ab7b7921b7f0b643", - "incomingViewKey": "4a4286997465a41eef92b3e3a367a24a429e6231d04afd7816c88b15ea5f6507", - "outgoingViewKey": "38c23398f0c5849587082127090babf46f591ebc5ff0df8276cdd89008babc2c", - "publicAddress": "998e11fc60433e6cbd7d9933559b02b2cc8bc61ea48f10cd28835e29ce7fc5ba", + "spendingKey": "a5c9e875c62964e01521dd94788ac9bb58dc72c7dd4a5b8f872359b1108a3697", + "viewKey": "758fa11249ce1248ccf6108e1e7f186fbf2c62b0b68aac060f199ea700c2722465c552a38141624cc8c8c729810aa96d78be166b6bcebc289dc5e57477248096", + "incomingViewKey": "ee831446c900b068f8fdbba835034dcd37699931921658cc81ddf9e9970fe804", + "outgoingViewKey": "955f75f70e984e9c9212951d72b6e0b9ba8b6a84319a71664befb6c7ed81858d", + "publicAddress": "cc1bdcc850c95a744e0267c1a452796717395f47d301b218af838332046e2693", "createdAt": { "hash": { "type": "Buffer", @@ -6699,15 +6352,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:3WqOIFPGq5h42WrIoB+rgaf3JTvsRooRzSuZzIt1bDA=" + "data": "base64:EqyYfsJSCKoWO3PHNNEKjlNf/igQpVr1Gd5sBIDoQS0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:sxlBro8WREAWJXx4yvFKjZn9HDHx7nBD+Tmza/COMJw=" + "data": "base64:ZDzjSvedD7x7ODOaLV0d2ASqzphv1vvXlh5Vt2hxr8g=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243782447, + "timestamp": 1698950348976, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6715,21 +6368,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA6yKqBZDx3/mJ/hF9m3fmLi2MLjWPDsCWaNynpq5sUg6y/uUt/U1UoiFYvcU5Cn7EsYFfe29+tTH25R5tV+BWfjcg0fsIwcnJ6AUK4ioOzr2mD8J1EmfBq4EfIADVP+1smFlaBNci5JSyRJNcnzNzGsdbPy55ernpRU/ATg/nQnYO724GOeXrh0V+qrKx9YmgLAPvmc/DssSfWejY49q5sVRmNspFSkCUN1SGUaQy/JSG3CL/3rtuEBJ1E7dGtbfwwKVlHOMmC0AjYEH+LKBYaqWir6WCuQiRktPE/KXnvmeke8xDTo6QzQXB6R6kqUDbz9BJEMcBwDq085ym05Gc3aAqo/gcLNcUOikmqxPGyhEozLzco7G/F06kjB5LP5U1vHFyq23WqFwaBVXtZEq/Qxwnpk1R/3p0MVCg0XS1z+0N5nWnpBqSkfg7kDzcgFq0Tr5+9L+ot01HZHF1Lpk0WcTer195n1HG0MkektFPnHJV+Bi1ROzt/beiBLV5UA3ELio5Vz69AShjJrZEa6EXSMtPITqkD5ZrGXoXRStkU+ORCNtd7DorE8q3MhS7Gq+M0/s1x/XEdcOgilo5onl111t+yJPcStJJcLsJd1WzJrJqqxFpJHvyxklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw8PRTT8C5umbqVH9luJQNs+yUUIcLo6hm6G66Ri4ANMVTe5dQzWQ/eTEjxR9ClEtZD2H+/Fhh2EGmf30gPMbjBg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA/EpH2i+PkD/gxqG7kpNnOm/WM9RLLMwM2WoN+MI2KNKOvunVbLLLCUcmsihSi7CZZkfY/37qL6aoyfSxXdvDgyUHxVVTuGZXpHUHq8X/ZFmhA6TYMfo33BS4ynopcOIPXyPnEmMJqEgqBNamypqKjXRx0xxKxIOi2wnH96T2g9EIifgUfcNuBlTpL1LVg4BDSj4a5Y9YFuPEhZwMc34qx07HQJBelXPTEme3r6H1paWlRTEuuQ54IaGOHjDBr6O/JU2spiarumNsHrI4m2DomEAHK/QtZd9QC59oUZYBKnBCGl5gF02/oPjo/PQA6nBAjhEBNqCLPVQ7cMqlz0/M1+gEq1kOulWdJKeyNvQ6MYhQ/qkpoBUURF1ne88CprNBC8UOE7hH0nLC5GBKPhOg21ciMOc/milO/vbHXsyyxBTA0BlVt+vFxCTPwGm5uiPyGsOOKcy0xx8Zw+/O3pDK4oqxU4j6McHrvgxiHnydhdfcmgCXCDKE/UlfqzouJEyFTMPv4/Ughuli+8yKnYVuTOLoxNjeXqQCxw4iLV8ooBXnXXqRr3Y2ZVWJvDmaNI2YCG47xWVfSsJ3I8x3IiNltJluMqAHkeVD+31Yk4kqFK5yiS9ebJpphklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwPNBwqGVvWLPIWaAeIx9DXBDchxUdrrUhSgKhqc8LX7SpEbmVN8E+sHFLkqtYZBPQmHQu/2IQ0k3ceG31/VOnCg==" } ] } ], - "Accounts shouldDecryptForAccount should return false for an account created after the header": [ + "Wallet shouldDecryptForAccount should return false for an account created after the header": [ { "version": 2, - "id": "07e59e23-9d66-4366-970b-fa793f7afcdd", + "id": "88b9b19d-e8a6-4b59-b923-d098247230f8", "name": "test", - "spendingKey": "2346caa2d2695845d05e1cd33f9fd277f4fbedd69654193d2f7df3c299830c8b", - "viewKey": "9c0f8431fc16f18298e62142126409d10d0b0d4c7ad2d84d1870d087743c62a7cf3162a353d8a221a909e6bbb9d39fb1e65223160f02e70b704f0db8f44b2d12", - "incomingViewKey": "4481e9bfabb0cdb76ff2668cc13213be17f627103a153a1ba3d39358be432604", - "outgoingViewKey": "0711ae238f94bba4922d89b1fc9bf634cb0e5bf27ad9f6649f41f810f2f97fbd", - "publicAddress": "e70b607b1e0f62fdc5fb59994257b5c7019f76c857def5d620a2f270b3044025", + "spendingKey": "6eca0e432945fa62a69d98fcc3480df72a3133589d4ea405b3295480bb4f218e", + "viewKey": "5168f17fd033bd5dccbdc1c45d34f08134ab800576ffd66674703047bbab82b342415effe3f14656606c75a8e114647869994a1c14a42ec5a3ef845f50f65f2b", + "incomingViewKey": "33f3731073c3db4320cf8901825b0929a7c6702c0fec6be1707c52a17204ab05", + "outgoingViewKey": "12615c1ac7b158deb3ac56916b80824867869db8d1e8ad5ad32e1766b305ebdc", + "publicAddress": "50526023cc5eeb5b1ce34b95f484104a5b91564ab139de6a06d4d687ee45620c", "createdAt": { "hash": { "type": "Buffer", @@ -6744,15 +6397,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:228rA4cSrEP5s9Zoxhtzvp3NmfbU00/GdZPSrP4knWw=" + "data": "base64:LMenIZDwXf5kIhChhD/wZr2SJhe460A9/TKvVxqI+kg=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:kUiExe2v3v2SkfK7pzqLMW0Qbg/+x6fge4w99nINuwo=" + "data": "base64:TTKGt+z30MCF5R1SBQTSexF7buDRbuP1Kt4QsjGHGu0=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243782825, + "timestamp": 1698950349315, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6760,21 +6413,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAmH52nIqJpXydHb8vFgp1JnwTYPEIfwDi6yRAcosx7rCm5Xk4hEiCOvLsiQSuwucdRfSGONQrp6iLp3j2woErKrX6ShavwYvLlVRolvYOk1GMGeEmg/ZCoK3c+kJuJETIgQk3rTVu5vOikymDD1FGvIEiwv6vPN8/ntdo3A9Gk1EJicFKfIU9fRsU0RTc3U6k+I5J68A+/L6y33WKFA2mRVXj07Ub6WcaG0aXRWoxMxGDe6/oWuwwgMlx8mcpcWy0yUep4khDi+0nSJXanBgBa568MkGKBBhZYqxoMUbH/omkkwIxn6ggFUeotIa01j/P2SHzaANsmiEQOwTJc7bb2NlSXiZYPv5kcsiamtEGVTVZiKJ0zKXWRpDzwgjuWUc02kiVxyAPtCj27Bxp7iV41lPLsB2Cl+AmykEQM2A9GgZ6/vzNS4M8Qo+xfapn2xoZvUyWHMap6Wjxkktl1ybwV6jxfDkpLvXY2HB5jEXzU8XFg2iRYNK1Mm5Qp429bFT0zZ6IUIEsslafOnGMzA5/0YSf6f7hx9Bt1npTH3b6Wbw8DXqRzNrGMTwCdPA9GCb/qDUPHpODkcBUgTnOCvmGQbAwl2Tb2OPbK2Ot16UP/nA4KwT2I0iAMklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw41JcY4A3eDEHXpDhw39Jk5rcnSfj69F9PgfCb7dA21IIxQfaVODdLlN/FpFFbX/Tnwc6/5wg4c8wExNTmoWMCg==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAJBVrbR52kkbrKf+ePhuIdzMgdriZJ8o2nG4WQNJTSRSJW5WhyhmGNkr6aEmyB7R6Jap9aDSGz6W0OKlKmX5xsiVeDdgjF5O+8tgJpz9xrJeV8pk9Ep9xu4HyeKAcWjHON7eL1hRnoYwG1YI/mNiOc9gnOthDt2BVKla+2jkMAJ8VR94L7VoiFjL2Np+rmS9bG8m2ShD+rQBwTJcBhcLsF2jg+ewnqInYueC4pojNsxyNuNLalad3DNZPnPx9SvXs1SAiMV8mBk0oZphlIe9Dd469HPGFNrDdmoTw8Zqx8HAuGyWbk80Fkh2M8VMETDoC9KONHxYpX55Yb662IOLsO7dKDZ9JhP4BOVFGVx0jLOwNzaEjPl6LzYb5C4lGz6BzPQmLQaiIAOYxJXaKVkfkC2ZBnEzN+wYOY4/JwsZkDwbLaH98ahhm+dMn+OEMiVZJpMsORvllQiyK1gW1W0n7Chb6utIn3T11Adudnesu3m1T1Aw2RU4ULhePhAiU0i20GWU1WY37GterGPZYRPLEPg8kouS7abQUAk6kjUopfe3rlNXw96IMIDdx1M/Aa8FFUsgcVHzXlnV4F9lwNGp4zjPFc4Is9Vt/BhF8eAgnuD1DzLYu8/oMJElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwUVSCCaW1fb20/NOkJ5VEvlF+t2AHgyuUs591OEyf30vlFjE0IJgGxskw+dgN34OFTKyYZoyyz+KFNpMas6R9CA==" } ] } ], - "Accounts shouldDecryptForAccount should return true for an account created at the header": [ + "Wallet shouldDecryptForAccount should return true for an account created at the header": [ { "version": 2, - "id": "2fcf7ea0-b53a-4679-aa34-97011b94c32c", + "id": "7be5ea23-cf24-433d-9bfe-c1b9d370a5fd", "name": "test", - "spendingKey": "c2e7c82287c25d4d45becacb38ca8874bdb7bf61c449f8d69fd8bb604b78ad16", - "viewKey": "6fa3032de917081bc3f1d974aae4f94024af3201f519d25bd6c737f43abd20e5ea928be6b77d7600c718e3a1c6773dcf74986df77a8b3116d39b97fe13e863c7", - "incomingViewKey": "a73fdeaa3e42455d1d9159552d62cec1682764dec5302c2b20d5f61a4b023800", - "outgoingViewKey": "9adda8d5adc521ba880bf152e4c0856423af5d4107467264272d4555ecb1e9b6", - "publicAddress": "c2038d1828e59e1e87b78346423065e499a2a39cd3ae453d2d682ecd1394f65c", + "spendingKey": "089ecd38d2475a3bf5964231c6b60f8f85b22d99c6d15e2fd8db9459e104ae72", + "viewKey": "298fb9f19ef80a3eb236d44554598c685102211757ccaf4cc88ae6fe4cf16adb41c332862a531eedbc65759349ea63253916df7e016d2a7027bf51d027a46ff3", + "incomingViewKey": "63a8a115889be28d2108b408a102a5ce0f9156876641eafc97b7abb0dbef2205", + "outgoingViewKey": "06dbbffe87c7c269b465e195d7a0e595781fd969680d18446ef81b17946fbf96", + "publicAddress": "bf462f24ab46bcac2eaeb72539f00d9afa63f5ae34e789146b5a3cfea33af4e8", "createdAt": { "hash": { "type": "Buffer", @@ -6789,15 +6442,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:mM0Ix21mY7IhfEwsFKc6uddzU3ZbXQYTrUnjhIi6OgI=" + "data": "base64:ME4tApn3/8/kCDeCQz/F7/ol4o8UFodeofys9fkNCjQ=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:z0jxcZq+hSsTCsuSm2689VFoAbyfwg+l8XSsyQiTWlQ=" + "data": "base64:VVJPe5duIu5HMKV/LMJ2ny77MMmwJBo25EUaq2P3AYE=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243783277, + "timestamp": 1698950349638, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6805,21 +6458,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAl6Ytf20ThvgmHYnrPb1mabrEFeKKYKqQ0yPJ1howyWqlRThFnrZytGJXaGwBBaHZmkKXlEXyxmP4fLa7O6yB2svai00h96SO4hvV1lnwuhynWC8kwNvjeEsrtxP4l7QdNF6XzQ0xwSTDadrfuscBjS2Wn7aQGv3u9at11wxgh40ZUoYEdO5+D8w+ETAWLIAwz14zUvJ57JLArPPXiVLwZGOVrOdwgtBiBsyW6DDgE/yJzuXUImjbfaSDrlyL4JVHa4lqG7JDHWrxYZM6tBWRCvguYN+DI44Gix21L7V38MMvhb4k/s8YLeKlg2g3IcmGfYmYbDhx43pge74Bg9eNVKyJndmurAFtVOYTzLvmoYIwYSU4112IEjFqledPyfxpVNImNQeIJTmRRxP9CUTnLpzHXvrv7yQ260P5VGbWw2E9P5oFtV6Npbbgm3rezQtKCSQmXpy3kghQYtT0HFwIzeks1JYT/Q+GhdP9cVmAyTK4O6Rb0sW4pV9H2ITOTpFhfhpdBj6WAOby6rhU3aKNblPzHcLUdg4ZkaDr2dBrFmZtTu1Qujs/n+9MUklDAS5z2gWUZas9EEhgP/56Jfl4gz/04ih4W3nO/NcCepcHSUVaXX6uQt/ZoElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw2lIQ4mXBJdiwTxzmCrnH0gjBD1zugFJnC39GpwsbKOn+Lt40phiZhRnI/dxrEIF7GcBSg/d9U4A/0yVfzM9UAw==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAtyQrnvSww7DTcR3W0bpVUBbxVMM6EOXy05Kb1SkRO4OK5gkJlWYfGkieig/EUSNEZp6itGZtHVJq6IOvBR4dgIgdbvbMrsPVH8WqkJVzq8KgtKiEnYowUd8eW1+JHXhtvMQ8/aNx7jHvPsXXurW3UO9xi1PLUK39ctnZY8HKDB8X1Sgng7dv2b1h7F/mvQ7c/UWFyc6qcznVfTjwzBeZ2kaMyjpEVUJuUqmiwaoUn1ql+M7VnGfRQuL2VaAer8/Iqfk7LKJzJ4vxCNnCxzsPzNvYNg8Wv5ZcOltKU37tZwRdoUCX2KFMgjGmGyPorlzKvx5xK3mANuFVfGvCyC7paeZ04RJcOOcrP9E+XmPiCTp6HNqB+14UaE+3y2nFRHQ8mYgyQmGTYjTbnrgoTiko3xskKtezKvVIqe/ol+9fcMiJoTBVG22cK+gOuokmet1U2MJw+qre36kMP3wO2V7xByBxI0o9WTd8/9fJPtbpMAZAj5/11Ulp3AS8sKPcY1YS2W6/OTECF3aBVuipQjk3fi8F7inJ6GIZ4p5fATfQPqqwIce7HUjTLszM3YmUObYcGMQn/gQtJaAioXrTsqfJ9PvHam467711gO9BKdt5zTAt+L0h+czaYElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwY+5OGMu/bSn6XWKnRshs3hNxMyYsxf/8bj+6hsQG7Vj4fo3Yk/UZpU6niwY1MXVx8fI4CUoSSQcD+dTdxJejAg==" } ] } ], - "Accounts shouldDecryptForAccount should set the account createdAt if the account was created on a different chain": [ + "Wallet shouldDecryptForAccount should set the account createdAt if the account was created on a different chain": [ { "version": 2, - "id": "203f23ce-f146-429a-b373-20a2c714b954", + "id": "cc3ca5a0-4011-4b92-a87b-cf0720df2c4d", "name": "test", - "spendingKey": "0b80bf863c6feeb8a6d5af1d6bba5eedea3ab1f416b8417a49b2bfb190101f14", - "viewKey": "02d5864705851231366318aa383064503a91305016d1e6714caac0801593d7680b5c6fb6bcb97b0702b29939e0e51d9a13337cc1b4ffa7df510b01cddb059e85", - "incomingViewKey": "7ff2c5f4b7f3645e32b11fa188e9876e917f0abb32960ce83428a90ec08c5403", - "outgoingViewKey": "4d123b0a315af6d6515421c976f2c8bae6cd1876f70a1b8c5f4833e9e44db7b0", - "publicAddress": "d138ba6e548b10189e37cff55644e9f85ddee992ee6f06a6c0230bc1e15c2a0c", + "spendingKey": "8ca93cfe8e95585c1fc0e1ef0b63e64866e29605dd9fa9a58ac25c4957d52f5a", + "viewKey": "a930564db8b0a7686ac860c950f5de298013a2b1e73650e1e5bdc24b862a5807365645e04df1ccd7c01fd0671a3820c27427036b77e2a616a1ba41eaa25feda8", + "incomingViewKey": "8227fadbe2ce1b3d7449ebcdf023f24b5870513d867ced6f822a92f05c565405", + "outgoingViewKey": "a2757a144d9abf85fa01c1f8fd2a41d7ecb5aa0761bdedffc5e8f537814e67ae", + "publicAddress": "88a9ed616dcac5aa3929d66eacc4ca009652d54ab626cea0d6337ed1830766a7", "createdAt": { "hash": { "type": "Buffer", @@ -6834,15 +6487,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:LKkZd1Z8rQWrtMfsTpJIHL93Il5tD0lF3px+Laf6+V0=" + "data": "base64:yLzkouzWTZe6/zceXliiuNZ0NDwbpQqB6dd4f+fA5R4=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:WA7gNz6c3bOUYM11goLPZenYOY/wqKoSSnE74qHsZTE=" + "data": "base64:vyY+KxFdZ/oDe8Mi5DjUlKQaRtjWMbNpPILwbQ6Inig=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243783766, + "timestamp": 1698950349972, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6850,21 +6503,21 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAMn16OTKk6RwoU78N1F9znp/H8G8QI/bTXCthcZ6njjqBgrNzVwy9MwRIbklUjoWcxu001ziTrE3qYbO/u/TcpUM2HtuoIDxcJpMSKREa7uCVuEvw/ogXGzBm8zQBAN1uwEwHpeMsAtcH8zY4s5/jjPwIGD6FP3zryNdUyfVywU4SZWWuyFxV1A4yYwcuddzzYluUhlQlCWnDKqq/7neNX2e8lmdyIGxujCg2U9wiUqCZb6UCyDEbKuHxJ8Dvwq2EsoVdOp01e0V88NOXElrOchhlp99NqcptxVrdXkVh3kQuZ8zJQLBPH6sOXrVdKDWrs3oKp/whtuH+11WGPbfTqclsZQikAoY3eJgMe+96JihqT1ZUDvqrXmVlhQ9ZSQtnKJFEXYjIAeMjUH8Db+idiyRo6oWQROwq8UvXMn4yrMaWDc+57UX3/qTqz0FNnLKbPQCA5LIbqIywwl+usmnvoR7MmSxy2+E68d3FFJiwratjvtgnb/C6AQ4SVdmKicuyXQDnUXqPPvfVqiuV+ed5AQfav2uvwLO1nkAihCSEWMAICJvDm01k7k1YRNCzgKrUAybF7WAclDTduBzjjDt+lfrOy9evXDvMcy8WuoPgHWianrU1pZsIZUlyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwj+09YFYB11b3XaqYh98IQ2GTIZNMnYlqpLIbwsGz+ErW3m1Rj+M0Vh0CW0wlFTrqueYc0dsOlt9YdbktYSpaBQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAYqAwqLQ0ITT+09kX/AaVsP299kh3q1B57PkLbRsnsVOMrj3VDbQGHGWlnYq6TgyuSZSw50k0DzpK9VqBsqKOSnVgQSeqWsVSpukU01kEq4CSvY6e9GKV+iJes3W55JMN3Sm2HuWtwuwJIZcmYrujKS6J+SPPKPmaH9/o/FGdxgoLTi/Wo/H8xItxFmhvM1xAvnNwU0W+nu5wayiIT3tWRejp/8O/vUNThSAP8ZvKaaiCrxLaMcBp1w7BvbB1UeYi8Z0nX9uLlqxR5rZ8YJQ/HDhRYsCOm3VK+vi6lqkvDrM0ApWex3ViXms0wSTxEH5rdaVI9ArCvChIfb+XW/ge7qwPo606vDrUG3V3UqKtvLgmnFFHjGzJxIrdWIL08HEZNi64eCVCi5Ydtw8qbL/zX/sYkEK/ESMV22h8LpNlwHL2SGr8VJCCCUBgEB3UvShGKkKGVnDWM1Wba4DWGmhnCa4VllihwYiADgPvhhPWMm+LH3HVn8gCPDsKFcBtwUQI3V0qHi/+41xQ3R26YiPgHv2lQ2Bmsu32DRMtwIEEuiGd321L8zT0EZ+8YRE1Uo8CZ+PJxDr3ypodP8puz3A0chGN8hQR6zueDUNoUmcFX9u0tZlRxzR3jElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJGHH1xsK9T2E+Nv00l5xUqnMoFQ3hRl6Oc//88FpYbT+sbfXPkg4AkprfanCcjdrci+jFV31GqTccPlzzZ6VCQ==" } ] } ], - "Accounts updateHead should update until the chainProcessor reaches the chain head": [ + "Wallet updateHead should update until the chainProcessor reaches the chain head": [ { "version": 2, - "id": "33bf4c73-470e-4441-a33d-c666052b5275", + "id": "56f6a3f2-1fa1-401e-92cd-813acba278ec", "name": "a", - "spendingKey": "0fa1515c363179bf04a74e1d10ebb324d3ced040dcbc54bd5223eea68f727d9d", - "viewKey": "e3576847c84e31e1f4ebc1661ffa84e0d0479a3bcdda41746f9317559ced185014576b62f571bfcdf2cb3a69f3db7e345e02398a95ad302df77e861e9153034f", - "incomingViewKey": "56e13d1b05be7dd2a0f3af44b00c6b49350bdb95c66c039007e979abe774ce06", - "outgoingViewKey": "ac87790193baffe453aefafe95a6809398ac6c76647f6e333ed6e08d055c0a8b", - "publicAddress": "ec3c1f7b221a5d1f70888789a858bc988401cf4d379a3728830e40c7fb20c8a8", + "spendingKey": "1ec622e37bbcf7d3150936db94215384ad7e73475fe980c2a31182366f755fc7", + "viewKey": "180af82ab9f932e0779d08f09b0a1c5c0c5d13a5cde9201a30f8088b60ead988d56b7e863e8f611d05fe925cca5216b15cffedf9767778656d4fd061f8f9beb2", + "incomingViewKey": "28af01053d13c064ca7980abc86796d88ec9a4bebe1f2e864a59f7fb3d435a03", + "outgoingViewKey": "4235b50ca8f35ac8d2b9bb72c212056612a97f40456e27c0e6a0260b1452628b", + "publicAddress": "1f189d1748a5f47da47b14e9885faa57fe07793ffd34b98c5c5f1da64fb48752", "createdAt": { "hash": { "type": "Buffer", @@ -6879,15 +6532,15 @@ "previousBlockHash": "4791D7AE9F97DF100EF1558E84772D6A09B43762388283F75C6F20A32A88AA86", "noteCommitment": { "type": "Buffer", - "data": "base64:R23bx4VP/RcVXDcLWt37F75iZNmwoW7qD/OFy5PseD0=" + "data": "base64:zkYQx5Hrl23ut82FZjyqIQI0PoPDcdhsu83iFYzZkk0=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:bBTJubsxHtDkPCejf/DkZfogRMD6GOQyxQuEShBiVrM=" + "data": "base64:mX+2xqGk3UQYXRV10EReYajpIEvU4rJ/FvK/HFwoSKY=" }, "target": "9282972777491357380673661573939192202192629606981189395159182914949423", "randomness": "0", - "timestamp": 1695243784366, + "timestamp": 1698950350349, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 4, "work": "0" @@ -6895,25 +6548,25 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAaR8k9QHBxI4bXh9tZK5PhfKWP6+AsgD8V0bt7SV5k9usJT1/b1HfxschCoyG13y7p+4CdQsLZGnFBda6F/J7A7tQ9xRWmbOPrrgN8gYuBU6BznZ3ibNL3dGqw1Y7AeP9ZFyiO3uT59MwDD9OSRN1EWU8SgPAT70YaTHAq+fSK1IYdFhndNQkfDQQ0v+kWvKVsnQja7tqdmI/klBsj+/Sv5FsauyeZGOufcGLfmAOkqWn/3DfmOR1owy7fKiuqWnKI0yM6kg9BBQSIWTrVih39fDofHTshE4W7g3mAgNFxrLUQuqX+7sB5qlca5GcR2eAjZjd/65k4+ICz0yzu27atMGvU52bPJXgCwTp7bvMQw+DVBbyO62MJLq0WE/xl7ZkbsdtW43Lv5P+TUXjED1wPpayqFYJKa+FDM7mjHz6Mkzf5N9ayoOwA7XNlK/ijnEKCnffxVTT5/prz6JwP+NTh0qb3lyS5heeoDhg6iFzTAXBvUyBlnu1w7eJ+D8D6A7eWXwXI0nunyQMsLYroxvCvems+xHQv7mX4b8yNeDM3cFo/ygP3DfBnJGaABQlVPzLZvo/Qh7AeY0vxdVyQk1CE6lQLqspoJykYKQTebg0v8ud6EZKLCqvN0lyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwxdbDq+g/r0ciI0OZOAu6I4CIhQgeEGkDVdK95IkKBrvHz3aJu/9hUX+kbpRI37592fW9/JX2TnE/ttIx+nnCAA==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA5CAYS9fmd+UGutEchV4L5uUQnT6gLIaj1cmkvtrTAlCX+GG7dScbjWIOpNlxphjfVICrm7Luyn/tZpa/Ewug4fL9PiWlmanzBx8x305pRve25GrbF4YNHEW0SM8AIlHki7g0M7hXafGfW+O7K13IxEVsDc2oxydyu1U0J01WNkETBsNX09ew0LU4QfMGO81JtnKf9xdJ3hEp30koUHKwcXNoeoXgle4OFD+jdHl5GqqG0vNOvpUvAi8YzuZ+r+5zFWavt54mgmeoXI9Qzm3k6AdBzDAkFv0kTXI4kjNaIN0YcTOWOlGSW5y5koDOyzjCrRhnI70JXJwVROgQjpLiXfLxc33VEhDXHyuEzybP/tvClXmppBUizIJueq2x8mg/vL6aH0iFMwDw/4v+A6M+vbRdIQ0sS+aF6piMUjGY3i1CwJwXoiV9bJ0+vpU4QbUXCl6nNO5hZb4mzgw71MCaYCHYJtB0PvdB8aI9NajHht6UbwwmIinL4/VDdJ1fCkU4RW3swPZciDcumtmtQvxYL6Zy6lZ1AxI+ecwlBm7x6XwjZOKXDZDuHxPBM542T25WY0Ys0244VtMJRlQt/5VrrSMSHVc6iJNoifxytVrqv4rVWrZ8E212tklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw3Fllg+5hCp3R1kxSIyctDqbCzivn1Rm2ed62TRtVrJG4sC0NeiX0gH1ItgAFH4PHThF9HouRi7PoBLWf7Y4YAg==" } ] }, { "header": { "sequence": 3, - "previousBlockHash": "5A321238596DA9ACE5745FBEF0A30D9AD6599D29EF622D2000E39D5DFF4C8330", + "previousBlockHash": "803099FD627A6135C45AFB4B4D5D7C7D0A919163A77726B47E0879E359C89B74", "noteCommitment": { "type": "Buffer", - "data": "base64:zZTcGfrphK/2GZWfcdkE1QbpziPVjrQLGtW+b3uPRHA=" + "data": "base64:h/oK2dR25ZHg1pSONUu3/nd4aBBBp4MIWG2muVX1ZHE=" }, "transactionCommitment": { "type": "Buffer", - "data": "base64:qhZ91A5WD4jBho7l1bYcU8Ia97O1COtUCnfFk3TPIjE=" + "data": "base64:nhhj6sO5AZqCeBmnEmbuVF6eWSHTvLT70Xt2vUP7lCU=" }, "target": "9255858786337818395603165512831024101510453493377417362192396248796027", "randomness": "0", - "timestamp": 1695243784643, + "timestamp": 1698950350641, "graffiti": "0000000000000000000000000000000000000000000000000000000000000000", "noteSize": 5, "work": "0" @@ -6921,7 +6574,7 @@ "transactions": [ { "type": "Buffer", - "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAAXvK1v1gxcIBVCv7CBUg2piccHZuPDi8uey9nwk9SuRaV47ni3+pL2NUu00I1B8lx65dXFi8+zxJA8KBTrkx39pPIZWRuKLvgqKHufVzuxR6Z6vE6FKQhAkWu3+hGL6Kdtr7hV2aG9Gp3TD6sHbPzX1UMY6U39Ng7KtSaem7KGsgGv5a73+oT3qDrod7UY5a35UemVkihCwz8qtqgNV8qEOpguElGoUAwECC1K2qBB5uQfG52xZy639wz1DUpydqAI2XDvEsMSSsgOxnqn8R4yVktBzAdI1CcLc1T78rVXv4K02v47W08mC/KlLOlrIa7i+AbiF+2lDUWj7He1ZvSECGUVXfrhR/Yo01kUlNIR4oUdJYb+91+hJct5ToZsrFGaihifkc+nCBT/3QhnW/YPim9/Vj8iM7sACfpp8BgYlN5X/Sa1/EhZcLz46+LrrhBvnnDytiR7cZmCDOqe5siuotXKP3C6X1yDVYW2y31tVIh55mMTbcdWNiIS3aZOdQK79bvqiDEQOU36+TrpMYGkQNA9Ket3+m7gP9lIp4M3OyMexdixcdwbvXnq4HXd6yNqFBvwu6JQT44OSORlUF42vnFaIUMMhZTfWFA/vaghilYZpQLn/nRGklyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwhHPu4MnA2rSANvChP/EmxtBMBGPc9fXZfBWWmF2ZT8y94U8F9jiIsIGnR9Rv1Fq0cG2zZXHEuBBYMry1NQKhDQ==" + "data": "base64:AgAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGzKiP////8AAAAA0H4ouM4kr28k+KKcTCIeDhTrNRFg8pmqeoNsIbJKmqWDs6Gv+Sk21EZuhj+77MGy5tWBLof43+0Y2uRkIgO/zaBpLvV/v2hgVJjKPc7J6bOsm1XCpE9D4TaMtwXbL3BSdCpJnqsjpPi5XydfKMzDvzBNiMgWQIyA+ySGlBz60WgXJd3AA1I2WJeTH9JeNLicOYqZUniSwW1TKTXmAOEr6fFXmklRuMsqhweIB9qPGW+TdCUyuWSoSBeU26kL1c0noW+xpl5fcB3e64mdOhZAzOqyGeysXQ4tx62pAgL2Rv86UOXBTx1rjZmNxW40MKrgAgtwye8wRGkA4gQCqdniYDMAykztKIZUYVjPHpktodBpbZq12RD9PqoSEl0whnUUfTMAC4jCaeSAEJV+JQyTaROkShiD735NviBv4DuZfKRiOP9wqCh8NEP7EwHQ4/IrdImw0G323ZfegOxwiWE83pqP4QLoWy1zPxe3z62GYXUaVl5zvGlRgJbdA4UsVcvSSrDuKKp6GrXQxJ+i3MkGJJA19WOVIO2SGnoYgj5NaHAzGMHXb2F4aCRglMmeZZUf2EZpJwEYET56GRNyDzG772C2PpYUjlzEp7b5Q5N84p6VGcCT55yYwElyb24gRmlzaCBub3RlIGVuY3J5cHRpb24gbWluZXIga2V5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwSouQzhYt0jTcPuAlBptnKv2RO4upBE5Uz+ehgux9gzaAwxOaAkO/LrvBZVEUNqu+tkg+bdDoSgzZZUfMEQ/dCA==" } ] } diff --git a/ironfish/src/wallet/wallet.test.slow.ts b/ironfish/src/wallet/wallet.test.slow.ts index 1ad0dc10c4..f7cd77b8e1 100644 --- a/ironfish/src/wallet/wallet.test.slow.ts +++ b/ironfish/src/wallet/wallet.test.slow.ts @@ -1,17 +1,21 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { Asset, generateKey } from '@ironfish/rust-nodejs' +import { Asset, ASSET_ID_LENGTH, generateKey } from '@ironfish/rust-nodejs' import { Target } from '../primitives/target' import { createNodeTest, useAccountFixture, useBlockFixture, + useBurnBlockFixture, useMinerBlockFixture, + useMintBlockFixture, + usePostTxFixture, + useTxFixture, } from '../testUtilities' import { acceptsAllTarget } from '../testUtilities/helpers/blockchain' -describe('Accounts', () => { +describe('Wallet', () => { const nodeTest = createNodeTest() let targetMeetsSpy: jest.SpyInstance let targetSpy: jest.SpyInstance @@ -933,4 +937,195 @@ describe('Accounts', () => { unconfirmed: BigInt(0), }) }) + + describe('mint', () => { + describe('for an identifier not stored in the database', () => { + it('throws a not found exception', async () => { + const { node } = await nodeTest.createSetup() + const account = await useAccountFixture(node.wallet) + + const assetId = Buffer.alloc(ASSET_ID_LENGTH) + await expect( + node.wallet.mint(account, { + assetId, + fee: BigInt(0), + expirationDelta: node.config.get('transactionExpirationDelta'), + value: BigInt(1), + }), + ).rejects.toThrow( + `Asset not found. Cannot mint for identifier '${assetId.toString('hex')}'`, + ) + }) + }) + + describe('for a valid asset identifier', () => { + it('adds balance for the asset from the wallet', async () => { + const { node } = await nodeTest.createSetup() + const account = await useAccountFixture(node.wallet) + + const mined = await useMinerBlockFixture(node.chain, 2, account) + await expect(node.chain).toAddBlock(mined) + await node.wallet.updateHead() + + const asset = new Asset(account.publicAddress, 'mint-asset', 'metadata') + + const mintValueA = BigInt(2) + const mintBlockA = await useMintBlockFixture({ + node, + account, + asset, + value: mintValueA, + sequence: 3, + }) + await expect(node.chain).toAddBlock(mintBlockA) + await node.wallet.updateHead() + + const mintValueB = BigInt(10) + const transaction = await useTxFixture(node.wallet, account, account, () => { + return node.wallet.mint(account, { + assetId: asset.id(), + fee: BigInt(0), + expirationDelta: node.config.get('transactionExpirationDelta'), + value: mintValueB, + }) + }) + + const mintBlock = await node.chain.newBlock( + [transaction], + await node.strategy.createMinersFee(transaction.fee(), 4, generateKey().spendingKey), + ) + await expect(node.chain).toAddBlock(mintBlock) + await node.wallet.updateHead() + + expect(await node.wallet.getBalance(account, asset.id())).toMatchObject({ + unconfirmed: BigInt(mintValueA + mintValueB), + unconfirmedCount: 0, + confirmed: BigInt(mintValueA + mintValueB), + }) + }) + }) + + describe('for a valid metadata and name', () => { + it('returns a transaction with matching mint descriptions', async () => { + const { node } = await nodeTest.createSetup() + const account = await useAccountFixture(node.wallet) + + const mined = await useMinerBlockFixture(node.chain, 2, account) + await expect(node.chain).toAddBlock(mined) + await node.wallet.updateHead() + + const asset = new Asset(account.publicAddress, 'mint-asset', 'metadata') + const mintValue = BigInt(10) + const mintData = { + creator: asset.creator().toString('hex'), + name: asset.name().toString('utf8'), + metadata: asset.metadata().toString('utf8'), + value: mintValue, + isNewAsset: true, + } + + const transaction = await usePostTxFixture({ + node: node, + wallet: node.wallet, + from: account, + mints: [mintData], + }) + + expect(transaction.mints).toEqual([ + { + asset: asset, + value: mintValue, + owner: asset.creator(), + transferOwnershipTo: null, + }, + ]) + }) + + it('adds balance for the asset from the wallet', async () => { + const { node } = await nodeTest.createSetup() + const account = await useAccountFixture(node.wallet) + + const mined = await useMinerBlockFixture(node.chain, 2, account) + await expect(node.chain).toAddBlock(mined) + await node.wallet.updateHead() + + const asset = new Asset(account.publicAddress, 'mint-asset', 'metadata') + const value = BigInt(10) + const mintBlock = await useMintBlockFixture({ + node, + account, + asset, + value, + sequence: 3, + }) + await expect(node.chain).toAddBlock(mintBlock) + await node.wallet.updateHead() + + expect(await node.wallet.getBalance(account, asset.id())).toMatchObject({ + unconfirmed: BigInt(value), + unconfirmedCount: 0, + confirmed: BigInt(value), + }) + }) + }) + }) + + describe('burn', () => { + it('returns a transaction with matching burn descriptions', async () => { + const { node } = await nodeTest.createSetup() + const account = await useAccountFixture(node.wallet) + + const mined = await useMinerBlockFixture(node.chain, 2, account) + await expect(node.chain).toAddBlock(mined) + await node.wallet.updateHead() + + const asset = new Asset(account.publicAddress, 'mint-asset', 'metadata') + const value = BigInt(10) + const mintBlock = await useMintBlockFixture({ node, account, asset, value, sequence: 3 }) + await expect(node.chain).toAddBlock(mintBlock) + await node.wallet.updateHead() + + const burnValue = BigInt(2) + const transaction = await usePostTxFixture({ + node: node, + wallet: node.wallet, + from: account, + burns: [{ assetId: asset.id(), value: burnValue }], + }) + + expect(transaction.burns).toEqual([{ assetId: asset.id(), value: burnValue }]) + }) + + it('subtracts balance for the asset from the wallet', async () => { + const { node } = await nodeTest.createSetup() + const account = await useAccountFixture(node.wallet) + + const mined = await useMinerBlockFixture(node.chain, 2, account) + await expect(node.chain).toAddBlock(mined) + await node.wallet.updateHead() + + const asset = new Asset(account.publicAddress, 'mint-asset', 'metadata') + const value = BigInt(10) + const mintBlock = await useMintBlockFixture({ node, account, asset, value, sequence: 3 }) + await expect(node.chain).toAddBlock(mintBlock) + await node.wallet.updateHead() + + const burnValue = BigInt(2) + const burnBlock = await useBurnBlockFixture({ + node, + account, + asset, + value: burnValue, + sequence: 4, + }) + await expect(node.chain).toAddBlock(burnBlock) + await node.wallet.updateHead() + + expect(await node.wallet.getBalance(account, asset.id())).toMatchObject({ + unconfirmed: BigInt(8), + unconfirmedCount: 0, + confirmed: BigInt(8), + }) + }) + }) }) diff --git a/ironfish/src/wallet/wallet.test.ts b/ironfish/src/wallet/wallet.test.ts index 7aa8d0ce2e..a63b654df1 100644 --- a/ironfish/src/wallet/wallet.test.ts +++ b/ironfish/src/wallet/wallet.test.ts @@ -1,7 +1,7 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { Asset, ASSET_ID_LENGTH, generateKey } from '@ironfish/rust-nodejs' +import { Asset, generateKey } from '@ironfish/rust-nodejs' import { BufferMap, BufferSet } from 'buffer-map' import { v4 as uuid } from 'uuid' import { Assert } from '../assert' @@ -19,11 +19,11 @@ import { usePostTxFixture, useTxFixture, } from '../testUtilities' -import { AsyncUtils } from '../utils' +import { AsyncUtils, BufferUtils } from '../utils' import { Account, TransactionStatus, TransactionType } from '../wallet' import { AssetStatus, Wallet } from './wallet' -describe('Accounts', () => { +describe('Wallet', () => { const nodeTest = createNodeTest() it('should throw an error when chain processor head does not exist in chain', async () => { @@ -1205,6 +1205,48 @@ describe('Accounts', () => { }) }) }) + + it('should not add spends if minted value equal to output value', async () => { + const { node } = nodeTest + + const accountA = await useAccountFixture(node.wallet, 'a') + + const blockA1 = await useMinerBlockFixture(node.chain, undefined, accountA, node.wallet) + await expect(node.chain).toAddBlock(blockA1) + await node.wallet.updateHead() + + // create and mint an asset + const asset = new Asset(accountA.publicAddress, 'mint-asset', 'metadata') + const blockA2 = await useMintBlockFixture({ node, account: accountA, asset, value: 10n }) + await expect(node.chain).toAddBlock(blockA2) + await node.wallet.updateHead() + + // create transaction to mint asset and send to another address + const rawTransaction = await node.wallet.createTransaction({ + account: accountA, + mints: [ + { + creator: accountA.publicAddress, + name: BufferUtils.toHuman(asset.name()), + metadata: BufferUtils.toHuman(asset.metadata()), + value: 20n, + }, + ], + outputs: [ + { + publicAddress: '0d804ea639b2547d1cd612682bf99f7cad7aad6d59fd5457f61272defcd4bf5b', + amount: 20n, + memo: '', + assetId: asset.id(), + }, + ], + expiration: 0, + fee: 0n, + }) + + // no spends needed + expect(rawTransaction.spends.length).toBe(0) + }) }) describe('getTransactionStatus', () => { @@ -1428,197 +1470,6 @@ describe('Accounts', () => { }) }) - describe('mint', () => { - describe('for an identifier not stored in the database', () => { - it('throws a not found exception', async () => { - const { node } = await nodeTest.createSetup() - const account = await useAccountFixture(node.wallet) - - const assetId = Buffer.alloc(ASSET_ID_LENGTH) - await expect( - node.wallet.mint(account, { - assetId, - fee: BigInt(0), - expirationDelta: node.config.get('transactionExpirationDelta'), - value: BigInt(1), - }), - ).rejects.toThrow( - `Asset not found. Cannot mint for identifier '${assetId.toString('hex')}'`, - ) - }) - }) - - describe('for a valid asset identifier', () => { - it('adds balance for the asset from the wallet', async () => { - const { node } = await nodeTest.createSetup() - const account = await useAccountFixture(node.wallet) - - const mined = await useMinerBlockFixture(node.chain, 2, account) - await expect(node.chain).toAddBlock(mined) - await node.wallet.updateHead() - - const asset = new Asset(account.publicAddress, 'mint-asset', 'metadata') - - const mintValueA = BigInt(2) - const mintBlockA = await useMintBlockFixture({ - node, - account, - asset, - value: mintValueA, - sequence: 3, - }) - await expect(node.chain).toAddBlock(mintBlockA) - await node.wallet.updateHead() - - const mintValueB = BigInt(10) - const transaction = await useTxFixture(node.wallet, account, account, () => { - return node.wallet.mint(account, { - assetId: asset.id(), - fee: BigInt(0), - expirationDelta: node.config.get('transactionExpirationDelta'), - value: mintValueB, - }) - }) - - const mintBlock = await node.chain.newBlock( - [transaction], - await node.strategy.createMinersFee(transaction.fee(), 4, generateKey().spendingKey), - ) - await expect(node.chain).toAddBlock(mintBlock) - await node.wallet.updateHead() - - expect(await node.wallet.getBalance(account, asset.id())).toMatchObject({ - unconfirmed: BigInt(mintValueA + mintValueB), - unconfirmedCount: 0, - confirmed: BigInt(mintValueA + mintValueB), - }) - }) - }) - - describe('for a valid metadata and name', () => { - it('returns a transaction with matching mint descriptions', async () => { - const { node } = await nodeTest.createSetup() - const account = await useAccountFixture(node.wallet) - - const mined = await useMinerBlockFixture(node.chain, 2, account) - await expect(node.chain).toAddBlock(mined) - await node.wallet.updateHead() - - const asset = new Asset(account.publicAddress, 'mint-asset', 'metadata') - const mintValue = BigInt(10) - const mintData = { - creator: asset.creator().toString('hex'), - name: asset.name().toString('utf8'), - metadata: asset.metadata().toString('utf8'), - value: mintValue, - isNewAsset: true, - } - - const transaction = await usePostTxFixture({ - node: node, - wallet: node.wallet, - from: account, - mints: [mintData], - }) - - expect(transaction.mints).toEqual([ - { - asset: asset, - value: mintValue, - owner: asset.creator(), - transferOwnershipTo: null, - }, - ]) - }) - - it('adds balance for the asset from the wallet', async () => { - const { node } = await nodeTest.createSetup() - const account = await useAccountFixture(node.wallet) - - const mined = await useMinerBlockFixture(node.chain, 2, account) - await expect(node.chain).toAddBlock(mined) - await node.wallet.updateHead() - - const asset = new Asset(account.publicAddress, 'mint-asset', 'metadata') - const value = BigInt(10) - const mintBlock = await useMintBlockFixture({ - node, - account, - asset, - value, - sequence: 3, - }) - await expect(node.chain).toAddBlock(mintBlock) - await node.wallet.updateHead() - - expect(await node.wallet.getBalance(account, asset.id())).toMatchObject({ - unconfirmed: BigInt(value), - unconfirmedCount: 0, - confirmed: BigInt(value), - }) - }) - }) - }) - - describe('burn', () => { - it('returns a transaction with matching burn descriptions', async () => { - const { node } = await nodeTest.createSetup() - const account = await useAccountFixture(node.wallet) - - const mined = await useMinerBlockFixture(node.chain, 2, account) - await expect(node.chain).toAddBlock(mined) - await node.wallet.updateHead() - - const asset = new Asset(account.publicAddress, 'mint-asset', 'metadata') - const value = BigInt(10) - const mintBlock = await useMintBlockFixture({ node, account, asset, value, sequence: 3 }) - await expect(node.chain).toAddBlock(mintBlock) - await node.wallet.updateHead() - - const burnValue = BigInt(2) - const transaction = await usePostTxFixture({ - node: node, - wallet: node.wallet, - from: account, - burns: [{ assetId: asset.id(), value: burnValue }], - }) - - expect(transaction.burns).toEqual([{ assetId: asset.id(), value: burnValue }]) - }) - - it('subtracts balance for the asset from the wallet', async () => { - const { node } = await nodeTest.createSetup() - const account = await useAccountFixture(node.wallet) - - const mined = await useMinerBlockFixture(node.chain, 2, account) - await expect(node.chain).toAddBlock(mined) - await node.wallet.updateHead() - - const asset = new Asset(account.publicAddress, 'mint-asset', 'metadata') - const value = BigInt(10) - const mintBlock = await useMintBlockFixture({ node, account, asset, value, sequence: 3 }) - await expect(node.chain).toAddBlock(mintBlock) - await node.wallet.updateHead() - - const burnValue = BigInt(2) - const burnBlock = await useBurnBlockFixture({ - node, - account, - asset, - value: burnValue, - sequence: 4, - }) - await expect(node.chain).toAddBlock(burnBlock) - await node.wallet.updateHead() - - expect(await node.wallet.getBalance(account, asset.id())).toMatchObject({ - unconfirmed: BigInt(8), - unconfirmedCount: 0, - confirmed: BigInt(8), - }) - }) - }) - describe('addPendingTransaction', () => { it('should not decrypt notes for accounts that have already seen the transaction', async () => { const { node } = await nodeTest.createSetup() diff --git a/ironfish/src/wallet/wallet.ts b/ironfish/src/wallet/wallet.ts index fc8be1c317..e664a34fcb 100644 --- a/ironfish/src/wallet/wallet.ts +++ b/ironfish/src/wallet/wallet.ts @@ -1216,6 +1216,12 @@ export class Wallet { amountsNeeded.set(burn.assetId, currentAmount + burn.value) } + for (const mint of raw.mints) { + const asset = new Asset(mint.creator, mint.name, mint.metadata) + const currentAmount = amountsNeeded.get(asset.id()) ?? 0n + amountsNeeded.set(asset.id(), currentAmount - mint.value) + } + return amountsNeeded } diff --git a/lerna.json b/lerna.json index a9ccb8f6a6..4da61086b8 100644 --- a/lerna.json +++ b/lerna.json @@ -5,8 +5,7 @@ "config/eslint-plugin-ironfish", "ironfish-cli", "ironfish", - "ironfish-rust-nodejs", - "simulator" + "ironfish-rust-nodejs" ], "version": "independent", "npmClient": "yarn", diff --git a/package.json b/package.json index 052bffc716..44d978adf4 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,7 @@ "config/eslint-config-ironfish", "config/eslint-plugin-ironfish", "ironfish", - "ironfish-rust-nodejs", - "simulator" + "ironfish-rust-nodejs" ], "scripts": { "build": "lerna run build", diff --git a/simulator/.eslintrc.js b/simulator/.eslintrc.js deleted file mode 100644 index 4612777045..0000000000 --- a/simulator/.eslintrc.js +++ /dev/null @@ -1,12 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -module.exports = { - extends: ['ironfish'], - parserOptions: { - tsconfigRootDir: __dirname, - }, - rules: { - 'jest/no-standalone-expect': 'off', - }, -} diff --git a/simulator/.gitignore b/simulator/.gitignore deleted file mode 100644 index d8f8d46921..0000000000 --- a/simulator/.gitignore +++ /dev/null @@ -1 +0,0 @@ -docs diff --git a/simulator/.prettierrc.js b/simulator/.prettierrc.js deleted file mode 100644 index b622770926..0000000000 --- a/simulator/.prettierrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = 'eslint-config-ironfish/.prettierrc' diff --git a/simulator/README.md b/simulator/README.md deleted file mode 100644 index fe41f9508c..0000000000 --- a/simulator/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Simulator - -The simulator runs a long-running simulation of a local Ironfish network. -There is support for spawning nodes, miners, and various interactions between nodes. - -## Adding a new simulation -Take a look at `simulations/demo.ts` for a detailed explanation to writing your own simulation. -Feel free to also look at any of the other simulations to see what others have contributed. - -Your simulation must implement the `Simulation` interface in `src/simulations/index.ts`. Once written, -import it into `src/simulations/index.ts` and add it to `SIMULATIONS`. Then, follow the instructions below to run it. - -## Usage -Run a simulation using `cd simulator; yarn start ` - -There is currently no clean way to stop a simulation, sending `SIGINT` via `CTRL + C` -will result in a clean shutdown. - -# Documentation -If desired, documentaiton can be generated via `yarn docs:generate; yarn docs:open` diff --git a/simulator/bin/run b/simulator/bin/run deleted file mode 100755 index af4c6ebbef..0000000000 --- a/simulator/bin/run +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env node - -// the signal handler does not support windows yet -if (process.platform !== 'win32') { - require('@ironfish/rust-nodejs').initSignalHandler() -} - -if (process.platform === 'win32' && process.arch === 'ia32') { - console.log( - `32-bit installations are not supported. You may have accidentally installed 32-bit Node.js. Please try reinstalling Node.js v18 (64-bit): https://nodejs.org/en/download/`, - ) - process.exit(1) -} - -if (process.versions.node.split('.')[0] !== '18') { - console.log( - `NodeJS version ${process.versions.node} is not compatible. Must have Node v18 installed: https://nodejs.org/en/download/`, - ) - process.exit(1) -} - -require('@oclif/core') - .run() - .then(require('@oclif/core/flush')) - .catch(require('@oclif/core/handle')) diff --git a/simulator/package.json b/simulator/package.json deleted file mode 100644 index 2ae30d805e..0000000000 --- a/simulator/package.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "name": "simulator", - "version": "0.1.0", - "description": "CLI for running simulations of Ironfish networks", - "author": "Iron Fish (https://ironfish.network)", - "main": "build/src/index.js", - "types": "build/src/index.d.ts", - "repository": { - "type": "git", - "url": "git+https://github.com/iron-fish/ironfish.git" - }, - "license": "MPL-2.0", - "files": [ - "/bin", - "/build/**/*.js", - "/build/**/*.d.ts", - "/build/**/*.d.ts.map", - "/build/**/*.json", - "/npm-shrinkwrap.json", - "/oclif.manifest.json" - ], - "engines": { - "node": "18.x" - }, - "devDependencies": { - "@oclif/test": "2.1.0", - "@types/blessed": "0.1.17", - "@types/inquirer": "8.2.5", - "@types/node": "18.11.16", - "@types/tar": "6.1.1", - "chai": "4.2.0", - "cross-env": "7.0.3", - "eslint-config-ironfish": "*", - "oclif": "2.6.0", - "rimraf": "^3.0.2", - "tsc-watch": "4.2.9", - "typedoc": "0.23.28", - "typescript": "4.3.4", - "yarn": "^1.22.10" - }, - "scripts": { - "build": "tsc -b", - "lint": "tsc -b && eslint --ext .ts,.tsx,.js,.jsx src/", - "lint:fix": "tsc -b && eslint --ext .ts,.tsx,.js,.jsx src/ --fix", - "start:js": "cross-env OCLIF_TS_NODE=0 IRONFISH_DEBUG=1 node --expose-gc --inspect=:0 --inspect-publish-uid=http --enable-source-maps bin/run", - "start": "cd .. && yarn build && cd simulator && yarn start:js start", - "stop": "yarn build && yarn start:js stop", - "test": "yarn clean && tsc -b && tsc -b tsconfig.test.json && jest --passWithNoTests", - "test:coverage:html": "tsc -b tsconfig.test.json && jest --passWithNoTests --testPathIgnorePatterns --coverage --coverage-reporters html", - "test:watch": "tsc -b tsconfig.test.json && jest --watch --coverage false", - "postpack": "rimraf oclif.manifest.json", - "clean": "rimraf build", - "prepack": "rimraf build && yarn build && oclif manifest && oclif readme", - "oclif:version": "oclif readme && git add README.md", - "docs:generate": "typedoc --out docs src", - "docs:open": "open docs/index.html" - }, - "dependencies": { - "@ironfish/sdk": "1.11.0", - "@oclif/core": "1.23.1", - "@oclif/plugin-help": "5.1.12", - "@oclif/plugin-not-found": "2.3.1", - "@types/tar": "6.1.1", - "chalk": "^4" - }, - "oclif": { - "macos": { - "identifier": "network.ironfish.cli" - }, - "commands": "./build/src/commands", - "bin": "simulator", - "plugins": [ - "@oclif/plugin-help", - "@oclif/plugin-not-found" - ], - "topics": {} - }, - "bugs": { - "url": "https://github.com/iron-fish/ironfish/issues" - }, - "homepage": "https://ironfish.network" -} diff --git a/simulator/src/commands/index.ts b/simulator/src/commands/index.ts deleted file mode 100644 index b6401f6980..0000000000 --- a/simulator/src/commands/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -export * from './start' diff --git a/simulator/src/commands/start.ts b/simulator/src/commands/start.ts deleted file mode 100644 index 34c9f1acd6..0000000000 --- a/simulator/src/commands/start.ts +++ /dev/null @@ -1,91 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { createRootLogger } from '@ironfish/sdk' -import { CliUx, Command, Config } from '@oclif/core' -import { Flags } from '@oclif/core' -import { SIMULATIONS } from '../simulations' -import { Simulator } from '../simulator' - -export abstract class Start extends Command { - static description = 'Start a simulation' - - static args = [ - { - name: 'simulation', - parse: (input: string): Promise => Promise.resolve(input.trim()), - required: true, - description: `The name of the simulation to run, one of: ${Object.keys(SIMULATIONS).join( - ', ', - )}`, - }, - ] - - static flags = { - persist: Flags.boolean({ - char: 'p', - required: false, - description: 'Whether the data_dir should persist beyond the simulation', - default: false, - }), - duration: Flags.integer({ - char: 'd', - required: false, - description: 'Duration the simulation should run for', - }), - verbose: Flags.boolean({ - char: 'v', - required: false, - description: 'Log all node event to the console by default', - }), - } - - constructor(argv: string[], config: Config) { - super(argv, config) - } - - async run(): Promise { - const { args, flags } = await this.parse(Start) - - const simName = args.simulation as string - const simulation = SIMULATIONS[simName] - - const { persist, duration } = flags - - const logger = createRootLogger() - - if (simulation === undefined) { - logger.log(`could not find simulation ${simName}`) - this.exit(1) - return - } - - // TODO: the spinner does not work when trying to pipe logs into a logfile, it will just hang - // If you want logs to persist, i.e. via `simulator start 1 2>&1 | tee ~/i/logs/run_1.log` you will - // need to remove the spinner - CliUx.ux.action.start(`running simulation ${simName}`) - - // The simulator is created here because oclif catches errors so we can't throw them - // and handle `uncaughtException` in the simulator. Having this try-catch block is a workaround - // to ensure the simulator gracefully exits when an error occurs. - const simulator = new Simulator(logger, { - persist, - duration, - verboseLogging: flags.verbose, - }) - - logger.log(`created simulation ${simulator.simulationID}`) - - try { - await simulation.run(simulator, logger) - } catch (e) { - logger.error( - `simulation ${simulator.simulationID} encountered ${String(e)}, shutting down...`, - ) - simulator.exit(1) - } - - CliUx.ux.action.stop(`stop simulation ${simName}`) - this.exit(0) - } -} diff --git a/simulator/src/index.ts b/simulator/src/index.ts deleted file mode 100644 index 5b3d8f73fd..0000000000 --- a/simulator/src/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -export { run } from '@oclif/core' -export * from './commands' -export * from './simulations' -export * from './simulator' diff --git a/simulator/src/simulations/demo.ts b/simulator/src/simulations/demo.ts deleted file mode 100644 index 7c23aa51f5..0000000000 --- a/simulator/src/simulations/demo.ts +++ /dev/null @@ -1,103 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -// This file should serve as an example simulation. -// It is a good idea to copy this file and use it as a template for your own simulations. - -import { Logger } from '@ironfish/sdk' -import { - ErrorEvent, - ExitEvent, - IRON, - LogEvent, - SECOND, - sendTransaction, - Simulator, -} from '../simulator' - -/** - * Author: - * Date: - * Description: - */ - -export async function run(simulator: Simulator, logger: Logger): Promise { - // Register event handlers. - // These hooks will be called when a node logs, closes, exits, or errors. - // This is useful when you want to validate certain behaviour, such as a node successfully exiting. - // These event handlers are optional, you can also add the default handler by passing the `-v` flag to the simulator. - - // These sample handlers just log the event to the console. - const onLog = (event: LogEvent): void => { - logger.log(`[${event.node}:${event.proc}:log:${event.type}] ${JSON.stringify(event)}`) - } - - const onExit = (event: ExitEvent): void => { - logger.log(`[${event.node}:exit] ${JSON.stringify(event)}`) - } - - const onError = (event: ErrorEvent): void => { - logger.log(`[${event.node}:error] ${JSON.stringify(event)}`) - } - - const nodes = [] - - // Create the nodes in the simulation. - // This will start the nodes and wait for them to initialize. - // The handlers must be passed into the addNode function to ensure that no events are missed. - for (let i = 0; i < 3; i++) { - nodes.push( - await simulator.startNode({ - onLog: [onLog], - onExit: [onExit], - onError: [onError], - }), - ) - } - - // This starts the miner on the first node. - // The miner can also be stopped via `node[0].stopMiner()` - nodes[0].startMiner() - - // Start the simulation. - // You can write anything you want here. - - // The demo simulation will send a transaction every 3 seconds - // and log how many transactions have been sent, how many have been confirmed, and how many have failed. - - const from = nodes[0] - const to = nodes[0] - - const send = async (): Promise => { - const { hash } = await sendTransaction(from, to, 1 * IRON, 1 * IRON) - const block = await from.waitForTransactionConfirmation(hash) - - if (!block) { - logger.error(`[sim:failed] transaction: ${hash}`) - return - } - logger.log(`[sim:confirmed] transaction: ${hash}, block: ${block.hash}`) - } - - let started = 0 - let finished = 0 - - setInterval(() => { - started += 1 - const runNumber = started - logger.log(`[started] #${runNumber}`) - void send() - .then(() => { - finished += 1 - logger.log(`[finished] #${runNumber}`) - logger.log(`[count] started ${started}, finished: ${finished}`) - }) - .catch((e) => { - logger.error(`[error] #${runNumber}: ${String(e)}`) - }) - }, 3 * SECOND) - - // Call this to keep the simulation running. This currently will wait for all the nodes to exit. - await simulator.waitForShutdown() -} diff --git a/simulator/src/simulations/getAccountTransaction.ts b/simulator/src/simulations/getAccountTransaction.ts deleted file mode 100644 index 075cf6a8ab..0000000000 --- a/simulator/src/simulations/getAccountTransaction.ts +++ /dev/null @@ -1,92 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -import { GetAccountTransactionResponse, Logger } from '@ironfish/sdk' -import axios from 'axios' -import chalk from 'chalk' -import { IRON, SECOND, sendTransaction, SimulationNode, Simulator, sleep } from '../simulator' - -// Author: hughy -// Purpose: Send transactions and ensure that they're available from -// wallet/getAccountTransaction - -const RPC_HTTP_PORT = 8020 - -export async function run(simulator: Simulator, logger: Logger): Promise { - const receiverNode = await simulator.startNode({ - cfg: { enableRpcHttp: true, rpcHttpHost: 'localhost', rpcHttpPort: RPC_HTTP_PORT }, - }) - - for (let i = 1; i < 3; i++) { - const senderRpcHttpPort = RPC_HTTP_PORT + i - const senderNode = await simulator.startNode({ - cfg: { - enableRpcHttp: true, - rpcHttpHost: 'localhost', - rpcHttpPort: senderRpcHttpPort, - importGenesisAccount: false, - }, - }) - void senderLoop(simulator, logger, senderNode, receiverNode, senderRpcHttpPort) - } - - // wait for all nodes to be stopped - await simulator.waitForShutdown() - - logger.log('nodes stopped, shutting down...') -} - -async function senderLoop( - simulator: Simulator, - logger: Logger, - from: SimulationNode, - to: SimulationNode, - senderRpcHttpPort: number, -) { - const receiverEndpoint = `http://localhost:${RPC_HTTP_PORT}/wallet/getAccountTransaction` - const senderEndpoint = `http://localhost:${senderRpcHttpPort}/wallet/getAccountTransaction` - - from.startMiner() - - while (simulator.nodes) { - const sendResult = await sendTransaction(from, to, 1 * IRON, 1 * IRON).catch( - () => undefined, - ) - - if (!sendResult) { - continue - } - - const { transaction, hash } = sendResult - logger.log(chalk.yellow(`[SENT] ${hash}`)) - - void getAccountTransaction(senderEndpoint, hash) - - void to.waitForTransactionConfirmation(hash, transaction.expiration()).then((block) => { - if (block === undefined) { - logger.log(chalk.red(`[FAILED] ${hash}`)) - } else { - logger.log(chalk.green(`[RECEIVED] ${hash} on block ${block?.sequence}`)) - } - - void getAccountTransaction(receiverEndpoint, hash) - }) - - await sleep(1 * SECOND) - } - - async function getAccountTransaction(endpointUrl: string, hash: string): Promise { - const httpResponse = await axios.post(endpointUrl, { hash }) - - if (httpResponse.status !== 200) { - logger.log(chalk.red(`[FAILED] request to ${endpointUrl}`)) - } - - if (httpResponse.data.transaction !== null) { - logger.log(chalk.green(`[FOUND] transaction ${hash} at ${endpointUrl}`)) - } else { - logger.log(chalk.red(`[NOT FOUND] transaction ${hash} not at ${endpointUrl}`)) - } - } -} diff --git a/simulator/src/simulations/index.ts b/simulator/src/simulations/index.ts deleted file mode 100644 index d73c06ad2e..0000000000 --- a/simulator/src/simulations/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { Logger } from '@ironfish/sdk' -import { Simulator } from '../simulator' -import * as getAccountTransaction from './getAccountTransaction' -import * as send from './send' -import * as stability from './stability' - -/** - * Interface that simulations must implement to be run by the framework. - */ -export interface Simulation { - run(simulator: Simulator, logger: Logger): Promise -} - -/** - * Map of all simulations that can be run. Add your simulation here to run it using the `simulator start` command. - */ -export const SIMULATIONS: { [name: string]: Simulation | undefined } = { - send, - stability, - getAccountTransaction, -} diff --git a/simulator/src/simulations/send.ts b/simulator/src/simulations/send.ts deleted file mode 100644 index 501bb0cc40..0000000000 --- a/simulator/src/simulations/send.ts +++ /dev/null @@ -1,54 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -import { Logger } from '@ironfish/sdk' -import chalk from 'chalk' -import { IRON, SECOND, sendTransaction, SimulationNode, Simulator, sleep } from '../simulator' - -// Author: holahula -// Purpose: Send transactions from one node to another every 3 seconds - -export async function run(simulator: Simulator, logger: Logger): Promise { - const nodes = [] - for (let i = 0; i < 2; i++) { - nodes.push(await simulator.startNode()) - } - - void sendLoop(simulator, logger, nodes) - - // wait for all nodes to be stopped - await simulator.waitForShutdown() - - logger.log('nodes stopped, shutting down...') -} - -async function sendLoop(simulator: Simulator, logger: Logger, nodes: SimulationNode[]) { - const from = nodes[0] - const to = nodes[1] - - from.startMiner() - - while (simulator.nodes) { - const sendResult = await sendTransaction(from, to, 1 * IRON, 1 * IRON).catch( - () => undefined, - ) - - if (!sendResult) { - continue - } - - const { transaction, hash } = sendResult - logger.log(chalk.yellow(`[SENT] ${hash}`)) - - void to.waitForTransactionConfirmation(hash, transaction.expiration()).then((block) => { - if (block === undefined) { - logger.log(chalk.red(`[FAILED] ${hash}`)) - } else { - logger.log(chalk.green(`[RECEIVED] ${hash} on block ${block?.sequence}`)) - } - }) - - await sleep(1 * SECOND) - } -} diff --git a/simulator/src/simulations/stability.ts b/simulator/src/simulations/stability.ts deleted file mode 100644 index 6797e9e5a7..0000000000 --- a/simulator/src/simulations/stability.ts +++ /dev/null @@ -1,195 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -import { Logger, PromiseUtils } from '@ironfish/sdk' -import { - ErrorEvent, - ExitEvent, - getRandom, - LogEvent, - MINUTE, - Simulator, - sleep, -} from '../simulator' - -// Author: holahula -// Date: 2023-03-28 -// Description: -// This simulation tests the stability of the network by randomly stopping and starting nodes, -// trying to see if nodes crash over time. The memory usage of the nodes is also monitored. - -export async function run(simulator: Simulator, logger: Logger): Promise { - const alive: Set = new Set() - - const onExit = (event: ExitEvent): void => { - logger.log(`[${event.node}:exit] ${JSON.stringify(event)}`) - } - - const onError = (event: ErrorEvent): void => { - logger.log(`[${event.node}:error] ${JSON.stringify(event)}`) - } - - // Spawn 3 nodes - for (let i = 0; i < 3; i++) { - const node = await simulator.startNode({ - onExit: [onExit], - onError: [onError], - }) - alive.add(node.config.nodeName) - } - - logger = logger.withScope('simulation2') - - simulator.nodes.get('node0')?.startMiner() - - await sleep(3000) - - const loop = { - state: true, - } - - const simulationStatus: SimulationStatus = { - numStarts: 0, - numStops: 0, - failedStarts: { count: 0, errs: [] }, - failedStops: { count: 0, errs: [] }, - } - - void stopLoop(simulator, logger, alive, loop, simulationStatus) - - void startLoop(simulator, logger, alive, loop, simulationStatus, { - onExit: [onExit], - onError: [onError], - }) - - void simulator.startMemoryUsageLoop(1 * MINUTE) - - setInterval(() => { - logger.log('[simulation] sim status', { status: JSON.stringify(simulationStatus) }) - }, 1 * MINUTE) - - await simulator.waitForShutdown() -} - -type SimulationStatus = { - numStarts: number - numStops: number - failedStarts: { count: number; errs: Array<{ err: Error }> } - failedStops: { count: number; errs: Array<{ err: Error }> } -} - -// Loop that continuosly starts nodes -const startLoop = async ( - simulator: Simulator, - logger: Logger, - alive: Set, - loop: { state: boolean }, - simulationStatus: SimulationStatus, - options?: { - onLog?: ((event: LogEvent) => void)[] - onExit?: ((event: ExitEvent) => void)[] - onError?: ((event: ErrorEvent) => void)[] - }, -) => { - while (loop.state) { - try { - await sleep(Math.floor(Math.random() * 1 * MINUTE)) - - const added = await simulator.startNode(options) - logger.log(`[start] starting node ${added.config.nodeName}`) - - alive.add(added.config.nodeName) - - simulationStatus.numStarts += 1 - - logger.log( - `[start] node ${added.config.nodeName} started | alive nodes: ${Array.from(alive).join( - ', ', - )}`, - ) - } catch (e) { - logger.log(`[start] error starting node`, { err: String(e) }) - simulationStatus.failedStarts.count += 1 - simulationStatus.failedStarts.errs.push({ err: new Error(String(e)) }) - } - } -} - -// Loop that continuously stops nodes -const stopLoop = async ( - simulator: Simulator, - logger: Logger, - alive: Set, - loop: { state: boolean }, - simulationStatus: SimulationStatus, -) => { - while (loop.state) { - await sleep(Math.floor(Math.random() * 1 * MINUTE)) - if (alive.size === 1) { - logger.log('[stop] only 1 node running, cannot kill bootstrap node') - continue - } - - const name = getRandom(alive) - if (!name) { - logger.log('[stop] no alive node to kill', { alive: Array.from(alive).join(', ') }) - continue - } - - const node = simulator.nodes.get(name) - if (!node) { - logger.log(`[stop] alive node not found ${name}`, { - alive: Array.from(alive).join(', '), - }) - continue - } - - if (node.config.bootstrapNodes[0] === "''") { - logger.log(`[stop] bootstrap node cannot be killed ${name}`, { - alive: Array.from(alive).join(', '), - }) - continue - } - - logger.log(`stopping node ${node.config.nodeName}`) - - simulationStatus.numStops += 1 - - const [stopped, resolve, reject] = PromiseUtils.split() - - const wait = setTimeout(() => { - clearTimeout(wait) - reject('[stop] timeout 1 minute exceeded') - }, 1 * MINUTE) - - const exitListener = () => { - resolve() - } - - node.onExit.on(exitListener) - - const { success, msg } = await simulator.stopNode(node.config.nodeName) - if (!success) { - logger.log(msg) - } - - await stopped.then( - () => { - alive.delete(node.config.nodeName) - logger.log( - `[stop] node ${node.config.nodeName} stopped | alive nodes: ${Array.from(alive).join( - ', ', - )}`, - ) - }, - (reason) => { - logger.log(`[stop] node ${node.config.nodeName} failed to stop`) - simulationStatus.failedStops.errs.push({ err: new Error(reason) }) - simulationStatus.failedStops.count += 1 - }, - ) - - node.onExit.off(exitListener) - } -} diff --git a/simulator/src/simulator/events.ts b/simulator/src/simulator/events.ts deleted file mode 100644 index 71ad369e26..0000000000 --- a/simulator/src/simulator/events.ts +++ /dev/null @@ -1,132 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -import { Logger } from '@ironfish/sdk' -import chalk from 'chalk' -import * as yup from 'yup' - -/** - * Type alias for the supported child processes of a SimulationNode. - * The 'node' process runs the underlying Ironfish node. - * The 'miner' process runs an optional miner against the node. - */ -export type supportedNodeChildProcesses = 'miner' | 'node' - -/** - * The default onLog handler for a SimulationNode. It logs the log event to the console. - * - * @param logger The logger used to log the event - */ -export const defaultOnLog = - (logger: Logger) => - (event: LogEvent): void => { - logger.log(`[${event.node}:${event.proc}:log:${event.type}] ${JSON.stringify(event)}`) - } - -/** - * The default onExit handler for a SimulationNode. It logs the exit event, in red, to the console. - * - * @param logger The logger used to log the event - */ -export const defaultOnExit = - (logger: Logger) => - (event: ExitEvent): void => - logger.log(chalk.red(`[${event.node}:exit]`) + ` ${JSON.stringify(event)}`) - -/** - * defaultOnError is the default onError handler for a SimulationNode. It logs the error event, in red, to the console. - * - * @param logger The logger used to log the event - */ -export const defaultOnError = - (logger: Logger) => - (event: ErrorEvent): void => - logger.log(chalk.red(`[${event.node}:error]`) + ` ${JSON.stringify(event)}`) - -/** - * LogEvent that is emitted to any `onLog` listeners when a child process writes to stdout or stderr. - */ -export type LogEvent = { - node: string - type: 'stdout' | 'stderr' - proc: supportedNodeChildProcesses - message: string - jsonMessage?: NodeLogEvent - timestamp: string -} - -/** - * Formats a LogEvent into a pretty string. - */ -export function logEventToString(l: LogEvent): string { - const msg = { - node: l.node, - proc: l.proc, - type: l.type, - message: l.jsonMessage, - timestamp: l.timestamp, - } - - if (msg.message === undefined) { - return '' - } - - return JSON.stringify(msg, undefined, 2) -} - -/** - * NodeLogEvent is the JSON object that is logged by the Ironfish node. - * This is wrapped in a LogEvent when it is emitted to any listeners. - */ -export type NodeLogEvent = { - date: string - level: string - message: string - tag: string -} - -/** - * NodeLogEventSchema is the schema for a NodeLogEvent. This is used to validate that the JSON - * object that is logged by the Ironfish node is valid. - */ -export const NodeLogEventSchema: yup.ObjectSchema = yup - .object({ - date: yup.string().required(), - level: yup.string().required(), - message: yup.string().required(), - tag: yup.string().required(), - }) - .required() - -/** - * CloseEvent is emitted to any `onClose` listeners when a child process is closed. - */ -export type CloseEvent = { - node: string - proc: supportedNodeChildProcesses - code: number | null - timestamp: string -} - -/** - * ExitEvent is emitted to any `onExit` listeners when a child process exits. - */ -export type ExitEvent = { - node: string - proc: supportedNodeChildProcesses - code: number | null - signal: NodeJS.Signals | null - lastErr: Error | undefined - timestamp: string -} - -/** - * ErrorEvent is emitted to any `onError` listeners when a child process emits an error. - */ -export type ErrorEvent = { - node: string - proc: supportedNodeChildProcesses - error: Error - timestamp: string -} diff --git a/simulator/src/simulator/index.ts b/simulator/src/simulator/index.ts deleted file mode 100644 index 43318dd59e..0000000000 --- a/simulator/src/simulator/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -export * from './simulation-node' -export * from './simulator' -export * from './misc' -export * from './logger' -export * from './events' -export * from './utils/index' diff --git a/simulator/src/simulator/logger.ts b/simulator/src/simulator/logger.ts deleted file mode 100644 index 50b21014f1..0000000000 --- a/simulator/src/simulator/logger.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { createRootLogger, Logger } from '@ironfish/sdk' - -/** - * Creates a logger that should be used in simulations. This logger will - * do a bunch of extra stuff that is useful for debugging. Currently it does nothing. - * - * @returns a logger - */ -export function createSimulatorLogger(): Logger { - const rootLogger = createRootLogger() - return rootLogger -} diff --git a/simulator/src/simulator/misc.ts b/simulator/src/simulator/misc.ts deleted file mode 100644 index 9b4f9c0fbf..0000000000 --- a/simulator/src/simulator/misc.ts +++ /dev/null @@ -1,80 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -export const MILLISECOND = 1 -export const SECOND = 1000 * MILLISECOND -export const MINUTE = 60 * SECOND - -export const ORE = 1 -export const IRON = 100000000 * ORE - -/** 1 / 100000000 */ -export const ORE_TO_IRON = ORE / IRON - -/** - * Sleeps for a given duration. - * - * @param ms The duration to sleep for - */ -export function sleep(ms: number): Promise { - return new Promise((resolve) => setTimeout(resolve, ms)) -} - -/** - * Creates an interval that runs a function at a random interval between `minDelay` and `maxDelay`. - * @param fn The function to run - * @param minDelay The minimum delay between function calls - * @param maxDelay The maximum delay between function calls - * - * @returns An object with a clear function that can be called to clear the interval - */ -export function setRandomInterval( - fn: () => void, - minDelay: number, // in ms - maxDelay: number, // in ms -): { clear(): void } { - let timeout: NodeJS.Timeout - - const runInterval = () => { - const timeoutFunction = () => { - fn() - runInterval() - } - - const delay = Math.floor(Math.random() * (maxDelay - minDelay + 1)) + minDelay - - timeout = setTimeout(timeoutFunction, delay) - } - - runInterval() - - return { - clear() { - clearTimeout(timeout) - }, - } -} - -/** - * A helper function to get a random element from a set or array. - * - * @param set The set to get a random element from - * @returns A random element from the set if elements exist, otherwise undefined - */ -export function getRandom(list: Set | Array): T | undefined { - let arr: Array = [] - - if (list instanceof Set) { - arr = Array.from(list) - } else { - arr = list - } - - if (arr.length === 0) { - return undefined - } - - const idx = Math.floor(Math.random() * arr.length) - return arr[idx] -} diff --git a/simulator/src/simulator/simulation-node.ts b/simulator/src/simulator/simulation-node.ts deleted file mode 100644 index 0dcfc9039d..0000000000 --- a/simulator/src/simulator/simulation-node.ts +++ /dev/null @@ -1,701 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { - Config, - ConfigOptions, - createRootLogger, - DEV_GENESIS_ACCOUNT, - Event, - FollowChainStreamResponse, - Logger, - NodeFileProvider, - PromiseUtils, - RpcTcpClient, - YupUtils, -} from '@ironfish/sdk' -import { ChildProcessWithoutNullStreams, exec, spawn } from 'child_process' -import { promisify } from 'util' -import { - defaultOnError, - defaultOnExit, - ErrorEvent, - ExitEvent, - LogEvent, - NodeLogEventSchema, - supportedNodeChildProcesses, -} from './events' -import { sleep } from './misc' -import { importAccount } from './utils' - -export const rootCmd = 'ironfish' - -/** - * SimulationNodeConfig is the configuration for a node in the simulation network. - * All the `RequiredSimulationNodeConfig` options are required to start a node but defaults will be set - * if they are not provided. The rest of the `ConfigOptions` are optional and will be used to override - * the defaults. - */ -export type SimulationNodeConfig = RequiredSimulationNodeConfig & - OptionalSimulationNodeConfig & - Partial> - -/** - * These options are required to start a node. - */ -export type RequiredSimulationNodeConfig = Required< - Pick< - ConfigOptions, - | 'nodeName' - | 'blockGraffiti' - | 'peerPort' - | 'networkId' - | 'rpcTcpHost' - | 'rpcTcpPort' - | 'rpcHttpHost' - | 'rpcHttpPort' - | 'bootstrapNodes' - > -> - -/** - * Additional configuration options for the node. These are not part of the `ConfigOptions` interface - */ -export type OptionalSimulationNodeConfig = { - /** - * The data directory for the node. If not provided, a temporary directory will be created. - */ - dataDir: string - /** - * Display verbose logging from the node. - */ - verbose?: boolean - - /** - * Tags to include in the node logs. If omitted, all tags will be included. - */ - logTags?: string[] - /** - * Whether the genesis account should be added to this node. - * An explicit rescan will follow the import so the balance is immediately available. - */ - importGenesisAccount?: boolean -} - -/** - * Global logger for use in the simulator node. - */ -const globalLogger = createRootLogger() - -/** - * SimulationNode is a wrapper around an Ironfish node for use in the simulation network. - * - * This class is responsible for the node, the miner, and - * providing a client to interact with the node. - * - * The node itself can be accessed via another terminal by specifying it's - * `data_dir` while it is running. - * - * This class should be constructed using the static `intiailize()` method. - */ -export class SimulationNode { - /** Map of child processes to their names */ - procs = new Map() - - nodeProcess: ChildProcessWithoutNullStreams - - /** - * Optional miner process if the node is mining - */ - minerProcess?: ChildProcessWithoutNullStreams - - /** - * @event Emits when new blocks are added to the chain - */ - onBlock: Event<[FollowChainStreamResponse]> = new Event() - - /** - * The last error encountered by the node. This is useful for debugging - * when a node crashes or exits unexpectedly. - */ - lastError: Error | undefined - - /** - * @event Emits when the node logs a message to either stdout or stderr - */ - onLog: Event<[LogEvent]> = new Event() - /** - * @event Emits when the node errors - */ - onError: Event<[ErrorEvent]> = new Event() - /** - * @event Emits when the node exits - */ - onExit: Event<[ExitEvent]> = new Event() - - /** The client used to make RPC calls against the underlying Ironfish node */ - client: RpcTcpClient - /** - * The config used to start the node. This config is not mandatory for the user to set, - * as the simulator will fill in all the required options with defaults. - */ - config: SimulationNodeConfig - - /** Promise that resolves when the node shuts down */ - private shutdownPromise: Promise - - /** Call to resolve the shutdown promise */ - private shutdownResolve: () => void - - logger: Logger - - /** If the node is ready to be interacted with */ - ready = false - - /** If the node was stopped */ - stopped = false - - /** - * The constructor should not be called. - * Use the `initialize()` method to create a SimulationNode. - */ - private constructor( - config: SimulationNodeConfig, - client: RpcTcpClient, - logger: Logger, - options?: { - onLog?: ((l: LogEvent) => void | Promise)[] - onExit?: ((e: ExitEvent) => void | Promise)[] - onError?: ((e: ErrorEvent) => void | Promise)[] - }, - ) { - this.config = config - this.client = client - this.logger = logger.withTag(`${config.nodeName}`) - - // The data dir argument is required so the node starts up in the correct directory - const args = ['start', '--datadir', this.config.dataDir] - - // Register any user-provided event handlers - if (options?.onLog) { - options.onLog.forEach((e) => this.onLog.on(e)) - } - if (options?.onExit) { - options.onExit.forEach((e) => this.onExit.on(e)) - } - if (options?.onError) { - options.onError.forEach((e) => this.onError.on(e)) - } - - this.nodeProcess = this.startNodeProcess(args) - - // TODO(holahula): hack to clean up when the node process exits - this.onExit.on((exit) => { - if (exit.proc === 'node') { - if (this.shutdownResolve) { - this.shutdownResolve() - this.stopped = true - } - this.cleanup() - } - }) - - const [shutdownPromise, shutdownResolve] = PromiseUtils.split() - this.shutdownPromise = shutdownPromise - this.shutdownResolve = shutdownResolve - - this.logger.log(`started node: ${this.config.nodeName}`) - } - - /** - * Initializes a new SimulationNode. This should be used instead of the constructor - * to ensure that the node is ready to be used. Upon return, the node will be ready - * for any client RPC calls. - * - * @param config the config for the node - * @param logger the logger to use for the node - * @param options event handlers to handle events from child processes. - * If not provided, the default handlers that log exits and errors will be used. - * - * @returns A new and ready SimulationNode - */ - static async init( - config: SimulationNodeConfig, - logger: Logger, - options?: { - onLog?: ((l: LogEvent) => void | Promise)[] - onExit?: ((e: ExitEvent) => void | Promise)[] - onError?: ((c: ErrorEvent) => void | Promise)[] - }, - ): Promise { - const client = new RpcTcpClient(config.rpcTcpHost, config.rpcTcpPort) - - if (options) { - options.onExit = options.onExit || [defaultOnExit(logger)] - options.onError = options.onError || [defaultOnError(logger)] - } - - // Create a starting config in the datadir before starting the node - const fileSystem = new NodeFileProvider() - await fileSystem.init() - const nodeConfig = new Config(fileSystem, config.dataDir) - await nodeConfig.load() - - // TODO: support all the log levels, not just verbose - if (config.verbose) { - nodeConfig.set('logLevel', '*:debug') - } - - for (const [key, value] of Object.entries(config)) { - // This is a hack to get around the fact that the simulation node config - // has `dataDir` / `verbose` properties that are not valid ironfish config options - if (key === 'dataDir' || key === 'verbose') { - continue - } - nodeConfig.set(key as keyof ConfigOptions, value) - } - - // These config options have specific values that must be set - // and thus are not configurable - nodeConfig.set('jsonLogs', true) - nodeConfig.set('enableRpc', true) - nodeConfig.set('enableRpcTcp', true) - nodeConfig.set('enableRpcTls', false) - nodeConfig.set('enableRpcHttp', true) - nodeConfig.set('miningForce', true) - - await nodeConfig.save() - - const node = new SimulationNode(config, client, logger, options) - - // Attempt to connect the client to the node until successful - let connected = false - let tries = 0 - while (!connected && tries < 12) { - connected = await client.tryConnect() - tries++ - await sleep(250) - } - - if (!connected) { - throw new Error(`failed to connect to node ${config.nodeName}`) - } - - const { content: chainInfo } = await node.client.chain.getChainInfo() - - node.initializeBlockStream(chainInfo.currentBlockIdentifier.hash) - - if (config.importGenesisAccount) { - await importAccount(node, `'${JSON.stringify(DEV_GENESIS_ACCOUNT)}'`, true) - } - - node.ready = true - - return node - } - - /** - * Attaches listeners to a child process and adds the process to the node's - * list of child processes. - * - * @param proc The child process to add - * @param procName The name of the process, used for logging and accessing the proc. - */ - private registerChildProcess( - proc: ChildProcessWithoutNullStreams, - procName: supportedNodeChildProcesses, - ): void { - this.attachListeners(proc, procName) - this.procs.set(procName, proc) - } - - /** - * - * Starts and attaches a miner process to the simulation node - * - * @returns Whether the miner was successfully started - */ - public startMiner(): boolean { - if (this.minerProcess) { - return false - } - - this.logger.log(`attaching miner to ${this.config.nodeName}...`) - - this.minerProcess = spawn('ironfish', [ - 'miners:start', - '-t', - '1', - '--datadir', - this.config.dataDir, - ]) - - this.registerChildProcess(this.minerProcess, 'miner') - - return true - } - - /** - * Stops and detaches the miner process from the node. This can be called at any time during the simulation - * if you need to stop mining. - * - * @returns Whether the miner was successfully stopped - */ - public stopMiner(): boolean { - if (!this.minerProcess) { - throw new Error('Miner process not found') - } - - this.logger.log(`detaching miner from ${this.config.nodeName}...`) - - const success = this.minerProcess.kill() - - this.procs.delete('miner') - this.minerProcess = undefined - - return success - } - /** - * Initializes a block stream for a node. Each node should only have 1 block stream - * because currently the stream RPC cannot be closed. The `onBlock` event will emit - * every time a new block is added to the chain. - * - * To verify a transaction has been mined, you should attach a listener to the `onBlock` event - * and wait for the transaction to appear. - */ - initializeBlockStream(startingBlockHash: string): void { - const blockStream = this.client.chain - .followChainStream({ head: startingBlockHash.toString() }) - .contentStream() - - const stream = async () => { - for await (const block of blockStream) { - this.onBlock.emit(block) - } - } - - void stream() - } - - /** - * Waits for a transaction to be mined and returns the block it was mined in. - * If the transaction is not mined before the expiration sequence, it will return undefined. - * - * @param transactionHash The hash of the transaction to wait for - * @returns The block the transaction was mined in, or undefined if the transaction was not mined - */ - async waitForTransactionConfirmation( - transactionHash: string, - expirationSequence?: number, - ): Promise { - return new Promise((resolve) => { - const checkBlock = (resp: FollowChainStreamResponse) => { - const hasTransation = resp.block.transactions.find( - (t) => t.hash.toLowerCase() === transactionHash, - ) - - if ( - resp.type === 'connected' && - expirationSequence && - resp.block.sequence >= expirationSequence - ) { - this.onBlock.off(checkBlock) - resolve(undefined) - } - - if (resp.type === 'connected' && hasTransation) { - // TODO: is there a better way to remove the event listener? - this.onBlock.off(checkBlock) - resolve(resp.block) - } - } - - this.onBlock.on(checkBlock) - }) - } - - /** - * Starts the node process and attaches listeners to it. The ironfish - * process is is spawned from `ironfish/node_modules/.bin/ironfish`. - * - * @param args The arguments to pass to the node process. These arguments follow - * the same format as the CLI. - * - * @returns The node process - */ - private startNodeProcess(args: string[]): ChildProcessWithoutNullStreams { - const nodeProc = spawn(rootCmd, args) - this.registerChildProcess(nodeProc, 'node') - - return nodeProc - } - - /** - * Utility function to wait for the node to shutdown. - * - * @returns A promise that resolves when the node has shutdown - */ - async waitForShutdown(): Promise { - await this.shutdownPromise - } - - /** - * Stops the node process and cleans up any listeners or other child processes. - * - * @returns Whether the node was successfully stopped and the error message if it failed - */ - async stop(): Promise<{ success: boolean; msg: string }> { - this.logger.log(`killing node ${this.config.nodeName}...`) - - return stopSimulationNode(this.config) - } - - /** - * Adds listeners to the events for a child process. - * The events are forwarded to the on event emitters and can be subscribed to. - * - * @param p The process to attach listeners to - * @param procName The name of the process, used for logging - */ - private attachListeners( - p: ChildProcessWithoutNullStreams, - proc: supportedNodeChildProcesses, - ): void { - p.stdout.on('data', (data) => { - const message = (data as Buffer).toString() - void YupUtils.tryValidate(NodeLogEventSchema, message).then(({ result }) => { - this.onLog.emit({ - node: this.config.nodeName, - proc, - type: 'stdout', - message, - timestamp: new Date().toISOString(), - ...(result ? { jsonMessage: result } : {}), - }) - }) - }) - - p.stderr.on('data', (data) => { - const message = (data as Buffer).toString() - void YupUtils.tryValidate(NodeLogEventSchema, message).then(({ result }) => { - this.onLog.emit({ - node: this.config.nodeName, - proc, - type: 'stderr', - message, - timestamp: new Date().toISOString(), - ...(result ? { jsonMessage: result } : {}), - }) - }) - }) - - p.on('error', (error: Error) => { - this.lastError = error - - this.onError.emit({ - node: this.config.nodeName, - proc, - error, - timestamp: new Date().toISOString(), - }) - }) - - // The exit event is emitted when the child process ends. - // The last error encountered by the process is emitted in the event that this is an unexpected exit. - p.on('exit', (code, signal) => { - this.onExit.emit({ - node: this.config.nodeName, - proc, - code, - signal, - lastErr: this.lastError, - timestamp: new Date().toISOString(), - }) - }) - - return - } - - /** - * Public function to kill a node - */ - kill(): void { - this.cleanup() - } - - /** - * Kills all child processes and handles any required cleanup - */ - private cleanup(): void { - this.logger.log(`cleaning up ${this.config.nodeName}...`) - - this.procs.forEach((proc) => { - // TODO: handle kill response - const _ = proc.kill() - }) - - this.procs.clear() - - // TODO: adding onExit here removes the exit handlers before they're executed on child process exit - // which is breaking, but ideally it should be here - // this.onExit.clear() - - this.onBlock.clear() - this.onLog.clear() - this.onError.clear() - } - - /** - * Executes a short-lived cli command via `child_process.spawn()`. - * - * If the user does not provide callbacks for errors or logs from the command, they will be printed to the console. - * - * This allows for the logs to be streamed to the console and the command to be executed in a separate process. - * If the command fails, the promise will reject. - * - * @param command The ironfish cli command to execute - * @param args The arguments to pass to the command. There should be 1 argument per string in the array. - * @param options.onError The callback to execute if the command fails - * @param options.onLog The callback to execute if the command writes to stdout / stderr - * @rejects if the command encounters an error or returns with a non-zero code - * @returns A promise that resolves when the command has finished executing - */ - async executeCliCommand( - command: string, - commandArgs?: string[], - options?: { - onError?: (err: Error) => void - onLog?: (stdout: string) => void - }, - ): Promise { - const args = commandArgs || [] - - args.push('--datadir', this.config.dataDir) - - const cmdString = rootCmd + ' ' + command + ' ' + args.join(' ') - - this.logger.log(`executing cli command (spawn): ${cmdString}`) - - const onLog = options?.onLog || ((stdout) => this.logger.log(stdout)) - const onError = options?.onError || ((err) => this.logger.error(JSON.stringify(err))) - - return new Promise((resolve, reject) => { - const process = spawn(rootCmd, [command, ...args]) - - process.stdout.on('data', (data) => { - const message = (data as Buffer).toString() - onLog(`${command}:stdout: ${message}`) - }) - - process.stderr.on('data', (data) => { - const message = (data as Buffer).toString() - onLog(`${command}:stderr: ${message}`) - }) - - process.on('error', (err) => { - onError(err) - reject(err) - }) - - process.on('exit', (code) => { - if (code !== 0) { - reject(new Error(`Command failed with code ${code || 'unknown'}`)) - } else { - resolve() - } - }) - }) - } - - /** - * Executes a cli command command via `child_process.exec()` asynchronously and returns the stdout and stderr. - * `exec()` differs from `spawn()` as it buffers all of the output and returns it when the command has finished executing. - * There is a maximum size for the buffer, so this should only be used for short-lived commands. - * - * This function should be used over `executeCliCommand()` if you need to pass complex arguments to the command. - * This seems to be the case if any quotes / special characters are present in your arguments. - * For instance, a stringified JSON object can be passed as an argument to this command. - * Importing the genesis account uses this function to pass the genesis account JSON to the command because the - * double quotes in the JSON string cannot be interpreted properly using `spawn()`. - * - * Async behaviour is achieved by wrapping the `child_process.exec()` function in a promise. This function - * should be used if you need to execute a command and wait for it to complete before continuing. - * - * If the command fails, the error is thrown. Arguments should be passed in as an array - * and will be concatened with spaces when the command is executed. The datadir of the node is - * automatically to the end of the command. - * - * ```ts - * try { - * // executes `ironfish status --all --datadir ` - * const { stdout, stderr } = await node.executeCliCommandAsync('status', ['--all']) - * } catch (e) { - * const error = e as ExecException - * // handle error - * } - *``` - * @param command The ironfish cli command to execute - * @param args The arguments for the command - * @throws an `ExecException` if the command fails - * @returns a promise containing the stdout and stderr output of the command - */ - async executeCliCommandWithExec( - command: string, - args?: string[], - ): Promise<{ stdout: string; stderr: string }> { - const execWithPromise = promisify(exec) - - if (!args) { - args = [] - } - - args.push('--datadir', this.config.dataDir) - - const cmdString = rootCmd + ' ' + command + ' ' + args.join(' ') - - this.logger.log(`executing cli command (exec): ${cmdString}`) - - return execWithPromise(cmdString) - } -} - -/** - * Public function to stop a node - * - * // TODO: This is because you cannot access the actual SimulationNode object with the - * running node/miner procs from other cli commands. After an HTTP server is added to the simulation, - * this should be removed and the stop function should be called directly on the SimulationNode object. - */ -export async function stopSimulationNode(node: { - nodeName: string - dataDir: string - rpcTcpHost: string - rpcTcpPort: number -}): Promise<{ success: boolean; msg: string }> { - const client = new RpcTcpClient(node.rpcTcpHost, node.rpcTcpPort) - - try { - const connectSuccess = await client.tryConnect() - if (!connectSuccess) { - throw new Error(`failed to connect to node ${node.nodeName}`) - } - } catch (e) { - globalLogger.log(`error creating client to connect to node ${node.nodeName}: ${String(e)}`) - } - - let success = true - let msg = '' - - try { - await client.node.stopNode() - } catch (error) { - if (error instanceof Error) { - msg = error.message - } else { - msg = String(error) - } - success = false - } - - return { success, msg } -} diff --git a/simulator/src/simulator/simulator.ts b/simulator/src/simulator/simulator.ts deleted file mode 100644 index 7de73a0536..0000000000 --- a/simulator/src/simulator/simulator.ts +++ /dev/null @@ -1,300 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { ConfigOptions, Logger } from '@ironfish/sdk' -import { randomUUID } from 'crypto' -import { mkdirSync, rmSync } from 'fs' -import { homedir } from 'os' -import { exit } from 'process' -import { ErrorEvent, ExitEvent, LogEvent, logEventToString } from './events' -import { SECOND, sleep } from './misc' -import { - OptionalSimulationNodeConfig, - SimulationNode, - SimulationNodeConfig, -} from './simulation-node' -import { getNodeMemoryStatus } from './utils/status' -/** - * The simulator orchestrates the running simulation. - * It owns all the nodes and can start and stop them. - * It can also provide statistics about the network or the nodes themselves. - */ -export class Simulator { - logger: Logger - - /** The ID of the simulation */ - simulationID = randomUUID() - - /** Map of all running nodes from node name to SimulationNode */ - nodes: Map = new Map() - - /** Whether the simulator is currently running */ - running = false - - /** Whether to persist the data directories of the nodes after simulator shutdown */ - persistNodeDataDirs = false - - /** Log all node event to the logger by default */ - verboseLogging = false - - /** Set of all data directories of the spawned nodes */ - dataDirs: Set = new Set() - - basePeerPort = 7000 - baseRpcHttpPort = 8000 - baseRpcTcpPort = 9000 - - /** The node that will be used to bootstrap the network. - * This is currently the first node started by the Simulator. - */ - bootstrapNode: string | undefined = undefined - - /** Number of nodes that have been started */ - nodeCount = 0 - - constructor( - logger: Logger, - options?: { persist?: boolean; duration?: number; verboseLogging?: boolean }, - ) { - this.logger = logger - this.logger.withTag('simulator') - - this.running = true - this.verboseLogging = !!options?.verboseLogging - this.persistNodeDataDirs = !!options?.persist - - if (options?.duration !== undefined) { - const duration = options.duration - this.logger.log(`this simulation will run for ${duration} seconds`) - const exitTimeout = setTimeout(() => { - this.logger.log(`simulator exiting after ${duration} seconds`) - clearTimeout(exitTimeout) - this.exit() - }, options.duration * SECOND) - } - - mkdirSync(`${homedir()}/.ironfish-simulator/simulations/${this.simulationID}`, { - recursive: true, - }) - - this.logger.log(`created sim directory at ${this.tmpdir()}`) - - process.on('SIGINT' || 'SIGKILL', (event) => { - this.logger.log(`simulator handled ${event.toString()}`) - this.exit(1) - }) - } - - /** - * Adds a simulation node to the network. - * - * This node runs in a separate process and is killed when the simulator is shut down. - * - * @param config config of node to add to the orchestrator - */ - async startNode(options?: { - cfg?: Partial - onLog?: ((l: LogEvent) => void | Promise)[] - onExit?: ((e: ExitEvent) => void | Promise)[] - onError?: ((c: ErrorEvent) => void | Promise)[] - }): Promise { - this.nodeCount += 1 - if (this.verboseLogging) { - options = { - ...options, - onLog: [ - ...(options?.onLog || []), - (l) => { - const log = logEventToString(l) - if (log) { - this.logger.log(log) - } - }, - ], - } - } - - // Only log tags that the user chooses to log - // TODO: this is a bit hacky, if the user creates new log handlers after node creation they won't be filtered - if (options?.cfg?.logTags) { - const toLog = options?.cfg?.logTags - const filteredOnLogs = [] - - for (const onLog of options?.onLog || []) { - const filtered = (l: LogEvent) => { - const tags = l.jsonMessage?.tag.split(':') - const includes = tags?.some((t) => toLog.includes(t)) - - if (includes) { - return onLog(l) - } - } - - filteredOnLogs.push(filtered) - } - - options.onLog = filteredOnLogs - } - - const nodeConfig = this.fillConfig(options?.cfg ?? {}) - - this.logger.log('Starting node', { cfg: JSON.stringify(nodeConfig) }) - const node = await SimulationNode.init(nodeConfig, this.logger, { - ...options, - }) - - this.nodes.set(nodeConfig.nodeName, node) - this.dataDirs.add(nodeConfig.dataDir) - return node - } - - /** - * Stops a node and removes it from the network. - * @param nodeName name of node to stop - * @returns success of stopping the node, and attached message - */ - async stopNode(nodeName: string): Promise<{ success: boolean; msg: string }> { - const node = this.nodes.get(nodeName) - if (!node) { - throw new Error(`Node ${nodeName} is not running`) - } - - const { success, msg } = await node.stop() - if (!success) { - throw new Error(msg) - } - - this.nodes.delete(nodeName) - - return { success, msg } - } - - /** - * Starts a loop that checks the memory usage of all nodes. - * Currently, the statistics are only logged to the console, but in the future - * will be used to populate graphs or for watermark tests. - * - * @param durationMs duration between memory checks - */ - async startMemoryUsageLoop(durationMs: number): Promise { - while (this.running) { - await sleep(durationMs) - - this.logger.log(`[memory] checking memory usage`) - for (const node of this.nodes.values()) { - const memory = await getNodeMemoryStatus(node, true) - this.logger.log(`[${node.config.nodeName}]`, { memoryStatus: JSON.stringify(memory) }) - } - } - } - - /** - * Unexpected process exit handler. - * This deletes all data directories, kills all nodes, and exits the Simulator process. - */ - public exit(code = 0): void { - this.nodes.forEach((node) => node.kill()) - this.deleteDataDirs() - this.logger.log('exiting...') - exit(code) - } - - /** - * Wait for all nodes to shutdown. - * - * Currently nodes can only be remotely shut down via the `simulator stop` command. - */ - async waitForShutdown(): Promise { - this.logger.log('simulator waiting for shutdown...') - - await Promise.all(Array.from(this.nodes.values()).map((node) => node.waitForShutdown())) - - return this.cleanup() - } - - /** - * Cleans up the simulator. - */ - private async cleanup(): Promise { - this.running = false - - // Wait for any running loops to stop - await sleep(3 * SECOND) - - this.deleteDataDirs() - this.nodes.clear() - } - - /** - * Deletes the data directories of all nodes used in the simulation. - * This is only called when the simulator is shutting down, and is not called - * when a node is stopped. Data directories can be persisted by passing the - * `--persist` flag to the simulator. - */ - public deleteDataDirs(): void { - if (!this.persistNodeDataDirs) { - this.logger.log('cleaning up data dirs') - this.dataDirs.forEach((dir) => { - if (dir[0] === '~') { - dir = dir.replace('~', process.env.HOME || homedir()) - } - this.logger.log(`removing data dir: ${dir}`) - rmSync(dir, { recursive: true, force: true }) - }) - } - } - - /** - * Fills in any missing config options that are required for the simulation node to start - * - * @param config Optional config set by the user - * @returns Config with required defaults filled in - */ - fillConfig( - config?: Partial, - ): SimulationNodeConfig { - if (!config) { - config = {} - } - - config.nodeName = config.nodeName || `node-${randomUUID().slice(0, 4)}` - - // The first node to be started will be the bootstrap node. - // TODO: Allow multiple bootstrap nodes - if (!config.bootstrapNodes) { - config.bootstrapNodes = [] - if (this.bootstrapNode) { - config.bootstrapNodes.push(`${this.bootstrapNode}`) - } else { - config.bootstrapNodes.push("''") - this.bootstrapNode = `localhost:${config.peerPort || this.basePeerPort + 1}` - } - } - - return { - nodeName: config.nodeName, - blockGraffiti: config.blockGraffiti || config.nodeName, - peerPort: config.peerPort || this.basePeerPort + this.nodeCount, - networkId: config.networkId || 2, - rpcTcpHost: config.rpcTcpHost || 'localhost', - rpcTcpPort: config.rpcTcpPort || this.baseRpcTcpPort + this.nodeCount, - rpcHttpHost: config.rpcHttpHost || 'localhost', - rpcHttpPort: config.rpcHttpPort || this.baseRpcHttpPort + this.nodeCount, - bootstrapNodes: config.bootstrapNodes, - dataDir: config.dataDir || `~/.ironfish-simulator/${config.nodeName}`, - verbose: config.verbose || false, - importGenesisAccount: config.importGenesisAccount || true, - ...config, - } - } - - /** - * Returns the path to the temporary directory for this simulation. This path can be used to store - * temporary files related to the simulation, including any user or simulation generated files. - * - * @returns the path to the temporary directory for this simulation - */ - public tmpdir(): string { - return `${homedir()}/.ironfish-simulator/simulations/${this.simulationID}` - } -} diff --git a/simulator/src/simulator/utils/accounts.ts b/simulator/src/simulator/utils/accounts.ts deleted file mode 100644 index ffac340b6b..0000000000 --- a/simulator/src/simulator/utils/accounts.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { SimulationNode } from '../simulation-node' - -/** - * Imports an account on a node. This is done via `wallet:import`, so the account must be either the - * copy-pasted output of `wallet:export` or a raw spending key. - * - * @param node The node to import the account on - * @param account The account to import, in the form of a string blob - * @param rescan Whether to explicitly rescan the blockchain for transactions involving the account - */ -export async function importAccount( - node: SimulationNode, - account: string, - rescan?: boolean, -): Promise { - await node.executeCliCommandWithExec('wallet:import', [account]) - - if (rescan) { - await node.client.wallet.rescanAccountStream().waitForEnd() - } -} diff --git a/simulator/src/simulator/utils/index.ts b/simulator/src/simulator/utils/index.ts deleted file mode 100644 index 570b7dcd05..0000000000 --- a/simulator/src/simulator/utils/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -export * from './accounts' -export * from './status' -export * from './transactions' diff --git a/simulator/src/simulator/utils/status.ts b/simulator/src/simulator/utils/status.ts deleted file mode 100644 index 31b3ddfafe..0000000000 --- a/simulator/src/simulator/utils/status.ts +++ /dev/null @@ -1,68 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -import { FileUtils, GetNodeStatusResponse } from '@ironfish/sdk' -import { SimulationNode } from '../simulation-node' - -/** - * Gets the status of a node via the `getNodeStatus` RPC call - * @param node node to get status of - * @returns status of node - */ -export async function getNodeStatus(node: SimulationNode): Promise { - const resp = await node.client.node.getStatus() - - return resp.content -} - -/** - * Gets the memory status of a node - * - * @param node node to get memory status of - * @param format whether to format the memory size to a readable string - * @returns memory status of node - */ -export async function getNodeMemoryStatus( - node: SimulationNode, - format = false, -): Promise< - | { - heapMax: number - heapTotal: number - heapUsed: number - rss: number - memFree: number - memTotal: number - } - | { - heapMax: string - heapTotal: string - heapUsed: string - rss: string - memFree: string - memTotal: string - } -> { - const { memory } = await getNodeStatus(node) - - if (!format) { - return memory - } - - const heapMax = FileUtils.formatMemorySize(memory.heapMax) - const heapTotal = FileUtils.formatMemorySize(memory.heapTotal) - const heapUsed = FileUtils.formatMemorySize(memory.heapUsed) - const rss = FileUtils.formatMemorySize(memory.rss) - const memFree = FileUtils.formatMemorySize(memory.memFree) - const memTotal = FileUtils.formatMemorySize(memory.memTotal) - - return { - heapMax, - heapTotal, - heapUsed, - rss, - memFree, - memTotal, - } -} diff --git a/simulator/src/simulator/utils/transactions.ts b/simulator/src/simulator/utils/transactions.ts deleted file mode 100644 index 4b05bfd85d..0000000000 --- a/simulator/src/simulator/utils/transactions.ts +++ /dev/null @@ -1,73 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -import { Asset, isValidPublicAddress } from '@ironfish/rust-nodejs' -import { Transaction } from '@ironfish/sdk' -import { SimulationNode } from '../simulation-node' - -/** - * Gets the default account on a node. - */ -async function getDefaultAccount(node: SimulationNode): Promise { - const resp = await node.client.wallet.getDefaultAccount() - - if (resp.content.account === undefined || resp.content.account?.name === undefined) { - throw new Error('default account not found') - } - - return resp.content.account.name -} - -/** - * Sends a transaction from one node to another using the sendTransaction RPC call. - * Currently, it will use the default accounts on each node. - * - * Specifying specific accounts will be supported in the future. - */ -export async function sendTransaction( - from: SimulationNode, - to: SimulationNode, - fee: number, - amount: number, - memo?: string, - assetId?: string, - options?: { - expiration?: number | null - expirationDelta?: number | null - confirmations?: number | null - }, -): Promise<{ transaction: Transaction; hash: string }> { - const fromAccount = await getDefaultAccount(from) - const toAccount = await getDefaultAccount(to) - - const resp = await to.client.wallet.getAccountPublicKey({ account: toAccount }) - - const toPublicKey = resp.content.publicKey - if (toPublicKey === undefined) { - throw new Error(`public key for ${toAccount} is undefined`) - } - - if (!isValidPublicAddress(toPublicKey)) { - throw new Error('invalid public key for to account') - } - - const txn = await from.client.wallet.sendTransaction({ - account: fromAccount, - outputs: [ - { - publicAddress: toPublicKey, - amount: amount.toString(), - memo: memo || 'default memo', - assetId: assetId || Asset.nativeId().toString('hex'), - }, - ], - fee: BigInt(fee).toString(), - ...options, - }) - - const transaction = new Transaction(Buffer.from(txn.content.transaction, 'hex')) - return { - transaction, - hash: txn.content.hash, - } -} diff --git a/simulator/tsconfig.eslint.json b/simulator/tsconfig.eslint.json deleted file mode 100644 index 71cce3ca8a..0000000000 --- a/simulator/tsconfig.eslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "./tsconfig.json", -} diff --git a/simulator/tsconfig.json b/simulator/tsconfig.json deleted file mode 100644 index 93681c7518..0000000000 --- a/simulator/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../config/tsconfig.base.json", - "compilerOptions": { - "outDir": "build", - "rootDir": "./", - "tsBuildInfoFile": "./build/tsconfig.tsbuildinfo" - }, - "include": ["src", "./package.json"], - "references": [{ "path": "../ironfish" }] -} diff --git a/simulator/tsconfig.test.json b/simulator/tsconfig.test.json deleted file mode 100644 index 33d207ff42..0000000000 --- a/simulator/tsconfig.test.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../config/tsconfig.base.json", - "compilerOptions": { - "noEmit": true - }, - "include": [], - "references": [{ "path": "../ironfish" }] -} diff --git a/tools/version-bump.js b/tools/version-bump.js index 86b1b9703b..f71394e06e 100644 --- a/tools/version-bump.js +++ b/tools/version-bump.js @@ -1,10 +1,10 @@ /** * Bumps the patch version of npm packages, and updates the dependencies of other npm * packages to use the new version. - * + * * Does not bump the Rust version by default -- call `node version-bump.js rust` to bump * the Rust package version. - * + * * Flags: * rust - Bumps the @ironfish/rust-nodejs package version. */ @@ -15,7 +15,6 @@ const path = require('path') const CLI_PACKAGE = path.join(__dirname, '../ironfish-cli/package.json') const NODE_PACKAGE = path.join(__dirname, '../ironfish/package.json') const RUST_PACKAGE = path.join(__dirname, '../ironfish-rust-nodejs/package.json') -const SIMULATOR_PACKAGE = path.join(__dirname, '../simulator/package.json') const shouldBumpIronfishRust = process.argv.find((a) => a.includes('rust')) const isPatchRelease = process.argv.find((a) => a.includes('patch')) @@ -63,13 +62,13 @@ const readPackage = async (path) => { console.log(`Error reading ${path}: ${err}`); throw err } - + return JSON.parse(data) } const writePackage = async (path, package) => { const toWrite = JSON.stringify(package, null, 2) + '\n' - + try { await fs.writeFile(path, toWrite, 'utf8') } catch (err) { @@ -86,42 +85,39 @@ const getDirectories = async source => const bumpNodeAndCliPackage = async (shouldBumpRust) => { const nodePackage = await readPackage(NODE_PACKAGE) const cliPackage = await readPackage(CLI_PACKAGE) - const simulatorPackage = await readPackage(SIMULATOR_PACKAGE) - + // Bump node package and packages that depend on it const newNodeVersion = bumpVersion(nodePackage.version) nodePackage.version = newNodeVersion cliPackage.dependencies[nodePackage.name] = newNodeVersion - simulatorPackage.dependencies[nodePackage.name] = newNodeVersion // Bump the CLI cliPackage.version = bumpVersion(cliPackage.version) - + writePackage(NODE_PACKAGE, nodePackage) writePackage(CLI_PACKAGE, cliPackage) - writePackage(SIMULATOR_PACKAGE, simulatorPackage) } const bumpRustPackage = async () => { const deps = await getDirectories(path.join(__dirname, '../ironfish-rust-nodejs/npm/')) - + for (const dep of deps) { const package = path.join(__dirname, '../ironfish-rust-nodejs/npm/', dep, 'package.json') const depPackage = await readPackage(package) depPackage.version = bumpVersion(depPackage.version) await writePackage(package, depPackage) } - + const nodePackage = await readPackage(NODE_PACKAGE) const cliPackage = await readPackage(CLI_PACKAGE) const rustPackage = await readPackage(RUST_PACKAGE) - + const newRustVersion = bumpVersion(rustPackage.version) - + rustPackage.version = newRustVersion nodePackage.dependencies[rustPackage.name] = newRustVersion cliPackage.dependencies[rustPackage.name] = newRustVersion - + await writePackage(NODE_PACKAGE, nodePackage) await writePackage(CLI_PACKAGE, cliPackage) await writePackage(RUST_PACKAGE, rustPackage) @@ -132,7 +128,7 @@ const main = async () => { if (shouldBumpIronfishRust) { await bumpRustPackage() } - + await bumpNodeAndCliPackage() } diff --git a/yarn.lock b/yarn.lock index 682aa85903..8a1663c68d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,12 +2,12 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: - "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" "@aws-crypto/crc32@3.0.0": @@ -1077,327 +1077,155 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" - integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== - dependencies: - "@babel/highlight" "^7.16.0" - -"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.0.tgz#ea269d7f78deb3a7826c39a4048eecda541ebdaa" - integrity sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew== - -"@babel/compat-data@^7.20.0": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.5.tgz#86f172690b093373a933223b4745deeb6049e733" - integrity sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g== - -"@babel/core@^7.11.6": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" - integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-module-transforms" "^7.20.2" - "@babel/helpers" "^7.20.5" - "@babel/parser" "^7.20.5" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/core@^7.12.3": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" - integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helpers" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - convert-source-map "^1.7.0" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== + dependencies: + "@babel/highlight" "^7.22.13" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.9": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc" + integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== + +"@babel/core@^7.11.6", "@babel/core@^7.12.3": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" + integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helpers" "^7.23.2" + "@babel/parser" "^7.23.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" + json5 "^2.2.3" + semver "^6.3.1" -"@babel/generator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" - integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== +"@babel/generator@^7.23.0", "@babel/generator@^7.7.2": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" + integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== dependencies: - "@babel/types" "^7.16.0" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.20.5", "@babel/generator@^7.7.2": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" - integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA== - dependencies: - "@babel/types" "^7.20.5" + "@babel/types" "^7.23.0" "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.16.0": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" - integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== - dependencies: - "@babel/compat-data" "^7.16.0" - "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" - integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== - dependencies: - "@babel/compat-data" "^7.20.0" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - semver "^6.3.0" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-function-name@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" - integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== - dependencies: - "@babel/helper-get-function-arity" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== - dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" - -"@babel/helper-get-function-arity@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" - integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-hoist-variables@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" - integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" - integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-module-imports@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" - integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" - integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-simple-access" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/helper-validator-identifier" "^7.15.7" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-module-transforms@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712" - integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.1" - "@babel/types" "^7.20.2" - -"@babel/helper-optimise-call-expression@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" - integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" - integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== - -"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== - -"@babel/helper-replace-supers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" - integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/helper-simple-access@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" - integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-split-export-declaration@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" - integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-validator-identifier@^7.15.7": - version "7.15.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" - integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" - integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== - -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== - -"@babel/helpers@^7.16.0": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" - integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== - dependencies: - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.3" - "@babel/types" "^7.16.0" - -"@babel/helpers@^7.20.5": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.6.tgz#e64778046b70e04779dfbdf924e7ebb45992c763" - integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w== - dependencies: - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" - integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== - dependencies: - "@babel/helper-validator-identifier" "^7.15.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" +"@babel/helper-compilation-targets@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== + dependencies: + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.15" + browserslist "^4.21.9" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" + integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== + +"@babel/helpers@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" + integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.3.tgz#271bafcb811080905a119222edbc17909c82261d" - integrity sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw== - -"@babel/parser@^7.18.10", "@babel/parser@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8" - integrity sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -1435,11 +1263,11 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-jsx@^7.7.2": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" @@ -1491,83 +1319,51 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.7.2": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" - integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" + integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/runtime@^7.10.5": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" - integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.16.0", "@babel/template@^7.3.3": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" - integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/template@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" - integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/generator" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-hoist-variables" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/parser" "^7.16.3" - "@babel/types" "^7.16.0" + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15", "@babel/template@^7.3.3": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/traverse@^7.23.2", "@babel/traverse@^7.7.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" + integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.0" + "@babel/types" "^7.23.0" debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5", "@babel/traverse@^7.7.2": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133" - integrity sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.5" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.5" - "@babel/types" "^7.20.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" - integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== dependencies: - "@babel/helper-validator-identifier" "^7.15.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.5.tgz#e206ae370b5393d94dfd1d04cd687cace53efa84" - integrity sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -1933,6 +1729,13 @@ dependencies: "@sinclair/typebox" "^0.27.8" +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + "@jest/source-map@^29.2.0": version "29.2.0" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.2.0.tgz#ab3420c46d42508dcc3dc1c6deee0b613c235744" @@ -2033,6 +1836,27 @@ slash "^3.0.0" write-file-atomic "^4.0.2" +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + "@jest/types@29.5.0": version "29.5.0" resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.5.0.tgz#f59ef9b031ced83047c67032700d8c807d6e1593" @@ -2069,13 +1893,26 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: - "@jridgewell/set-array" "^1.0.0" + "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/gen-mapping@^0.3.2": version "0.3.2" @@ -2091,12 +1928,12 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== -"@jridgewell/resolve-uri@^3.0.3": +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": version "3.1.1" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": +"@jridgewell/set-array@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== @@ -2106,6 +1943,11 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + "@jridgewell/trace-mapping@0.3.9": version "0.3.9" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" @@ -2122,6 +1964,14 @@ "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" +"@jridgewell/trace-mapping@^0.3.17": + version "0.3.20" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" + integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@jridgewell/trace-mapping@^0.3.18": version "0.3.18" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" @@ -3733,37 +3583,37 @@ integrity sha512-+jA1XXF3jsz+Z7FcuiNqgK53hTa/luglT2TyTpKPqoYbxVY+mCPF22Rm+q3KPBrMHJwNXFrTViHszBOfU4vftQ== "@types/babel__core@^7.1.14": - version "7.1.20" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" - integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ== + version "7.20.3" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.3.tgz#d5625a50b6f18244425a1359a858c73d70340778" + integrity sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA== dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" "@types/babel__generator" "*" "@types/babel__template" "*" "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" - integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== + version "7.6.6" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.6.tgz#676f89f67dc8ddaae923f70ebc5f1fa800c031a8" + integrity sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + version "7.4.3" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.3.tgz#db9ac539a2fe05cfe9e168b24f360701bde41f5f" + integrity sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + version "7.20.3" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.3.tgz#a971aa47441b28ef17884ff945d0551265a2d058" + integrity sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw== dependencies: - "@babel/types" "^7.3.0" + "@babel/types" "^7.20.7" "@types/blessed@0.1.17": version "0.1.17" @@ -4408,11 +4258,6 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-sequence-parser@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.0.tgz#4d790f31236ac20366b23b3916b789e1bde39aed" - integrity sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ== - ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -4607,28 +4452,15 @@ axios@0.21.4, axios@^1.0.0: dependencies: follow-redirects "^1.14.0" -babel-jest@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.3.1.tgz#05c83e0d128cd48c453eea851482a38782249f44" - integrity sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA== +babel-jest@^29.3.1, babel-jest@^29.6.1: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== dependencies: - "@jest/transform" "^29.3.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.2.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-jest@^29.6.1: - version "29.6.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.6.1.tgz#a7141ad1ed5ec50238f3cd36127636823111233a" - integrity sha512-qu+3bdPEQC6KZSPz+4Fyjbga5OODNcp49j6GKzG1EKbkfyJBxEYGVUmVGpwCSeGouG52R4EgYMLb6p9YeEEQ4A== - dependencies: - "@jest/transform" "^29.6.1" + "@jest/transform" "^29.7.0" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.5.0" + babel-preset-jest "^29.6.3" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -4644,20 +4476,10 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz#23ee99c37390a98cfddf3ef4a78674180d823094" - integrity sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-jest-hoist@^29.5.0: - version "29.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz#a97db437936f441ec196990c9738d4b88538618a" - integrity sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w== +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -4682,20 +4504,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz#3048bea3a1af222e3505e4a767a974c95a7620dc" - integrity sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA== +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== dependencies: - babel-plugin-jest-hoist "^29.2.0" - babel-preset-current-node-syntax "^1.0.0" - -babel-preset-jest@^29.5.0: - version "29.5.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz#57bc8cc88097af7ff6a5ab59d1cd29d52a5916e2" - integrity sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg== - dependencies: - babel-plugin-jest-hoist "^29.5.0" + babel-plugin-jest-hoist "^29.6.3" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -4788,26 +4602,15 @@ braces@^3.0.1: dependencies: fill-range "^7.0.1" -browserslist@^4.17.5: - version "4.18.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" - integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== - dependencies: - caniuse-lite "^1.0.30001280" - electron-to-chromium "^1.3.896" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" - -browserslist@^4.21.3: - version "4.21.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== +browserslist@^4.21.9: + version "4.22.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" + integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" + node-releases "^2.0.13" + update-browserslist-db "^1.0.13" bs-logger@0.x: version "0.2.6" @@ -4993,15 +4796,10 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001280: - version "1.0.30001280" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001280.tgz#066a506046ba4be34cde5f74a08db7a396718fb7" - integrity sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA== - -caniuse-lite@^1.0.30001400: - version "1.0.30001436" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001436.tgz#22d7cbdbbbb60cdc4ca1030ccd6dea9f5de4848b" - integrity sha512-ZmWkKsnC2ifEPoWUvSAIGyOYwT+keAaaWPHiQ9DfMqS1t6tfuyFYoWR78TeZtznkEQ64+vGXH9cZrElwR2Mrxg== +caniuse-lite@^1.0.30001541: + version "1.0.30001561" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz#752f21f56f96f1b1a52e97aae98c57c562d5d9da" + integrity sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw== cardinal@^2.1.1: version "2.1.1" @@ -5023,7 +4821,7 @@ chai@4.2.0: pathval "^1.1.0" type-detect "^4.0.5" -chalk@4.1.2, chalk@^4, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: +chalk@4.1.2, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -5042,7 +4840,7 @@ chalk@^1.0.0: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.4.1: +chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -5446,7 +5244,7 @@ conventional-recommended-bump@^6.1.0: meow "^8.0.0" q "^1.5.1" -convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.6.0: version "1.8.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== @@ -5770,15 +5568,10 @@ ejs@^3.1.6, ejs@^3.1.7, ejs@^3.1.8: dependencies: jake "^10.8.5" -electron-to-chromium@^1.3.896: - version "1.3.899" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.899.tgz#4d7d040e73def3d5f5bd6b8a21049025dce6fce0" - integrity sha512-w16Dtd2zl7VZ4N4Db+FIa7n36sgPGCKjrKvUUmp5ialsikvcQLjcJR9RWnlYNxIyEHLdHaoIZEqKsPxU9MdyBg== - -electron-to-chromium@^1.4.251: - version "1.4.284" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" - integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== +electron-to-chromium@^1.4.535: + version "1.4.576" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.576.tgz#0c6940fdc0d60f7e34bd742b29d8fa847c9294d1" + integrity sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA== emittery@^0.13.1: version "0.13.1" @@ -7769,6 +7562,25 @@ jest-haste-map@^29.6.1: optionalDependencies: fsevents "^2.3.2" +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + jest-jasmine2@29.3.1: version "29.3.1" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-29.3.1.tgz#15544cce47a3ad7de1beb6ae9b644d091c0092cb" @@ -7891,6 +7703,11 @@ jest-regex-util@^29.4.3: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.4.3.tgz#a42616141e0cae052cfa32c169945d00c0aa0bb8" integrity sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg== +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + jest-resolve-dependencies@^29.3.1: version "29.3.1" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz#a6a329708a128e68d67c49f38678a4a4a914c3bf" @@ -8128,6 +7945,18 @@ jest-util@^29.6.1: graceful-fs "^4.2.9" picomatch "^2.2.3" +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + jest-validate@^29.3.1: version "29.3.1" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.3.1.tgz#d56fefaa2e7d1fde3ecdc973c7f7f8f25eea704a" @@ -8200,6 +8029,16 @@ jest-worker@^29.6.1: merge-stream "^2.0.0" supports-color "^8.0.0" +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@29.3.1: version "29.3.1" resolved "https://registry.yarnpkg.com/jest/-/jest-29.3.1.tgz#c130c0d551ae6b5459b8963747fed392ddbde122" @@ -8300,12 +8139,12 @@ json5@^1.0.1, json5@^1.0.2: dependencies: minimist "^1.2.0" -json5@^2.1.2, json5@^2.2.1, json5@^2.2.2: +json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -jsonc-parser@3.2.0, jsonc-parser@^3.2.0: +jsonc-parser@3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== @@ -8614,6 +8453,13 @@ loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -8631,11 +8477,6 @@ lru-cache@^7.5.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.7.1.tgz#03d2846b1ad2dcc7931a9340b8711d9798fcb0c6" integrity sha512-cRffBiTW8s73eH4aTXqBcTLU0xQnwGV3/imttRHGWCrbergmnK4D6JXQd8qin5z43HnDwRI+o7mVW0LEB+tpAw== -lunr@^2.3.9: - version "2.3.9" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" - integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== - make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -8744,11 +8585,6 @@ map-stream@~0.1.0: resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= -marked@^4.2.12: - version "4.3.0" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" - integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== - "mem-fs-editor@^8.1.2 || ^9.0.0": version "9.4.0" resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-9.4.0.tgz#0cc1cf61350e33c25fc364c97fb0551eb32b8c9b" @@ -8846,13 +8682,6 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" -minimatch@^7.1.3: - version "7.4.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.3.tgz#012cbf110a65134bb354ae9773b55256cdb045a2" - integrity sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A== - dependencies: - brace-expansion "^2.0.1" - minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -9092,10 +8921,10 @@ node-cleanup@^2.1.2: resolved "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz#7ac19abd297e09a7f72a71545d951b517e4dde2c" integrity sha1-esGavSl+Caf3KnFUXZUbUX5N3iw= -node-datachannel@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-datachannel/-/node-datachannel-0.4.0.tgz#cd237cbc121221f5f6342cbf2226120dda6dc52f" - integrity sha512-4ljypzRaWfM7bLtd4fpQaE4u+bAg5d8wPADycY60RfaZLoxVjcHk+Hsg+gtyyxNIeG6Cdtp3iDN+DUGAAjeVuw== +node-datachannel@0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/node-datachannel/-/node-datachannel-0.4.3.tgz#56a18cc62df4727f4483309b7b0bb86d5173ba27" + integrity sha512-I2SYzgqNd5gX8B+hQcff0qpGGwNiHZnXJNgsFyW0UXk1A3fbC/4L1PhSKGSuc7z0+Bk3raMN939E0KroJ5CJhA== dependencies: prebuild-install "^7.0.1" @@ -9177,15 +9006,10 @@ node-notifier@8.0.1: uuid "^8.3.0" which "^2.0.2" -node-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" - integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== - -node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== nopt@^5.0.0: version "5.0.0" @@ -10308,10 +10132,10 @@ redeyed@~2.1.0: dependencies: esprima "~4.0.0" -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== regexp.prototype.flags@^1.3.1: version "1.3.1" @@ -10501,6 +10325,11 @@ semver@^6.0.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + semver@^7.0.0, semver@^7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" @@ -10572,16 +10401,6 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== -shiki@^0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.1.tgz#9fbe082d0a8aa2ad63df4fbf2ee11ec924aa7ee1" - integrity sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw== - dependencies: - ansi-sequence-parser "^1.1.0" - jsonc-parser "^3.2.0" - vscode-oniguruma "^1.7.0" - vscode-textmate "^8.0.0" - side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -10704,11 +10523,6 @@ source-map-support@0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -11397,16 +11211,6 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typedoc@0.23.28: - version "0.23.28" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.23.28.tgz#3ce9c36ef1c273fa849d2dea18651855100d3ccd" - integrity sha512-9x1+hZWTHEQcGoP7qFmlo4unUoVJLB0H/8vfO/7wqTnZxg4kPuji9y3uRzEu0ZKez63OJAUmiGhUrtukC6Uj3w== - dependencies: - lunr "^2.3.9" - marked "^4.2.12" - minimatch "^7.1.3" - shiki "^0.14.1" - typescript@4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc" @@ -11495,10 +11299,10 @@ upath@^2.0.1: resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== -update-browserslist-db@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -11604,16 +11408,6 @@ vinyl@^2.0.1: remove-trailing-separator "^1.0.1" replace-ext "^1.0.0" -vscode-oniguruma@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" - integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== - -vscode-textmate@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" - integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== - walk-up-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" @@ -11821,6 +11615,11 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"