diff --git a/package.json b/package.json index 30fad8f..ab62c05 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,6 @@ "version": "0.1.0", "private": true, "devDependencies": { - "chai": "^4.3.4", "prettier": "^2.7.1", "ts-loader": "^9.2.4", "tsc-alias": "^1.7.0", @@ -13,10 +12,11 @@ "workspaces": [ "zp-memo-parser", "zp-relayer", - "test-e2e" + "test-e2e", + "test-flow-generator" ], "scripts": { - "initialize": "yarn install --unsafe-perm --frozen-lockfile", + "initialize": "yarn install --frozen-lockfile && yarn build:memo", "build:relayer": "yarn workspace zp-relayer run build", "build:memo": "yarn workspace zp-memo-parser run build", "prettier": "npx prettier --write ." diff --git a/test-flow-generator/.gitignore b/test-flow-generator/.gitignore new file mode 100644 index 0000000..75fab36 --- /dev/null +++ b/test-flow-generator/.gitignore @@ -0,0 +1 @@ +flows \ No newline at end of file diff --git a/test-flow-generator/README.md b/test-flow-generator/README.md new file mode 100644 index 0000000..c902d5d --- /dev/null +++ b/test-flow-generator/README.md @@ -0,0 +1,7 @@ +# Test flow generation tool + +This tool allows you to describe a test flow via json: +1. Install dependencies. Run `yarn` +2. Describe a `Flow` object (structure can be found in `src/types.ts`) in a json and place it into `test-flows` folder +3. Run `./scripts/generate.sh` +4. Find your flow in `flows` directory \ No newline at end of file diff --git a/test-flow-generator/index.html b/test-flow-generator/index.html new file mode 100644 index 0000000..fa985f6 --- /dev/null +++ b/test-flow-generator/index.html @@ -0,0 +1,13 @@ + + + + Test + + + + +
+ + + + diff --git a/test-flow-generator/package.json b/test-flow-generator/package.json new file mode 100644 index 0000000..4f3b6b4 --- /dev/null +++ b/test-flow-generator/package.json @@ -0,0 +1,21 @@ +{ + "name": "test-flow-generator", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "scripts": { + "build:dev": "webpack --mode=development" + }, + "dependencies": { + "@metamask/eth-sig-util": "^4.0.1", + "http-server": "14.1.1", + "libzkbob-rs-node": "0.1.27", + "libzkbob-rs-wasm-web": "^0.7.0", + "node-polyfill-webpack-plugin": "^1.1.4", + "puppeteer": "^19.2.0", + "web3-utils": "1.8.0", + "webpack": "^5.46.0", + "webpack-cli": "^4.10.0", + "zp-memo-parser": "link:../zp-memo-parser" + } +} diff --git a/test-flow-generator/scripts/generate.sh b/test-flow-generator/scripts/generate.sh new file mode 100755 index 0000000..4945ee0 --- /dev/null +++ b/test-flow-generator/scripts/generate.sh @@ -0,0 +1,2 @@ +yarn build:dev +node src/index.js \ No newline at end of file diff --git a/test-flow-generator/src/EIP712.ts b/test-flow-generator/src/EIP712.ts new file mode 100644 index 0000000..f4bbf0b --- /dev/null +++ b/test-flow-generator/src/EIP712.ts @@ -0,0 +1,60 @@ +import { signTypedData, SignTypedDataVersion } from '@metamask/eth-sig-util' +import { config } from './config' + +interface EIP712Domain { + name: string + version: string + chainId: number + verifyingContract: string +} + +const domain: EIP712Domain = { + name: 'BOB', + version: '1', + chainId: config.chainId, + verifyingContract: config.tokenAddress, +} + +const PERMIT: 'Permit' = 'Permit' + +const types = { + EIP712Domain: [ + { name: 'name', type: 'string' }, + { name: 'version', type: 'string' }, + { name: 'chainId', type: 'uint256' }, + { name: 'verifyingContract', type: 'address' }, + ], + [PERMIT]: [ + { name: 'owner', type: 'address' }, + { name: 'spender', type: 'address' }, + { name: 'value', type: 'uint256' }, + { name: 'nonce', type: 'uint256' }, + { name: 'deadline', type: 'uint256' }, + { name: 'salt', type: 'bytes32' }, + ], +} + +interface SaltedPermitMessage { + owner: string + spender: string + value: string + nonce: string + deadline: string + salt: string +} + +export function createSignature(message: SaltedPermitMessage, privateKey: string) { + const data = { + types, + primaryType: PERMIT, + domain, + message: message as Record, + } + const signature = signTypedData({ + data, + version: SignTypedDataVersion.V4, + privateKey: Buffer.from(privateKey.slice(2), 'hex'), + }) + + return signature +} diff --git a/test-flow-generator/src/config.ts b/test-flow-generator/src/config.ts new file mode 100644 index 0000000..6470424 --- /dev/null +++ b/test-flow-generator/src/config.ts @@ -0,0 +1,5 @@ +export const config = { + tokenAddress: '0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab', + poolAddress: '0xe982E462b094850F12AF94d21D470e21bE9D0E9C', + chainId: 31337, +} diff --git a/test-flow-generator/src/generate.ts b/test-flow-generator/src/generate.ts new file mode 100644 index 0000000..95e95a4 --- /dev/null +++ b/test-flow-generator/src/generate.ts @@ -0,0 +1,117 @@ +import init, { TransactionData, UserAccount, UserState } from 'libzkbob-rs-wasm-web' +import { toChecksumAddress } from 'web3-utils' +import type { BaseOutputItem, Flow, FlowOutput } from './types' +import { ethAddrToBuf, packSignature, toTwosComplementHex } from './helpers' +import { createSignature } from './EIP712' +import { config } from './config' +import { TxType } from 'zp-memo-parser' + +const TEN_YEARS = 315569520 +const denominator = 1000000000n + +export async function newAccount() { + const sk = Array.from({ length: 10 }, () => Math.floor(Math.random() * 100)) + const stateId = sk.toString() + const state = await UserState.init(stateId) + const zkAccount = UserAccount.fromSeed(Uint8Array.from(sk), state) + return zkAccount +} + +async function createDepositPermittable( + acc: UserAccount, + amount: string, + from: string +): Promise<[TransactionData, string]> { + const deadline = String(Math.floor(Date.now() / 1000) + TEN_YEARS) + const tx = await acc.createDepositPermittable({ + fee: '0', + amount, + deadline, + holder: ethAddrToBuf(from), + }) + + return [tx, deadline] +} + +async function createTransfer(acc: UserAccount, amount: string, zkAddress: string) { + const tx = await acc.createTransfer({ + fee: '0', + outputs: [{ amount, to: zkAddress }], + }) + + return tx +} + +async function createWithdraw(acc: UserAccount, amount: string, to: string) { + const tx = await acc.createWithdraw({ + fee: '0', + amount, + to: ethAddrToBuf(to), + native_amount: '0', + energy_amount: '0', + }) + + return tx +} + +async function createFlow({ independent, accounts, flow }: Flow): Promise { + const flowOutput: FlowOutput = [] + const nonces: Record = {} + let acc = await newAccount() + for (let [i, item] of flow.entries()) { + let tx + let txType: TxType + let txSpecificOutput: any = { depositSignature: null } + if ('from' in item) { + txType = TxType.PERMITTABLE_DEPOSIT + const [depositTx, deadline] = await createDepositPermittable(acc, item.amount, item.from) + const nonce = nonces[item.from] || 0 + const salt = '0x' + toTwosComplementHex(BigInt(depositTx.public.nullifier), 32) + const depositSignature = packSignature( + createSignature( + { + owner: toChecksumAddress(item.from), + spender: toChecksumAddress(config.poolAddress), + value: (BigInt(parseInt(item.amount)) * denominator).toString(10), + nonce: nonce.toString(), + deadline, + salt, + }, + accounts[item.from] + ) + ) + nonces[item.from] = nonce + 1 + tx = depositTx + txSpecificOutput = { depositSignature, deadline } + } else if ('to' in item) { + txType = TxType.WITHDRAWAL + tx = await createWithdraw(acc, item.amount, item.to) + } else if ('zkAddress' in item) { + txType = TxType.TRANSFER + tx = await createTransfer(acc, item.amount, item.zkAddress) + } else { + throw Error('Unknown flow item') + } + + if (independent) { + acc = await newAccount() + } else { + acc.addAccount(BigInt(i) * 128n, tx.out_hashes, tx.secret.tx.output[0], []) + } + + // @ts-ignore + flowOutput.push({ + txType, + txTypeData: item, + transactionData: tx, + ...txSpecificOutput, + }) + } + return flowOutput +} + +Object.assign(global, { + init, + newAccount, + createFlow, +}) diff --git a/test-flow-generator/src/helpers.ts b/test-flow-generator/src/helpers.ts new file mode 100644 index 0000000..c3bf1f0 --- /dev/null +++ b/test-flow-generator/src/helpers.ts @@ -0,0 +1,66 @@ +function padLeft(string: string, chars: number, sign = '0') { + const hasPrefix = /^0x/i.test(string) || typeof string === 'number' + string = string.replace(/^0x/i, '') + + const padding = chars - string.length + 1 >= 0 ? chars - string.length + 1 : 0 + + return (hasPrefix ? '0x' : '') + new Array(padding).join(sign ? sign : '0') + string +} + +export function ethAddrToBuf(address: string): Uint8Array { + return hexToBuf(address, 20) +} + +export function hexToBuf(hex: string, bytesCnt: number = 0): Uint8Array { + if (hex.length % 2 !== 0) { + throw new Error('Invalid hex string') + } + + if (hex.startsWith('0x')) { + hex = hex.slice(2) + } + + if (bytesCnt > 0) { + const digitsNum = bytesCnt * 2 + hex = hex.slice(-digitsNum).padStart(digitsNum, '0') + } + + const buffer = new Uint8Array(hex.length / 2) + + for (let i = 0; i < hex.length; i = i + 2) { + buffer[i / 2] = parseInt(hex.slice(i, i + 2), 16) + } + + return buffer +} + +export function toTwosComplementHex(num: bigint, numBytes: number): string { + let hex + if (num < 0) { + let val = BigInt(2) ** BigInt(numBytes * 8) + num + hex = val.toString(16) + } else { + hex = num.toString(16) + } + + return padLeft(hex, numBytes * 2) +} + +export function packSignature(signature: string): string { + signature = signature.slice(2) + + if (signature.length > 128) { + let v = signature.substr(128, 2) + if (v == '1c') { + return `${signature.slice(0, 64)}${(parseInt(signature[64], 16) | 8).toString(16)}${signature.slice(65, 128)}` + } else if (v != '1b') { + throw 'invalid signature: v should be 27 or 28' + } + + return signature.slice(0, 128) + } else if (signature.length < 128) { + throw 'invalid signature: it should consist at least 64 bytes (128 chars)' + } + + return signature +} diff --git a/test-flow-generator/src/index.js b/test-flow-generator/src/index.js new file mode 100644 index 0000000..290d3f4 --- /dev/null +++ b/test-flow-generator/src/index.js @@ -0,0 +1,69 @@ +const fs = require('fs') +const path = require('path') +const puppeteer = require('puppeteer') +const { createServer } = require('http-server') +const { Proof, Params } = require('libzkbob-rs-node') + +const OUT_FLOWS_DIR = './flows/' +const TEST_FLOWS_DIR = './test-flows/' +const PARAMS = Params.fromFile(process.env.PARAMS_PATH || '../zp-relayer/params/transfer_params.bin') + +if (!fs.existsSync(OUT_FLOWS_DIR)) { + fs.mkdirSync(OUT_FLOWS_DIR, { recursive: true }) +} + +function proveTx(pub, sec) { + return Proof.tx(PARAMS, pub, sec) +} + +async function generateFlow() { + const browser = await puppeteer.launch() + try { + const page = await browser.newPage() + page.on('console', async msg => { + const msgArgs = msg.args() + for (let i = 0; i < msgArgs.length; ++i) { + console.log(msgArgs[i].toString()) + } + }) + const flowFiles = fs.readdirSync(TEST_FLOWS_DIR) + console.log(flowFiles) + for (let file of flowFiles) { + const fullPath = path.join(TEST_FLOWS_DIR, file) + const flow = require('../' + fullPath) + await page.goto('http://127.0.0.1:8080/') + const res = await page.evaluate(async flow => { + await init() + const flowOutput = await createFlow(flow) + return flowOutput + }, flow) + + for (let tx of res) { + const proof = proveTx(tx.transactionData.public, tx.transactionData.secret) + tx.proof = proof + } + + fs.writeFileSync(`${OUT_FLOWS_DIR}/flow_${path.parse(file).name}.json`, JSON.stringify(res, null)) + } + } finally { + await browser.close() + } +} + +async function main() { + const server = createServer({ + root: '.', + cors: true, + }) + server.listen(8080, async () => { + try { + await generateFlow() + } catch (err) { + console.log(err.toString()) + } finally { + server.close() + } + }) +} + +main() diff --git a/test-flow-generator/src/types.ts b/test-flow-generator/src/types.ts new file mode 100644 index 0000000..216f24b --- /dev/null +++ b/test-flow-generator/src/types.ts @@ -0,0 +1,57 @@ +import type { Proof, TransactionData } from 'libzkbob-rs-wasm-web' +import type { TxType } from 'zp-memo-parser' + +interface PermitDepositFlowItem { + from: string + amount: string +} + +interface TransferFlowItem { + zkAddress: string + amount: string +} + +interface WithdrawFlowItem { + to: string + amount: string +} + +type FlowItem = T extends TxType.PERMITTABLE_DEPOSIT + ? PermitDepositFlowItem + : T extends TxType.TRANSFER + ? TransferFlowItem + : T extends TxType.WITHDRAWAL + ? WithdrawFlowItem + : never + +export type Flow = { + independent?: boolean + accounts: Record + flow: FlowItem[] +} + +export interface BaseOutputItem { + txType: T + proof: Proof + transactionData: TransactionData + txTypeData: FlowItem + depositSignature: string | null +} +export interface PermitDepositOutputItem extends BaseOutputItem { + deadline: string + depositSignature: string +} + +export interface TransferOutputItem extends BaseOutputItem {} + +export interface WithdrawOutputItem extends BaseOutputItem {} + +export type FlowOutputItem = T extends TxType.PERMITTABLE_DEPOSIT + ? PermitDepositOutputItem + : T extends TxType.TRANSFER + ? TransferOutputItem + : T extends TxType.WITHDRAWAL + ? WithdrawOutputItem + : never + +export type FlowOutput = FlowOutputItem[] diff --git a/test-flow-generator/test-flows/dependent_deposits_2.json b/test-flow-generator/test-flows/dependent_deposits_2.json new file mode 100644 index 0000000..593995d --- /dev/null +++ b/test-flow-generator/test-flows/dependent_deposits_2.json @@ -0,0 +1,10 @@ +{ + "independent": false, + "accounts": { + "0x1df62f291b2e969fb0849d99d9ce41e2f137006e": "0xb0057716d5917badaf911b193b12b910811c1497b5bada8d7711f758981c3773" + }, + "flow": [ + { "from": "0x1df62f291b2e969fb0849d99d9ce41e2f137006e", "amount": "5" }, + { "from": "0x1df62f291b2e969fb0849d99d9ce41e2f137006e", "amount": "5" } + ] + } diff --git a/test-flow-generator/test-flows/independent_deposits_5.json b/test-flow-generator/test-flows/independent_deposits_5.json new file mode 100644 index 0000000..c29ff6f --- /dev/null +++ b/test-flow-generator/test-flows/independent_deposits_5.json @@ -0,0 +1,13 @@ +{ + "independent": true, + "accounts": { + "0x1df62f291b2e969fb0849d99d9ce41e2f137006e": "0xb0057716d5917badaf911b193b12b910811c1497b5bada8d7711f758981c3773" + }, + "flow": [ + { "from": "0x1df62f291b2e969fb0849d99d9ce41e2f137006e", "amount": "5" }, + { "from": "0x1df62f291b2e969fb0849d99d9ce41e2f137006e", "amount": "5" }, + { "from": "0x1df62f291b2e969fb0849d99d9ce41e2f137006e", "amount": "5" }, + { "from": "0x1df62f291b2e969fb0849d99d9ce41e2f137006e", "amount": "5" }, + { "from": "0x1df62f291b2e969fb0849d99d9ce41e2f137006e", "amount": "5" } + ] +} diff --git a/test-flow-generator/tsconfig.json b/test-flow-generator/tsconfig.json new file mode 100644 index 0000000..eebc711 --- /dev/null +++ b/test-flow-generator/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "noImplicitAny": true, + "module": "es2020", + "target": "es2020", + "allowJs": true, + "moduleResolution": "node", + "resolveJsonModule": true + }, + "include": ["src/*.ts", "prover.ts"], + "exclude": ["node_modules"] +} diff --git a/test-flow-generator/webpack.config.js b/test-flow-generator/webpack.config.js new file mode 100644 index 0000000..330ee07 --- /dev/null +++ b/test-flow-generator/webpack.config.js @@ -0,0 +1,53 @@ +const path = require('path') +const NodePolyfillPlugin = require('node-polyfill-webpack-plugin') + +const isProduction = process.env.NODE_ENV == 'production' + +const config = { + entry: './src/generate.ts', + output: { + path: path.resolve(__dirname, 'dist'), + }, + plugins: [ + new NodePolyfillPlugin({ + excludeAliases: ['console'], + }), + ], + module: { + rules: [ + { + test: /\.(ts|tsx)$/i, + loader: 'ts-loader', + exclude: path.resolve(__dirname, 'node_modules'), + }, + { + test: /\.(eot|svg|ttf|woff|woff2|png|jpg|gif)$/i, + type: 'asset', + }, + { + test: /\.json$/, + use: ['json-loader'], + type: 'javascript/auto', + }, + ], + }, + resolve: { + extensions: ['.tsx', '.ts', '.js'], + // fallback: { + // "http": require.resolve("stream-http") + // } + }, + experiments: { + asyncWebAssembly: true, + topLevelAwait: true, + }, +} + +module.exports = () => { + if (isProduction) { + config.mode = 'production' + } else { + config.mode = 'development' + } + return config +} diff --git a/yarn.lock b/yarn.lock index 0c9e871..0fabbca 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,38 +2,33 @@ # yarn lockfile v1 -"@babel/code-frame@^7.12.13": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" - integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== +"@babel/code-frame@^7.0.0": + 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.16.0" + "@babel/highlight" "^7.18.6" -"@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": + 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/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== +"@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.15.7" + "@babel/helper-validator-identifier" "^7.18.6" chalk "^2.0.0" js-tokens "^4.0.0" -"@cspotcode/source-map-consumer@0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" - integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== - -"@cspotcode/source-map-support@0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" - integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== dependencies: - "@cspotcode/source-map-consumer" "0.8.0" + "@jridgewell/trace-mapping" "0.3.9" "@dabh/diagnostics@^2.0.2": version "2.0.2" @@ -251,16 +246,23 @@ resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11" integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg== -"@jest/types@^27.2.5": - version "27.2.5" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.2.5.tgz#420765c052605e75686982d24b061b4cbba22132" - integrity sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ== +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@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" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" "@metamask/eth-sig-util@^4.0.1": version "4.0.1" @@ -444,13 +446,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== -"@types/expect@^24.3.0": - version "24.3.0" - resolved "https://registry.yarnpkg.com/@types/expect/-/expect-24.3.0.tgz#d7cab8b3c10c2d92a0cbb31981feceb81d3486f1" - integrity sha512-aq5Z+YFBz5o2b6Sp1jigx5nsmoZMK5Ceurjwy6PZmRv7dEi1jLtkARfvB1ME+OXJUG+7TZUDcv3WoCr/aor6dQ== - dependencies: - expect "*" - "@types/express-serve-static-core@^4.17.18": version "4.17.25" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.25.tgz#e42f7046adc65ece2eb6059b77aecfbe9e9f82e0" @@ -477,25 +472,6 @@ dependencies: "@types/node" "*" -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - "@types/json-schema@*", "@types/json-schema@^7.0.8": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" @@ -539,6 +515,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.7.tgz#36820945061326978c42a01e56b61cd223dfdc42" integrity sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw== +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + "@types/pbkdf2@^3.0.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" @@ -583,22 +564,17 @@ "@types/mime" "^1" "@types/node" "*" -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== +"@types/uuid@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== +"@types/yauzl@^2.9.1": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" + integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== dependencies: - "@types/yargs-parser" "*" + "@types/node" "*" "@webassemblyjs/ast@1.11.1": version "1.11.1" @@ -721,22 +697,22 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.1.0.tgz#8342bef0badfb7dfd3b576f2574ab80c725be043" - integrity sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg== +"@webpack-cli/configtest@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" + integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== -"@webpack-cli/info@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.4.0.tgz#b9179c3227ab09cbbb149aa733475fcf99430223" - integrity sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw== +"@webpack-cli/info@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" + integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.6.0.tgz#2c275aa05c895eccebbfc34cfb223c6e8bd591a2" - integrity sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA== +"@webpack-cli/serve@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" + integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -748,11 +724,6 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -776,6 +747,13 @@ acorn@^8.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" @@ -801,13 +779,6 @@ ajv@^6.12.3, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - ansi-colors@3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" @@ -847,11 +818,6 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" @@ -953,6 +919,13 @@ async@^2.6.2: dependencies: lodash "^4.17.14" +async@^2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + async@^3.1.0: version "3.2.2" resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd" @@ -1007,6 +980,13 @@ basic-auth@^1.0.3: resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.1.0.tgz#45221ee429f7ee1e5035be3f51533f1cdfd29884" integrity sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ= +basic-auth@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" @@ -1029,6 +1009,15 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + blakejs@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.1.tgz#bf313053978b2cd4c444a48795710be05c785702" @@ -1084,20 +1073,6 @@ borsh@^0.5.0: bs58 "^4.0.0" text-encoding-utf-8 "^1.0.2" -boxen@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1218,6 +1193,11 @@ bs58check@^2.1.2: create-hash "^1.1.0" safe-buffer "^5.1.2" +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + buffer-from@^1.0.0, buffer-from@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -1233,7 +1213,7 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= -buffer@^5.0.5, buffer@^5.5.0, buffer@^5.6.0: +buffer@^5.0.5, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -1261,10 +1241,10 @@ builtin-status-codes@^3.0.0: resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= -bullmq@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bullmq/-/bullmq-3.0.0.tgz#b660f1a926f7997014add8af95015668533a74b2" - integrity sha512-amw+YZhEo1B47iMpaLbtKwlzZjQi5NYjLCYl8n9qkQpkDDVAVJ9d++zdOgyXX6kG7i/pMP9tr2vyj3J6IcjbTA== +bullmq@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/bullmq/-/bullmq-3.2.0.tgz#5e58bc574c0e51963ba3bc55ccb165c6564b7dad" + integrity sha512-jR0xM6NGdY/2d3GDVdNRgfXGxWZdE3BCmmUMA29oO+Z2stluPUgjlidIvwUzZ4hDKAG56NLr8+MiF3NoWxe+OA== dependencies: cron-parser "^4.6.0" glob "^8.0.3" @@ -1301,6 +1281,11 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" @@ -1320,7 +1305,7 @@ camelcase@^5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0, camelcase@^6.2.0: +camelcase@^6.0.0: version "6.2.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== @@ -1364,7 +1349,7 @@ chai@^4.3.4: pathval "^1.1.1" type-detect "^4.0.5" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.0.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== @@ -1373,7 +1358,7 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0: +chalk@^4.1.0, 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== @@ -1401,22 +1386,7 @@ chokidar@3.5.3, chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" -chokidar@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^1.1.4: +chownr@^1.1.1, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -1450,11 +1420,6 @@ chrome-unmirror@^0.1.0: resolved "https://registry.yarnpkg.com/chrome-unmirror/-/chrome-unmirror-0.1.0.tgz#e9af78ba47f7ffb90060293a720a01cd26d50bab" integrity sha1-6a94ukf3/7kAYCk6cgoBzSbVC6s= -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - cids@^0.7.1: version "0.7.5" resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" @@ -1479,11 +1444,6 @@ class-is@^1.1.0: resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -1618,32 +1578,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concurrently@7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-7.1.0.tgz#477b49b8cfc630bb491f9b02e9ed7fb7bff02942" - integrity sha512-Bz0tMlYKZRUDqJlNiF/OImojMB9ruKUz6GCfmhFnSapXgPe+3xzY4byqoKG9tUZ7L2PGEUjfLPOLfIX3labnmw== - dependencies: - chalk "^4.1.0" - date-fns "^2.16.1" - lodash "^4.17.21" - rxjs "^6.6.3" - spawn-command "^0.0.2-1" - supports-color "^8.1.0" - tree-kill "^1.2.2" - yargs "^16.2.0" - -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - console-browserify@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" @@ -1713,6 +1647,17 @@ corser@^2.0.1: resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" integrity sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c= +cosmiconfig@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + crc-32@^1.2.0: version "1.2.2" resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" @@ -1761,16 +1706,12 @@ cron-parser@^4.6.0: dependencies: luxon "^3.0.1" -cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== +cross-fetch@3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" + node-fetch "2.6.7" cross-spawn@^7.0.3: version "7.0.3" @@ -1798,11 +1739,6 @@ crypto-browserify@3.12.0, crypto-browserify@^3.12.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -1825,11 +1761,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -date-fns@^2.16.1: - version "2.28.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" - integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== - debug@2.6.9, debug@^2.2.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -1844,7 +1775,7 @@ debug@3.2.6: dependencies: ms "^2.1.1" -debug@4.3.4, debug@^4.3.4: +debug@4, debug@4.3.4, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -1909,11 +1840,6 @@ deep-eql@^3.0.1: dependencies: type-detect "^4.0.0" -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - defer-to-connect@^1.0.1: version "1.1.3" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" @@ -1954,10 +1880,10 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= -diff-sequences@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" - integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== +devtools-protocol@0.0.1056733: + version "0.0.1056733" + resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.1056733.tgz#55bb1d56761014cc221131cca5e6bad94eefb2b9" + integrity sha512-CmTu6SQx2g3TbZzDCAV58+LTxVdKplS7xip0g5oDXpZ+isr0rv5dDP8ToyVRywzPHkCCPKgKgScEcwz4uPWDIA== diff@3.5.0, diff@^3.1.0: version "3.5.0" @@ -2007,13 +1933,6 @@ domain-browser@^4.19.0: resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.22.0.tgz#6ddd34220ec281f9a65d3386d267ddd35c491f9f" integrity sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw== -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - dotenv@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" @@ -2075,7 +1994,7 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -end-of-stream@^1.1.0: +end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -2183,11 +2102,6 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -2203,11 +2117,6 @@ escape-string-regexp@4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -2371,33 +2280,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -expect@*: - version "27.3.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.3.1.tgz#d0f170b1f5c8a2009bab0beffd4bb94f043e38e7" - integrity sha512-MrNXV2sL9iDRebWPGOGFdPQRl2eDQNu/uhxIMShjjx74T6kC6jFIkmQ6OqXDtevjGUkyB2IT56RzDBqXf/QPCg== - dependencies: - "@jest/types" "^27.2.5" - ansi-styles "^5.0.0" - jest-get-type "^27.3.1" - jest-matcher-utils "^27.3.1" - jest-message-util "^27.3.1" - jest-regex-util "^27.0.6" - express-winston@4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/express-winston/-/express-winston-4.2.0.tgz#e9d535d52aa4c125a54a29cce132ae2e3633f4fa" @@ -2454,6 +2336,17 @@ extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== +extract-zip@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -2497,6 +2390,13 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + fecha@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.1.tgz#0a83ad8f86ef62a091e22bb5a039cd03d23eecce" @@ -2622,6 +2522,11 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + fs-extra@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" @@ -2700,11 +2605,6 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -2767,13 +2667,6 @@ glob@^8.0.3: minimatch "^5.0.1" once "^1.3.0" -global-dirs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz#70a76fe84ea315ab37b1f5576cbde7d48ef72686" - integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== - dependencies: - ini "2.0.0" - global@~4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" @@ -2794,7 +2687,7 @@ globby@^11.0.4: merge2 "^1.4.1" slash "^3.0.0" -got@9.6.0, got@^9.6.0: +got@9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== @@ -2893,11 +2786,6 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -2922,7 +2810,7 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" -he@1.2.0, he@^1.1.0: +he@1.2.0, he@^1.1.0, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -2941,6 +2829,13 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +html-encoding-sniffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" + integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== + dependencies: + whatwg-encoding "^2.0.0" + http-cache-semantics@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" @@ -2973,7 +2868,7 @@ http-https@^1.0.0: resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= -http-proxy@^1.18.0: +http-proxy@^1.18.0, http-proxy@^1.18.1: version "1.18.1" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== @@ -2982,6 +2877,25 @@ http-proxy@^1.18.0: follow-redirects "^1.0.0" requires-port "^1.0.0" +http-server@14.1.1: + version "14.1.1" + resolved "https://registry.yarnpkg.com/http-server/-/http-server-14.1.1.tgz#d60fbb37d7c2fdff0f0fbff0d0ee6670bd285e2e" + integrity sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A== + dependencies: + basic-auth "^2.0.1" + chalk "^4.1.2" + corser "^2.0.1" + he "^1.2.0" + html-encoding-sniffer "^3.0.0" + http-proxy "^1.18.1" + mime "^1.6.0" + minimist "^1.2.6" + opener "^1.5.1" + portfinder "^1.0.28" + secure-compare "3.0.1" + union "~0.5.0" + url-join "^4.0.1" + http-server@^13.0.2: version "13.0.2" resolved "https://registry.yarnpkg.com/http-server/-/http-server-13.0.2.tgz#36f8a8ae0e1b78e7bf30a4dfb01ae89b904904ef" @@ -3014,10 +2928,13 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +https-proxy-agent@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" iconv-lite@0.4.24: version "0.4.24" @@ -3026,6 +2943,13 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + idna-uts46-hx@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" @@ -3038,20 +2962,18 @@ ieee754@^1.1.13, ieee754@^1.2.1: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= - ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" import-local@^2.0.0: version "2.0.0" @@ -3069,11 +2991,6 @@ import-local@^3.0.2: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - indent-string@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" @@ -3097,16 +3014,6 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" @@ -3191,13 +3098,6 @@ is-callable@^1.1.4, is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - is-core-module@^2.2.0: version "2.7.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.7.0.tgz#3c0ef7d31b4acfc574f80c58409d568a836848e3" @@ -3263,14 +3163,6 @@ is-hex-prefixed@1.0.0: resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= -is-installed-globally@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" - integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== - dependencies: - global-dirs "^3.0.0" - is-path-inside "^3.0.2" - is-nan@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" @@ -3284,11 +3176,6 @@ is-negative-zero@^2.0.1: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== -is-npm@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" - integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== - is-number-object@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" @@ -3306,21 +3193,11 @@ is-obj@^1.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - is-object@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== -is-path-inside@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -3415,11 +3292,6 @@ is-wsl@^2.1.0: dependencies: is-docker "^2.0.0" -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -3456,51 +3328,6 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" -jest-diff@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.3.1.tgz#d2775fea15411f5f5aeda2a5e02c2f36440f6d55" - integrity sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.0.6" - jest-get-type "^27.3.1" - pretty-format "^27.3.1" - -jest-get-type@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.3.1.tgz#a8a2b0a12b50169773099eee60a0e6dd11423eff" - integrity sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg== - -jest-matcher-utils@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.3.1.tgz#257ad61e54a6d4044e080d85dbdc4a08811e9c1c" - integrity sha512-hX8N7zXS4k+8bC1Aj0OWpGb7D3gIXxYvPNK1inP5xvE4ztbz3rc4AkI6jGVaerepBnfWB17FL5lWFJT3s7qo8w== - dependencies: - chalk "^4.0.0" - jest-diff "^27.3.1" - jest-get-type "^27.3.1" - pretty-format "^27.3.1" - -jest-message-util@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.3.1.tgz#f7c25688ad3410ab10bcb862bcfe3152345c6436" - integrity sha512-bh3JEmxsTZ/9rTm0jQrPElbY2+y48Rw2t47uMfByNyUVR+OfPh4anuyKsGqsNkXk/TI4JbLRZx+7p7Hdt6q1yg== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.2.5" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.4" - pretty-format "^27.3.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-regex-util@^27.0.6: - version "27.0.6" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" - integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== - jest-worker@^27.0.6: version "27.2.4" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.2.4.tgz#881455df75e22e7726a53f43703ab74d6b36f82d" @@ -3560,6 +3387,11 @@ json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -3635,13 +3467,6 @@ kuler@^2.0.0: resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== -latest-version@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.0" - libzeropool-rs-wasm-bundler@0.3.8: version "0.3.8" resolved "https://registry.yarnpkg.com/libzeropool-rs-wasm-bundler/-/libzeropool-rs-wasm-bundler-0.3.8.tgz#2b55628a741f4bd0f776d87365c22ed0da63ba6c" @@ -3654,6 +3479,11 @@ libzkbob-rs-node@0.1.27: dependencies: cargo-cp-artifact "^0.1" +libzkbob-rs-wasm-web@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/libzkbob-rs-wasm-web/-/libzkbob-rs-wasm-web-0.7.0.tgz#2bd54bb0687a0194ce7c3e43ceecb55a378dba06" + integrity sha512-aIG5Hg7D7gy5z+Uq7CRGD4t9EPqENUB7+Tb+xSxOJSIcL8ZENUuCJGcLwcrw5YCZ1OOBoe3LU4wa2WbC8cWy2A== + lighthouse-logger@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/lighthouse-logger/-/lighthouse-logger-1.3.0.tgz#ba6303e739307c4eee18f08249524e7dafd510db" @@ -3662,6 +3492,11 @@ lighthouse-logger@^1.0.0: debug "^2.6.9" marky "^1.2.2" +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -3783,13 +3618,6 @@ luxon@^3.0.1: resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.1.0.tgz#9ac33d7142b7ea18d4ec8583cdeb0b079abef60d" integrity sha512-7w6hmKC0/aoWnEsmPCu5Br54BmbmUp5GfcqBxQngRcXJ+q5fdfjEzn7dxmJh2YdDhgW8PccYtlWKSv4tQkrTQg== -make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" @@ -3824,11 +3652,6 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" - integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= - meow@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" @@ -3897,11 +3720,6 @@ mime@1.6.0, mime@^1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" @@ -3983,6 +3801,11 @@ minizlib@^1.3.3: dependencies: minipass "^2.9.0" +mkdirp-classic@^0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mkdirp-promise@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" @@ -4009,6 +3832,13 @@ mkdirp@^0.5.1, mkdirp@^0.5.5: dependencies: minimist "^1.2.5" +mkdirp@^0.5.6: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + mocha-chrome@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/mocha-chrome/-/mocha-chrome-2.2.0.tgz#34c20670e5472054e4ac9d520795ef9ed5a8de35" @@ -4236,11 +4066,6 @@ next-tick@~1.0.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - node-addon-api@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" @@ -4261,6 +4086,13 @@ node-environment-flags@1.0.5: object.getownpropertydescriptors "^2.0.3" semver "^5.7.0" +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + node-fetch@^2.6.1: version "2.6.6" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" @@ -4313,29 +4145,6 @@ node-releases@^1.1.76: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== -nodemon@^2.0.12: - version "2.0.15" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.15.tgz#504516ce3b43d9dc9a955ccd9ec57550a31a8d4e" - integrity sha512-gdHMNx47Gw7b3kWxJV64NI+Q5nfl0y5DgDbiVtShiwa7Z0IZ07Ll4RLFo6AjrhzMtoEZn5PDE3/c2AbVsiCkpA== - dependencies: - chokidar "^3.5.2" - debug "^3.2.7" - ignore-by-default "^1.0.1" - minimatch "^3.0.4" - pstree.remy "^1.1.8" - semver "^5.7.1" - supports-color "^5.5.0" - touch "^3.1.0" - undefsafe "^2.0.5" - update-notifier "^5.1.0" - -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= - dependencies: - abbrev "1" - normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -4356,28 +4165,6 @@ normalize-url@^4.1.0: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== -npm-run-all@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" - integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== - dependencies: - ansi-styles "^3.2.1" - chalk "^2.4.1" - cross-spawn "^6.0.5" - memorystream "^0.3.1" - minimatch "^3.0.4" - pidtree "^0.3.0" - read-pkg "^3.0.0" - shell-quote "^1.6.1" - string.prototype.padend "^3.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - number-to-bn@1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" @@ -4471,13 +4258,6 @@ one-time@^1.0.0: dependencies: fn.name "1.x.x" -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - opener@^1.5.1: version "1.5.2" resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" @@ -4569,21 +4349,18 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + parse-asn1@^5.0.0, parse-asn1@^5.1.5: version "5.1.6" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" @@ -4608,6 +4385,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -4633,12 +4420,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: +path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== @@ -4681,6 +4463,11 @@ pbkdf2@^3.0.17, pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -4691,11 +4478,6 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== -pidtree@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" - integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== - pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" @@ -4731,6 +4513,15 @@ portfinder@^1.0.25: debug "^3.1.1" mkdirp "^0.5.5" +portfinder@^1.0.28: + version "1.0.32" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -4746,16 +4537,6 @@ prettier@^2.7.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -pretty-format@^27.3.1: - version "27.3.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.3.1.tgz#7e9486365ccdd4a502061fa761d3ab9ca1b78df5" - integrity sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA== - dependencies: - "@jest/types" "^27.2.5" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -4766,6 +4547,11 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= +progress@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + promise-retry@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" @@ -4782,16 +4568,16 @@ proxy-addr@~2.0.5: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + psl@^1.1.28: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== -pstree.remy@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" - integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== - public-encrypt@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" @@ -4827,12 +4613,33 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -pupa@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== +puppeteer-core@19.2.2: + version "19.2.2" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-19.2.2.tgz#a9b7b25099d87d550c224c660c205b7ebdd03eb4" + integrity sha512-faojf+1pZ/tHXSr4x1q+9MVd9FrL3rpdbC0w7qN7MNClMoLuCvMbpR4vzcjoiJYgclt1n+SOPUOmHQViTw6frw== dependencies: - escape-goat "^2.0.0" + cross-fetch "3.1.5" + debug "4.3.4" + devtools-protocol "0.0.1056733" + extract-zip "2.0.1" + https-proxy-agent "5.0.1" + proxy-from-env "1.1.0" + rimraf "3.0.2" + tar-fs "2.1.1" + unbzip2-stream "1.4.3" + ws "8.10.0" + +puppeteer@^19.2.0: + version "19.2.2" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-19.2.2.tgz#e6f7bc089ac9bffea78b2f792bf3affd93e16803" + integrity sha512-m1T5Mog5qu5+dMBptWYTn6pXRdnFbydbVUCthqwbfd8/kOiMlzZBR9ywjX79LpvI1Sj+/z8+FKeIsjnMul8ZYA== + dependencies: + cosmiconfig "7.0.1" + devtools-protocol "0.0.1056733" + https-proxy-agent "5.0.1" + progress "2.0.3" + proxy-from-env "1.1.0" + puppeteer-core "19.2.2" qs@6.7.0: version "6.7.0" @@ -4915,21 +4722,6 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" @@ -4960,7 +4752,7 @@ readable-stream@^2.3.7: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -5003,20 +4795,6 @@ redis-parser@^3.0.0: dependencies: redis-errors "^1.0.0" -registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== - dependencies: - rc "^1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== - dependencies: - rc "^1.2.8" - remove-array-items@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/remove-array-items/-/remove-array-items-1.1.1.tgz#fd745ff73d0822e561ea910bf1b401fc7843e693" @@ -5087,6 +4865,11 @@ resolve-from@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" integrity sha1-six699nWiBvItuZTM17rywoYh0g= +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + resolve-from@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" @@ -5126,6 +4909,13 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== +rimraf@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + rimraf@^2.6.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -5155,13 +4945,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^6.6.3: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -5177,7 +4960,7 @@ safe-stable-stringify@^1.1.0: resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz#c8a220ab525cd94e60ebf47ddc404d610dc5d84a" integrity sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw== -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -5210,23 +4993,11 @@ secure-compare@3.0.1: resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" integrity sha1-8aAymzCLIh+uN7mXTz1XjQypmeM= -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" - -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.7.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", semver@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - semver@^7.3.4: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" @@ -5318,13 +5089,6 @@ shallow-clone@^3.0.0: dependencies: kind-of "^6.0.2" -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -5332,21 +5096,11 @@ shebang-command@^2.0.0: dependencies: shebang-regex "^3.0.0" -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@^1.6.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" - integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== - side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -5356,7 +5110,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: +signal-exit@^3.0.0: version "3.0.5" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== @@ -5405,11 +5159,6 @@ source-map@~0.7.2: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -spawn-command@^0.0.2-1: - version "0.0.2-1" - resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" - integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= - spdx-correct@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" @@ -5461,13 +5210,6 @@ stack-trace@0.0.x: resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA= -stack-utils@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - standard-as-callback@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" @@ -5518,7 +5260,7 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: +string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -5527,15 +5269,6 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2 is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.padend@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1" - integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - string.prototype.trimend@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" @@ -5592,11 +5325,6 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - strip-hex-prefix@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" @@ -5609,7 +5337,7 @@ strip-indent@^2.0.0: resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= -strip-json-comments@2.0.1, strip-json-comments@~2.0.1: +strip-json-comments@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= @@ -5626,14 +5354,14 @@ supports-color@6.0.0: dependencies: has-flag "^3.0.0" -supports-color@8.1.1, supports-color@^8.0.0, supports-color@^8.1.0: +supports-color@8.1.1, supports-color@^8.0.0: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" -supports-color@^5.3.0, supports-color@^5.5.0: +supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -5674,6 +5402,27 @@ tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +tar-fs@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + tar@^4.0.2: version "4.4.19" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" @@ -5718,6 +5467,11 @@ text-hex@1.0.x: resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" @@ -5747,13 +5501,6 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== -touch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" - integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== - dependencies: - nopt "~1.0.10" - tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -5767,11 +5514,6 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= -tree-kill@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" - integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== - trim-newlines@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" @@ -5801,6 +5543,25 @@ ts-mocha@^8.0.0: optionalDependencies: tsconfig-paths "^3.5.0" +ts-node@10.9.1: + version "10.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + ts-node@7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" @@ -5815,24 +5576,6 @@ ts-node@7.0.1: source-map-support "^0.5.6" yn "^2.0.0" -ts-node@^10.1.0: - version "10.4.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" - integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== - dependencies: - "@cspotcode/source-map-support" "0.7.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - yn "3.1.1" - tsc-alias@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/tsc-alias/-/tsc-alias-1.7.0.tgz#733482751133a25b97608ee424f8a1f085fcaaef" @@ -5864,11 +5607,6 @@ tsconfig-paths@^4.1.0: minimist "^1.2.6" strip-bom "^3.0.0" -tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - tslib@^2.0.0: version "2.4.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" @@ -5911,11 +5649,6 @@ type-detect@^4.0.0, type-detect@^4.0.5: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -5961,10 +5694,13 @@ unbox-primitive@^1.0.1: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" -undefsafe@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" - integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== +unbzip2-stream@1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" unfetch@^4.2.0: version "4.2.0" @@ -5978,13 +5714,6 @@ union@~0.5.0: dependencies: qs "^6.4.0" -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -5995,26 +5724,6 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= -update-notifier@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" - integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== - dependencies: - boxen "^5.0.0" - chalk "^4.1.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.4.0" - is-npm "^5.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.1.0" - pupa "^2.1.1" - semver "^7.3.4" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -6027,6 +5736,11 @@ url-join@^2.0.5: resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.5.tgz#5af22f18c052a000a48d7b82c5e9c2e2feeda728" integrity sha1-WvIvGMBSoACkjXuCxenC4v7tpyg= +url-join@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + url-parse-lax@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" @@ -6108,6 +5822,11 @@ uuid@^9.0.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -6363,6 +6082,19 @@ web3-utils@1.7.4: randombytes "^2.1.0" utf8 "3.0.0" +web3-utils@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.8.0.tgz#0a506f8c6af9a2ad6ba79689892662769534fc03" + integrity sha512-7nUIl7UWpLVka2f09CMbKOSEvorvHnaugIabU4mj7zfMvm0tSByLcEu3eyV9qgS11qxxLuOkzBIwCstTflhmpQ== + dependencies: + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + web3@1.7.4: version "1.7.4" resolved "https://registry.yarnpkg.com/web3/-/web3-1.7.4.tgz#00c9aef8e13ade92fd773d845fff250535828e93" @@ -6381,18 +6113,18 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= -webpack-cli@^4.7.2: - version "4.9.1" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.9.1.tgz#b64be825e2d1b130f285c314caa3b1ba9a4632b3" - integrity sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ== +webpack-cli@^4.10.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" + integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.1.0" - "@webpack-cli/info" "^1.4.0" - "@webpack-cli/serve" "^1.6.0" + "@webpack-cli/configtest" "^1.2.0" + "@webpack-cli/info" "^1.5.0" + "@webpack-cli/serve" "^1.7.0" colorette "^2.0.14" commander "^7.0.0" - execa "^5.0.0" + cross-spawn "^7.0.3" fastest-levenshtein "^1.0.12" import-local "^3.0.2" interpret "^2.2.0" @@ -6412,7 +6144,7 @@ webpack-sources@^3.2.0: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.1.tgz#251a7d9720d75ada1469ca07dbb62f3641a05b6d" integrity sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA== -webpack@^5.46.0, webpack@^5.48.0: +webpack@^5.46.0: version "5.64.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.64.0.tgz#db3e12546f755930ccc9e0e21ba660871940c615" integrity sha512-UclnN24m054HaPC45nmDEosX6yXWD+UGC12YtUs5i356DleAUGMDC9LBAw37xRRfgPKYIdCYjGA7RZ1AA+ZnGg== @@ -6454,6 +6186,13 @@ websocket@^1.0.32: utf-8-validate "^5.0.2" yaeti "^0.0.6" +whatwg-encoding@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" + integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== + dependencies: + iconv-lite "0.6.3" + whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -6490,7 +6229,7 @@ which-typed-array@^1.1.2: has-tostringtag "^1.0.0" is-typed-array "^1.1.7" -which@1.3.1, which@^1.2.9: +which@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -6511,13 +6250,6 @@ wide-align@1.1.3: dependencies: string-width "^1.0.2 || 2" -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - wildcard@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" @@ -6574,15 +6306,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" +ws@8.10.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.10.0.tgz#00a28c09dfb76eae4eb45c3b565f771d6951aa51" + integrity sha512-+s49uSmZpvtAsd2h37vIPy1RBusaLawVe8of+GyEPsaJTCMpj/2v8NpeK1SHXjBlQ95lQTmQofOJnFiLoaN3yw== ws@^3.0.0: version "3.3.3" @@ -6598,11 +6325,6 @@ ws@^7.2.0: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - xhr-request-promise@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" @@ -6670,7 +6392,7 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.2: +yaml@^1.10.0, yaml@^1.10.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== @@ -6743,7 +6465,7 @@ yargs@13.3.0: y18n "^4.0.0" yargs-parser "^13.1.1" -yargs@16.2.0, yargs@^16.2.0: +yargs@16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -6772,6 +6494,14 @@ yargs@^13.3.0: y18n "^4.0.0" yargs-parser "^13.1.2" +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" @@ -6791,4 +6521,3 @@ yocto-queue@^0.1.0: version "0.0.3" dependencies: borsh "^0.5.0" - buffer "^6.0.3" diff --git a/zp-memo-parser/package.json b/zp-memo-parser/package.json index 50aa362..3215910 100644 --- a/zp-memo-parser/package.json +++ b/zp-memo-parser/package.json @@ -11,7 +11,6 @@ "build": "tsc" }, "dependencies": { - "borsh": "^0.5.0", - "buffer": "^6.0.3" + "borsh": "^0.5.0" } } diff --git a/zp-relayer/package.json b/zp-relayer/package.json index 6eeb3e7..4378f6f 100644 --- a/zp-relayer/package.json +++ b/zp-relayer/package.json @@ -4,13 +4,14 @@ "main": "build/index.js", "types": "build/index.d.ts", "scripts": { - "initialize": "git submodule update --init && yarn install --unsafe-perm --frozen-lockfile && yarn build:libzeropool-rs-node && yarn build:libzeropool-rs-wasm", + "initialize": "yarn install --frozen-lockfile", "build": "tsc --project ./ && tsc-alias", - "dev:server": "ts-node index.ts", - "dev:worker": "ts-node poolTxWorker.ts", "start:dev": "ts-node index.ts", "start:prod": "node index.js", - "test:unit": "ts-mocha -r dotenv/config --paths --timeout 1000000 test/unit-tests/*.test.ts" + "deploy:local": "ts-node test/deploy.ts", + "deploy:local:rm": "rm -rf test/STATE_DIR && ts-node test/clear.ts", + "test:unit": "ts-mocha -r dotenv/config --paths --timeout 1000000 test/unit-tests/*.test.ts", + "test:worker": "yarn deploy:local && DOTENV_CONFIG_PATH=test.env ts-mocha --exit -r dotenv/config --paths --timeout 1000000 test/worker-tests/*.test.ts && yarn deploy:local:rm" }, "dependencies": { "@metamask/eth-sig-util": "^4.0.1", @@ -18,7 +19,7 @@ "ajv": "8.11.0", "async-mutex": "^0.3.2", "bignumber.js": "9.1.0", - "bullmq": "3.0.0", + "bullmq": "3.2.0", "cors": "^2.8.5", "dotenv": "^10.0.0", "express": "^4.17.1", @@ -28,7 +29,6 @@ "libzkbob-rs-node": "0.1.27", "node-fetch": "^2.6.1", "promise-retry": "^2.0.1", - "ts-node": "^10.1.0", "web3": "1.7.4", "winston": "3.3.3", "zp-memo-parser": "link:../zp-memo-parser" @@ -37,22 +37,19 @@ "@types/chai": "^4.2.21", "@types/chai-as-promised": "^7.1.5", "@types/cors": "^2.8.12", - "@types/expect": "^24.3.0", "@types/express": "^4.17.13", "@types/ioredis": "^4.27.6", "@types/mocha": "^9.0.0", "@types/node": "^16.4.11", "@types/node-fetch": "^2.5.12", "@types/promise-retry": "^1.1.3", + "@types/uuid": "^8.3.4", "chai": "^4.3.4", "chai-as-promised": "7.1.1", - "concurrently": "7.1.0", "docker-compose": "0.23.17", "mocha": "10.1.0", - "nodemon": "^2.0.12", - "npm-run-all": "^4.1.5", + "ts-node": "10.9.1", "ts-mocha": "^8.0.0", - "webpack": "^5.48.0", - "webpack-cli": "^4.7.2" + "uuid": "^9.0.0" } } diff --git a/zp-relayer/pool.ts b/zp-relayer/pool.ts index 8ee694f..3d63997 100644 --- a/zp-relayer/pool.ts +++ b/zp-relayer/pool.ts @@ -89,6 +89,11 @@ class Pool { this.optimisticState = new PoolState('optimistic', redis, config.stateDirPath) } + loadState(states: { poolState: PoolState; optimisticState: PoolState }) { + this.state = states.poolState + this.optimisticState = states.optimisticState + } + private static getHash(path: string) { const buffer = fs.readFileSync(path) const hash = crypto.createHash('sha256') diff --git a/zp-relayer/queue/sentTxQueue.ts b/zp-relayer/queue/sentTxQueue.ts index fa6df91..a12e683 100644 --- a/zp-relayer/queue/sentTxQueue.ts +++ b/zp-relayer/queue/sentTxQueue.ts @@ -3,7 +3,7 @@ import { redis } from '@/services/redisClient' import { SENT_TX_QUEUE_NAME } from '@/utils/constants' import type { TransactionConfig } from 'web3-core' import { GasPriceValue } from '@/services/gas-price' -import { TxPayload } from './poolTxQueue' +import type { TxPayload } from './poolTxQueue' export type SendAttempt = [string, GasPriceValue] export interface SentTxPayload { diff --git a/zp-relayer/test.env b/zp-relayer/test.env new file mode 100644 index 0000000..7af0a73 --- /dev/null +++ b/zp-relayer/test.env @@ -0,0 +1,21 @@ +PORT=8000 +RELAYER_ADDRESS_PRIVATE_KEY=0x6370fd033278c143179d81c5526140625662b8daa446c22ee2d73db3707e620c +POOL_ADDRESS=0xe982E462b094850F12AF94d21D470e21bE9D0E9C +TOKEN_ADDRESS=0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab +START_BLOCK=0 +RELAYER_GAS_LIMIT=2000000 +RELAYER_FEE=0 +MAX_NATIVE_AMOUNT_FAUCET=0 + +TREE_UPDATE_PARAMS_PATH="./params/tree_params.bin" +TX_VK_PATH="./params/transfer_verification_key.json" +STATE_DIR_PATH="./test/STATE_DIR/" + +SENT_TX_DELAY=2000 +GAS_PRICE_FALLBACK= +GAS_PRICE_UPDATE_INTERVAL=100000 +GAS_PRICE_ESTIMATION_TYPE="eip1559-gas-estimation" + +RELAYER_LOG_LEVEL=debug +RELAYER_REDIS_URL=127.0.0.1:6379 +RPC_URL=http://127.0.0.1:8545 diff --git a/zp-relayer/test/abi/token-abi.json b/zp-relayer/test/abi/token-abi.json new file mode 100644 index 0000000..0dc8020 --- /dev/null +++ b/zp-relayer/test/abi/token-abi.json @@ -0,0 +1 @@ +[{"inputs":[{"internalType":"address","name":"_self","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"Blocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"BlocklisterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"hash","type":"bytes32"}],"name":"CancelledRecovery","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"hash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ExecutedRecovery","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"hash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"requestTimestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"executionTimestamp","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"accounts","type":"address[]"},{"indexed":false,"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"RequestedRecovery","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"Unblocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"minter","type":"address"},{"indexed":false,"internalType":"bool","name":"canMint","type":"bool"},{"indexed":false,"internalType":"bool","name":"canBurn","type":"bool"}],"name":"UpdateMinter","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SALTED_PERMIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"_balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"blockAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"blocklister","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelRecovery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_accounts","type":"address[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"executeRecovery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isBlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isBurner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isRecoveryEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_deadline","type":"uint256"},{"internalType":"uint8","name":"_v","type":"uint8"},{"internalType":"bytes32","name":"_r","type":"bytes32"},{"internalType":"bytes32","name":"_s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_deadline","type":"uint256"},{"internalType":"uint8","name":"_v","type":"uint8"},{"internalType":"bytes32","name":"_r","type":"bytes32"},{"internalType":"bytes32","name":"_s","type":"bytes32"}],"name":"receiveWithPermit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_deadline","type":"uint256"},{"internalType":"bytes32","name":"_salt","type":"bytes32"},{"internalType":"uint8","name":"_v","type":"uint8"},{"internalType":"bytes32","name":"_r","type":"bytes32"},{"internalType":"bytes32","name":"_s","type":"bytes32"}],"name":"receiveWithSaltedPermit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoveredFundsReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoveryAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoveryLimitPercent","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoveryRequestExecutionTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoveryRequestHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recoveryRequestTimelockPeriod","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_accounts","type":"address[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"requestRecovery","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_holder","type":"address"},{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_deadline","type":"uint256"},{"internalType":"bytes32","name":"_salt","type":"bytes32"},{"internalType":"uint8","name":"_v","type":"uint8"},{"internalType":"bytes32","name":"_r","type":"bytes32"},{"internalType":"bytes32","name":"_s","type":"bytes32"}],"name":"saltedPermit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_claimingAdmin","type":"address"}],"name":"setClaimingAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recoveredFundsReceiver","type":"address"}],"name":"setRecoveredFundsReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_recoveryAdmin","type":"address"}],"name":"setRecoveryAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_recoveryLimitPercent","type":"uint64"}],"name":"setRecoveryLimitPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_recoveryRequestTimelockPeriod","type":"uint32"}],"name":"setRecoveryRequestTimelockPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRecovered","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"}],"name":"unblockAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newBlocklister","type":"address"}],"name":"updateBlocklister","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"bool","name":"_canMint","type":"bool"},{"internalType":"bool","name":"_canBurn","type":"bool"}],"name":"updateMinter","outputs":[],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file diff --git a/zp-relayer/test/clear.ts b/zp-relayer/test/clear.ts new file mode 100644 index 0000000..de7e69b --- /dev/null +++ b/zp-relayer/test/clear.ts @@ -0,0 +1,10 @@ +import path from 'path' +import compose from 'docker-compose' + +export async function clear() { + const cwd = path.join(__dirname) + console.log('Removing previous deployment...') + await compose.down({ cwd, commandOptions: ['-v'], log: false }) +} + +clear() diff --git a/zp-relayer/test/deploy.ts b/zp-relayer/test/deploy.ts new file mode 100644 index 0000000..c496e06 --- /dev/null +++ b/zp-relayer/test/deploy.ts @@ -0,0 +1,45 @@ +import path from 'path' +import compose from 'docker-compose' +import Web3 from 'web3' + +const web3 = new Web3('http://127.0.0.1:8545') + +function sleep(ms: number) { + return new Promise(resolve => setTimeout(resolve, ms)) +} + +async function waitForNode() { + let isRunning = false + do { + try { + await web3.eth.getChainId() + isRunning = true + } catch (e) {} + await sleep(100) + } while (!isRunning) +} + +async function waitForContracts() { + let bytecode = '0x' + do { + try { + bytecode = await web3.eth.getCode('0xe982E462b094850F12AF94d21D470e21bE9D0E9C') + await sleep(200) + } catch (e) {} + } while (bytecode === '0x') +} + +export async function newDeploy() { + const cwd = path.join(__dirname) + console.log('Removing previous deployment...') + await compose.down({ cwd, commandOptions: ['-v'], log: false }) + console.log('Starting new deployment...') + await compose.upOne('anvil', { cwd, log: false }) + console.log('Waiting for RPC node...') + await waitForNode() + await compose.upAll({ cwd, log: false }) + console.log('Waiting for contracts...') + await waitForContracts() +} + +newDeploy() diff --git a/zp-relayer/test/docker-compose.yml b/zp-relayer/test/docker-compose.yml new file mode 100644 index 0000000..1806392 --- /dev/null +++ b/zp-relayer/test/docker-compose.yml @@ -0,0 +1,19 @@ +version: '3.8' + +services: + anvil: + image: ghcr.io/foundry-rs/foundry:nightly-70f4fb55fa87e0e980f7f9fcccc5429bb1a48dbe + ports: + - 8545:8545 + entrypoint: > + anvil + --host 0.0.0.0 + -m "myth like bonus scare over problem client lizard pioneer submit female collect" + contracts: + image: lok52/zkbob-contracts:latest + redis: + container_name: redis + command: [redis-server, --port, '6379', --appendonly, 'yes'] + image: redis:6.2.6 + ports: + - 6379:6379 diff --git a/zp-relayer/test/flows/flow_dependent_deposits_2.json b/zp-relayer/test/flows/flow_dependent_deposits_2.json new file mode 100644 index 0000000..4028b3d --- /dev/null +++ b/zp-relayer/test/flows/flow_dependent_deposits_2.json @@ -0,0 +1 @@ +[{"txType":"0003","txTypeData":{"from":"0x1df62f291b2e969fb0849d99d9ce41e2f137006e","amount":"5"},"transactionData":{"public":{"root":"11469701942666298368112882412133877458305516134926649826543144744382391691533","nullifier":"1376360567980989642050467459235668075158663899912608069021919267613973712415","out_commit":"13867655713381014276654768015091945139177749640194311147059941276016728459002","delta":"5","memo":"6556708315140188162938514751273792518958919471652765469280223816676763713853"},"secret":{"tx":{"input":[{"d":"0","p_d":"16168109197448810159900485336006847503831674085783953878679473053958964499021","i":"0","b":"0","e":"0"},[{"d":"1137672637056074796968635","p_d":"11878058939442494686181507942140719521447777403110050611897066726058202193141","b":"0","t":"1061717011528216887309096"},{"d":"715771930075654862839639","p_d":"21739734454950346541333061659543724191555157289291064206459167277019887278439","b":"0","t":"448698281781544384577941"},{"d":"983362646581288772965162","p_d":"10147645256204218146532366020321744168432299136362923404268683822648658145794","b":"0","t":"665087632427006901343727"}]],"output":[{"d":"511432890983930095008438","p_d":"15755601748006370195973835440348672548373705784424849485921452452580497131920","i":"0","b":"5","e":"0"},[{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"}]]},"in_proof":[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]}]],"eddsa_s":"949885788697233336264793766557350223633523500306868553091813387220514710652","eddsa_r":"2409576019850131844155224435837672765746902954306315315153193404778109103914","eddsa_a":"17648086045609352049249615945248128101954805841269211445806056047142451514809"},"ciphertext":"01000000747b72358d2ea271cf0d8072c05681dc27cbeafc7bf8c0db915459b0b68db61055ecbb18c397267a4960288546c8557040cd09469b817604083e45507cddb30fe7d2e7d1903a610a161f7c7f56eb2be483da5ee5360468aec3e040a82b8700fdebe35157308969418fda5fc9e8ae1080a310a0fd9666fa624c23bde3ece1611445e821489ef0df0e881053b2e3ad7a2a0b2fa4e5c946a16581b42010ab521940dc222e50e5afa1e8ff420fdbc8fd70040353c4a43a393c524a302ffcef058ac2921a0a3a20cb","memo":"000000000000000000000000764abce81df62f291b2e969fb0849d99d9ce41e2f137006e01000000747b72358d2ea271cf0d8072c05681dc27cbeafc7bf8c0db915459b0b68db61055ecbb18c397267a4960288546c8557040cd09469b817604083e45507cddb30fe7d2e7d1903a610a161f7c7f56eb2be483da5ee5360468aec3e040a82b8700fdebe35157308969418fda5fc9e8ae1080a310a0fd9666fa624c23bde3ece1611445e821489ef0df0e881053b2e3ad7a2a0b2fa4e5c946a16581b42010ab521940dc222e50e5afa1e8ff420fdbc8fd70040353c4a43a393c524a302ffcef058ac2921a0a3a20cb","commitment_root":"13867655713381014276654768015091945139177749640194311147059941276016728459002","out_hashes":["7559549814638830761298096008383928754550374388917727353646758079562956045172","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461"],"parsed_delta":{"v":5,"e":0,"index":0}},"depositSignature":"c5c248c2ec4e42053b5a724d13192cbf1535e1dc550276a7158f7e209fadeeffc08b49449471e31e913ee31b81e1fe2555ca495f9c99b49e1bbbb6f1bb4d360c","deadline":"1984609512","proof":{"inputs":["11469701942666298368112882412133877458305516134926649826543144744382391691533","1376360567980989642050467459235668075158663899912608069021919267613973712415","13867655713381014276654768015091945139177749640194311147059941276016728459002","5","6556708315140188162938514751273792518958919471652765469280223816676763713853"],"proof":{"a":["20262051287335050766076049158051411320430212303303149434984097832919982322590","15708298606032867202340351252628423739813622949505537184082443326060704247964"],"b":[["9955480362367764687623854273669766214561516446941394224398503314433779576174","252392945853580198895868989645422091123558739610198245126070784251056719409"],["18640184951784287141674244317942413734428997428617817231533883764676242220354","282574334777613414567658178209984652966271297778914900082428252020227503915"]],"c":["6157893475598287216852321216447787225549401627706838533434596682222166663737","19853816952730518387975221246882502577093249633639750324038558257429763397250"]}}},{"txType":"0003","txTypeData":{"from":"0x1df62f291b2e969fb0849d99d9ce41e2f137006e","amount":"5"},"transactionData":{"public":{"root":"6122683495905748109448994617198178513613543159545648821997701168777062221514","nullifier":"1341885881370354741768253276053478883063555166264990034570142851045584707733","out_commit":"15834514946512831270231733243843997289851947007578946515679173001834294837997","delta":"12259964326927110866866776217202473468949912977468817413","memo":"12867813331910330892259049235589291431780338613651053731984409795394929024966"},"secret":{"tx":{"input":[{"d":"511432890983930095008438","p_d":"15755601748006370195973835440348672548373705784424849485921452452580497131920","i":"0","b":"5","e":"0"},[{"d":"964295999852777991862364","p_d":"7710185341289232146053297425672332460893364792257206996271412047161999554489","b":"0","t":"479338117725599896307122"},{"d":"1148362057517609729473617","p_d":"3311886505389087786334262506522760067143653291442420875870528115230496499977","b":"0","t":"1028225670515466690495814"},{"d":"1170920421922262655574586","p_d":"18556522064745676372250293519049210989736836609066044318026982521539035366628","b":"0","t":"418760638357287622655210"}]],"output":[{"d":"906607651681326085421433","p_d":"14257394338706293059789471167668206462913991976653723049337371245174486788014","i":"0","b":"10","e":"640"},[{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"}]]},"in_proof":[{"sibling":["6634257576132171181853636486652267162938250203364881974499045611385650496461","522535841805272509785471739560670907901803100379533916522366862439656660706","5531505720112419174552011511368466606524449052754036195330113153613535104476","11329107969209561607639978749821791505989823914753522080153457697297357471572","15352658802967173102705828119067422100499283382786583167468164930410196407148","693915472917531005300210909571774949875959308914908899247619510229153605991","15141150100053359483136089782360938554673261981069224805995527807509579907339","14714135131729000159871566580913366989973155681884951701205677304798723517153","7627219359786202965428762367979749348660074284384916423168422862902932424831","14551312803999726205102199121216044114178321255077732763187534410264273264477","8133200400714649277420943314430065689284296998442846431340458388300981773202","19757957384704703741994568750351615325340927095380651395218576901111994341312","5901787700375591888593349058351005758829733721889580801499958432339125722117","19610513091507606056305032357502140527607412933509798884555991018234020735550","9192158814814940467737597506351631595487805610002096082411402141191271289034","15148195026354169755004685112465574914097093714834468264388454016674751742404","19002444695496836611838706233351326378861769708403674372155042415140128768451","6763631975639579682217345019407739076344940280496238910656270074535663824550","12341717392944213854008315273751832217218539945524045851434723385845462156644","11188058538255209925140405088005030946576268598716710282220993109667689740819","8767206592009162685638605323931886632571407359842734160297858458232122701697","14806656623031055020403556767950405732280024630750601286800590772051854555577","1449745595536323767029826772218393750182843022155053540570887685758005275362","14765222336817644649711564851747393428952536408520879107108664314912194196332","18982658160224083592721682006811348397029735258325914857425249164605527855495","967440321479665771456770493134553793860406789235076340454890138689092398743","8572241015560852043038102363298212135872617918466794947737128919860989647576","12321040915162805881434398012323625623795260302839411951191547398563350127146","1298406847154241449159894232700436562945625671911038094089134903076476940734","13431717271286002143863064443149123073867305935730567069074323632094779906762","18685561605392691989953390877556007261171303533861983942569541094114673599076","13636738154803958676121594462998156260460565875177602873233203829261160109659","11140924918219198527253893695586727689118341082504963503885178419412738437285","8474943624663153781162388714410508382201175186669451645994959916456656701311","9309089957223635716291637648453776901031309116565418783465358778831489149051","4103099250878752973100498917988600567004154521200948180433869120256331253914","11160939302949194840812207983448709967740913175948942656104962328204560247908","14248462656890584285977708924431681107857584429784533132203700239154068075366","7195074526527890157871299180569895776266215514996373018130241622113485556177","4943263310141200676717673361235064531985540932726984279532900193640862300203","5627339774594137179528094994483896875762556850864443691412042157668983586635","2498416842977474257592472050316460590153865371699452127457309775442710367806","1550870853608757868458620218775305036473988111799553999977217107059043115199","13482439215704946735601313042140305736621462345162903440313509330875135734460","15182649948730062375321737692408817980506635025074846398909015256770821463532","1247690880441109659214778745323800445655802148600726437291573229536109714198","5341871252039295346907887643036618265097925372949238666377398522613804820550","21459734131189367378477890969465280901558661138826956196178023231247877916395"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]}]],"eddsa_s":"327816284313716592666292179116008597344964606926637045576033789228544559848","eddsa_r":"15121495112933232877381025088374356675640292011399430635775773821357690751196","eddsa_a":"17648086045609352049249615945248128101954805841269211445806056047142451514809"},"ciphertext":"01000000490aa8171fed6d2274601ebcdea1788b555bb531ed8ff8b29a995379c7343c0ef2a84e3ba249b9017b4d78f5f14c7bda77e5bb2af8659afb7473269291ac6c15b6e314573b50cdb5e654c641341023d5964d321cf2d3eef47c61431ae8565e38bc5e6d70246b701c2fca9a11431c47315def76ff4c53fb08ade0e816c497fd3aa927bc4651f9ed3da1c2938fb440ddeb508128a7202cafb7b9726978f840acb4bcfc71b5faf9a581ca7cb0bbc453b29afd1fdd0fcd1698953104efed5db3a96c02eae4b77df1","memo":"000000000000000000000000764abce81df62f291b2e969fb0849d99d9ce41e2f137006e01000000490aa8171fed6d2274601ebcdea1788b555bb531ed8ff8b29a995379c7343c0ef2a84e3ba249b9017b4d78f5f14c7bda77e5bb2af8659afb7473269291ac6c15b6e314573b50cdb5e654c641341023d5964d321cf2d3eef47c61431ae8565e38bc5e6d70246b701c2fca9a11431c47315def76ff4c53fb08ade0e816c497fd3aa927bc4651f9ed3da1c2938fb440ddeb508128a7202cafb7b9726978f840acb4bcfc71b5faf9a581ca7cb0bbc453b29afd1fdd0fcd1698953104efed5db3a96c02eae4b77df1","commitment_root":"15834514946512831270231733243843997289851947007578946515679173001834294837997","out_hashes":["6438754972669030713338430160212913447085129672199334406335478030365039790665","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461"],"parsed_delta":{"v":5,"e":0,"index":128}},"depositSignature":"580861c76e69dd8c298b115ebb5c325248fb33fa03adaae855a31aac83f9cc26dcfe584de794c62c6ba7869f62e9c8d4cea502f9359ff869b881a87de456f287","deadline":"1984609512","proof":{"inputs":["6122683495905748109448994617198178513613543159545648821997701168777062221514","1341885881370354741768253276053478883063555166264990034570142851045584707733","15834514946512831270231733243843997289851947007578946515679173001834294837997","12259964326927110866866776217202473468949912977468817413","12867813331910330892259049235589291431780338613651053731984409795394929024966"],"proof":{"a":["14910999927618120387629696240369824351815259767286745083861228379517807573476","12989809563888129296521035351189019226450033247562124380567718701303321035540"],"b":[["11653647755673065297626536146568579092237952963664450044333360978677935506276","11070861046791091926593841312586147060728611452648535543042174970410769833556"],["18123312808920371021217240536151710960237574288033432249660781459179275028166","14841425047889816221427132492025204934464423848010508802974706134522438208344"]],"c":["10986529246074577233132533496575740665655819521592960520418383424246726612994","6982548579837390531282365723321749012725360023184266185302962168968810908879"]}}}] \ No newline at end of file diff --git a/zp-relayer/test/flows/flow_independent_deposits_5.json b/zp-relayer/test/flows/flow_independent_deposits_5.json new file mode 100644 index 0000000..87133f0 --- /dev/null +++ b/zp-relayer/test/flows/flow_independent_deposits_5.json @@ -0,0 +1 @@ +[{"txType":"0003","txTypeData":{"from":"0x1df62f291b2e969fb0849d99d9ce41e2f137006e","amount":"5"},"transactionData":{"public":{"root":"11469701942666298368112882412133877458305516134926649826543144744382391691533","nullifier":"16142007376205249617950322847510875012147302836277203721895173500713964952531","out_commit":"447089824058814919270571350005775959014251914220559836329746611044227187149","delta":"5","memo":"1286647643304908147879611035885256400701425474847507109023522440711741321740"},"secret":{"tx":{"input":[{"d":"0","p_d":"5922671164386425939331920763061821860404848401323538647771898108358497054795","i":"0","b":"0","e":"0"},[{"d":"536853095880037482313677","p_d":"1802649670985647028998234449815125037228349169966674287979283154767099438005","b":"0","t":"831266033709522040404466"},{"d":"475204547662768244850378","p_d":"21594692935872399323591251663595825000516808777968499865489922350528378110791","b":"0","t":"678072072767637590264002"},{"d":"143041278458927808525371","p_d":"12350602728988829558621671465123449638335165364131766001241033280852275012444","b":"0","t":"810360822280925116627342"}]],"output":[{"d":"1182118365714098824885985","p_d":"18533982787746933499454212530198462124081449599034729256909235309103532810183","i":"0","b":"5","e":"0"},[{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"}]]},"in_proof":[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]}]],"eddsa_s":"1340160588005176295611968409150742963228363844791902495848825557261352556791","eddsa_r":"12707425438283330051089396669490276406652316111678302761829156591104377762825","eddsa_a":"11945205235703370290439930725504638231453004583171711394151836855006285040733"},"ciphertext":"01000000b3297748c5d8211aa26a0374d84d094127efda5ae03aabca82f0457f2f735f089a2ac08dbff8b19930e33444085f0f4990bfc0b7ed510a64008ece862d5e1d08db4f850df2bc451214312787d25127fa2541b5e24a8197222c17a760099fe50cf0ca571a5c9d0bdfba8cd35e19be5eb029ca71f70fc70884041475626a218c6cbb459c6f043f2ddde39e28a7fbdbf92476f995852f4a31400dd4551b07d28ae9fcb136a1b200d61d0187310016ae1d3cb282aa1d84b3c7e83b072bb79493234a140d65e4876a","memo":"000000000000000000000000764abd001df62f291b2e969fb0849d99d9ce41e2f137006e01000000b3297748c5d8211aa26a0374d84d094127efda5ae03aabca82f0457f2f735f089a2ac08dbff8b19930e33444085f0f4990bfc0b7ed510a64008ece862d5e1d08db4f850df2bc451214312787d25127fa2541b5e24a8197222c17a760099fe50cf0ca571a5c9d0bdfba8cd35e19be5eb029ca71f70fc70884041475626a218c6cbb459c6f043f2ddde39e28a7fbdbf92476f995852f4a31400dd4551b07d28ae9fcb136a1b200d61d0187310016ae1d3cb282aa1d84b3c7e83b072bb79493234a140d65e4876a","commitment_root":"447089824058814919270571350005775959014251914220559836329746611044227187149","out_hashes":["3787148241170884370856459325606263824825906580688034198059154600576069085619","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461"],"parsed_delta":{"v":5,"e":0,"index":0}},"depositSignature":"665fe0b9623f37bc9511d0bbabdd77bc3a2c97d6c5ac6860b96d6032d88c874d13981b579f9d837141683ed35119ca24f5151c974caa0183e6a9fbc626f1a3a8","deadline":"1984609536","proof":{"inputs":["11469701942666298368112882412133877458305516134926649826543144744382391691533","16142007376205249617950322847510875012147302836277203721895173500713964952531","447089824058814919270571350005775959014251914220559836329746611044227187149","5","1286647643304908147879611035885256400701425474847507109023522440711741321740"],"proof":{"a":["16108357056537821892802963952358736137542219274609068580950739911193962905737","15599792799347635389417286502291683968066907222908775707851325039945071688963"],"b":[["9302504108122463270732649903826036076975506837220984030355846315335706149146","9862791908006365484764685853822837097907865471971690847172104841296091848510"],["8898240348534295001107687531262404950662524522476720106274899185399258887660","15593706180972519248040919741163442133552193076236148483813152036514021335798"]],"c":["18924120635899809631019201998229573388112664425869976112337017490307715328454","9109100600202975830470402453216937640726269310546917455084960153435186694965"]}}},{"txType":"0003","txTypeData":{"from":"0x1df62f291b2e969fb0849d99d9ce41e2f137006e","amount":"5"},"transactionData":{"public":{"root":"11469701942666298368112882412133877458305516134926649826543144744382391691533","nullifier":"16775304615746923800690213892480216933695080466418101468361070363247784699432","out_commit":"3858346963152039681977491267469379641505875167913648748533110743791367646974","delta":"5","memo":"16717753297271834657881946445852671766797245682849547540734184749013252873916"},"secret":{"tx":{"input":[{"d":"0","p_d":"9512678849871690894379601682266065696736383172361397606828091275527543522903","i":"0","b":"0","e":"0"},[{"d":"944734314926707893874251","p_d":"1377082198282531486986519102027045653825757711614794495737476729494402115179","b":"0","t":"990833114835293203873276"},{"d":"688731109461391274850666","p_d":"1860293525554703857899770743201312794373182350106548410372336864604582992006","b":"0","t":"840111452689751812665203"},{"d":"973175649450531176551630","p_d":"8758795400376929697687357460876203687943368914780276182157051961611715640956","b":"0","t":"660229493587273419336850"}]],"output":[{"d":"597110229717081610220925","p_d":"14637655028518514348510450044923611010908030617339605324426761555780549071627","i":"0","b":"5","e":"0"},[{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"}]]},"in_proof":[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]}]],"eddsa_s":"74353027777785488671071442999317821960049044790963793464587863441077245339","eddsa_r":"4420215801451911147869032650046381139020213980094363152851622094024213324859","eddsa_a":"15087899104617919765208086898738714146173755046901060943836977805552466694313"},"ciphertext":"01000000b1462af4958007e006ab9952ab9626d61c03bc40d809d7c515fed4b759c372063cd7a593c0a73afa55b3809b7c5bd5519a2e99a621c3313db251744de2abf024f3821582c51f610a946e900fe66ab57e17da6b2802841bd20deb89715a113919276ea2a19513b03df351469af9c7478d224f65a2f251b368b534c79cda32aa94d49fec28c1de363d58313d887322c68ce42b65f1383d00cd5c92f178afb089a501df53edc27319d84d222cafbc64a9b0f881f2e9ab1f326bd8b9085300175ea6a2288ffe1abd","memo":"000000000000000000000000764abd001df62f291b2e969fb0849d99d9ce41e2f137006e01000000b1462af4958007e006ab9952ab9626d61c03bc40d809d7c515fed4b759c372063cd7a593c0a73afa55b3809b7c5bd5519a2e99a621c3313db251744de2abf024f3821582c51f610a946e900fe66ab57e17da6b2802841bd20deb89715a113919276ea2a19513b03df351469af9c7478d224f65a2f251b368b534c79cda32aa94d49fec28c1de363d58313d887322c68ce42b65f1383d00cd5c92f178afb089a501df53edc27319d84d222cafbc64a9b0f881f2e9ab1f326bd8b9085300175ea6a2288ffe1abd","commitment_root":"3858346963152039681977491267469379641505875167913648748533110743791367646974","out_hashes":["2916645916216981095975322228580159805070490284707169262841985785756551628465","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461"],"parsed_delta":{"v":5,"e":0,"index":0}},"depositSignature":"ba1bf90ab1401aa0e3986c470192091828608e8f9d163f23349470f79b61b7576d541063723972aa01e3201c17b11172f8e9f84ad1c99ffc96f75ad8c37c4121","deadline":"1984609536","proof":{"inputs":["11469701942666298368112882412133877458305516134926649826543144744382391691533","16775304615746923800690213892480216933695080466418101468361070363247784699432","3858346963152039681977491267469379641505875167913648748533110743791367646974","5","16717753297271834657881946445852671766797245682849547540734184749013252873916"],"proof":{"a":["7305539032363620893031088927486245101427039134284536138070220912723319228298","8000147168348861658842845757742660155093959633020314104253911821158887356218"],"b":[["5177719823237263262263976022475563027591739589981104329057403329792437075989","18452482612900802814082937453431068756201125585400877350961335289862254743480"],["2264562534263621137324563432247155249313326796779792018020611766957746364137","1126718834483818845606764092094084594535386317156991366160920133622974507144"]],"c":["1759522243381414716132502781696390528111723682887863575715242551979833231596","8683741901830440543532300020614320519346010291286601275276808928654126035470"]}}},{"txType":"0003","txTypeData":{"from":"0x1df62f291b2e969fb0849d99d9ce41e2f137006e","amount":"5"},"transactionData":{"public":{"root":"11469701942666298368112882412133877458305516134926649826543144744382391691533","nullifier":"14233119260714359540001841436653181254418850148832129374256803521418620993955","out_commit":"17352735390165733104586634040574013550345535802376655384386112954788687448278","delta":"5","memo":"1741229593660215272746749488810646278001549622208611825731143978351286764342"},"secret":{"tx":{"input":[{"d":"0","p_d":"2547642463672204937059167864810612518010942777427281615091233072758693053203","i":"0","b":"0","e":"0"},[{"d":"219113853350977713385156","p_d":"8926204722490091168448008507126708083464005222647134022819172744511874341569","b":"0","t":"526174840207996035506573"},{"d":"973488132261062711135872","p_d":"18214327631748773995868280825087644052733640207618849947932134161812978058030","b":"0","t":"226312088833252448082110"},{"d":"266613749831021790894793","p_d":"7856679097999269715217820807372404006123660474803622769681221743111658822914","b":"0","t":"1088373622045921781824598"}]],"output":[{"d":"993995905582950512695141","p_d":"5231206298600064585410649983719101026052385284569932516851889051844164825272","i":"0","b":"5","e":"0"},[{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"}]]},"in_proof":[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]}]],"eddsa_s":"2422422954022106834404226630777405457012801326101807611620349830984274176294","eddsa_r":"3987641457171262111471821261237894311832349631785963977111409343864673955018","eddsa_a":"12534821761328325003620977806950411197677085440720841691385305257737935557525"},"ciphertext":"01000000da0effe47dfd5f62d710b06b0d590e0777873c040422ef688ab1d59eb5d73401e08625ab0a88cb18a86eaf84f20c3f668628eeb98f4ade73a27d807cf3aa2c1905f832e96d228df05cf905b4ed052486efd797b8f8e85122743c56e602d06d66ab8fbfc4c5a2c73b8cf86564e26a4879a24558e5806070f503b5096b21f18f9277d6fdb0628495dd1dd2b26a3e0fe6b983df8cea76852a37359daa6f75a80122335eaad36a29fb0ba1823cc098e378aaa15fee1529df723ab2959d86bd98190a8a156fe497e2","memo":"000000000000000000000000764abd001df62f291b2e969fb0849d99d9ce41e2f137006e01000000da0effe47dfd5f62d710b06b0d590e0777873c040422ef688ab1d59eb5d73401e08625ab0a88cb18a86eaf84f20c3f668628eeb98f4ade73a27d807cf3aa2c1905f832e96d228df05cf905b4ed052486efd797b8f8e85122743c56e602d06d66ab8fbfc4c5a2c73b8cf86564e26a4879a24558e5806070f503b5096b21f18f9277d6fdb0628495dd1dd2b26a3e0fe6b983df8cea76852a37359daa6f75a80122335eaad36a29fb0ba1823cc098e378aaa15fee1529df723ab2959d86bd98190a8a156fe497e2","commitment_root":"17352735390165733104586634040574013550345535802376655384386112954788687448278","out_hashes":["545677667893899597147996941048422994610103686822572528488484916004604808922","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461"],"parsed_delta":{"v":5,"e":0,"index":0}},"depositSignature":"438d8e0d542e7d4a1b4a04489ecdc061c4a2a7fb9bb2cf37b68f37ab1f9791447ffcd05cda7eadd0cedd654ad60740d37669cd30c847cb177d09de887ff4479b","deadline":"1984609536","proof":{"inputs":["11469701942666298368112882412133877458305516134926649826543144744382391691533","14233119260714359540001841436653181254418850148832129374256803521418620993955","17352735390165733104586634040574013550345535802376655384386112954788687448278","5","1741229593660215272746749488810646278001549622208611825731143978351286764342"],"proof":{"a":["8151334403823207644185615955622988251796450793021209811604987031084586172965","15340115195011062966209617692085787637073209368870126671222503929476638812846"],"b":[["10717232020186716690328155974908193023428914180447184825455498147924742778021","5626917866019642808383589164751822238206754049402469711527215763506289521318"],["7573769847630286337478914422679201687747493620886279739661142234435455480943","7925203885857022371968638297519523613792045982281982061274777998610034048838"]],"c":["13415116801156693916653585828568542906851459338923816836529603651855653582398","7880422033208294166021689225792326779709994507968694564567293374973463481242"]}}},{"txType":"0003","txTypeData":{"from":"0x1df62f291b2e969fb0849d99d9ce41e2f137006e","amount":"5"},"transactionData":{"public":{"root":"11469701942666298368112882412133877458305516134926649826543144744382391691533","nullifier":"6803981302583146346836364535172245385016417126779491309454997314832834968753","out_commit":"17457948064771343768169495844479358219258377636019715183313248269098894368937","delta":"5","memo":"875623041794538444193197638539235627853569046886754537896716740952237924035"},"secret":{"tx":{"input":[{"d":"0","p_d":"14889278483812473367381934844341911263592532860002711880316432122054225174398","i":"0","b":"0","e":"0"},[{"d":"473319087312751393015848","p_d":"15203159462748196234904725895387664124021952397700442821989781144018975980262","b":"0","t":"566853691340244875395355"},{"d":"257814150521622006191514","p_d":"5119654997974000103846555782185243629477045439535056236753137656245874126828","b":"0","t":"305183579576323414325535"},{"d":"278100216997655618746894","p_d":"19383041731748030226518563883386334830695211586705372130924985905773554279192","b":"0","t":"673788764082230295395146"}]],"output":[{"d":"95249683419181680590836","p_d":"19386990083493166478696924174458816815657224904552827956441128982592654743407","i":"0","b":"5","e":"0"},[{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"}]]},"in_proof":[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]}]],"eddsa_s":"1806383450447712220895134655336503481091149501764470612430878489166927384036","eddsa_r":"11814058932548453290446228425715689669066668160236783980205648333442945188170","eddsa_a":"12894930030023534040932827777426873524000563197182023315329736731564124713569"},"ciphertext":"01000000ce3ff18654665e4fb3d740e73f64591e715edba850d070b3c815306c5d41ee209b850fca0e64fc479ec920cfcffef89999423ab1e1b07adf1dabf1b03a6ea0154e961d9d0ac347aa77ee3c42cc808a9fbb13099752cc3c13523209084a8932c0c3884a1c5b83f46e53508a631dbcc4ee03fa469a2488a2aa192d9261106b486c25bc315601930c98907fde3a770321443c260aa8c574b07c92f15f9020875e2beda1e6de594d2075f09b9367ff61c045dd8643c6dab1792bbf6570d87cd0167d1fbd8ae8edd6","memo":"000000000000000000000000764abd011df62f291b2e969fb0849d99d9ce41e2f137006e01000000ce3ff18654665e4fb3d740e73f64591e715edba850d070b3c815306c5d41ee209b850fca0e64fc479ec920cfcffef89999423ab1e1b07adf1dabf1b03a6ea0154e961d9d0ac347aa77ee3c42cc808a9fbb13099752cc3c13523209084a8932c0c3884a1c5b83f46e53508a631dbcc4ee03fa469a2488a2aa192d9261106b486c25bc315601930c98907fde3a770321443c260aa8c574b07c92f15f9020875e2beda1e6de594d2075f09b9367ff61c045dd8643c6dab1792bbf6570d87cd0167d1fbd8ae8edd6","commitment_root":"17457948064771343768169495844479358219258377636019715183313248269098894368937","out_hashes":["14894971888262869890454061884188484990776315486167043023184673984428614172622","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461"],"parsed_delta":{"v":5,"e":0,"index":0}},"depositSignature":"c68a74c262f138d74d61499f6b1b9afe4e0dc6779faa0c6dd08f46ffa012cde90e7343179c99c1953dc0640ef8a928317674ee8691fe0036056a9b3dbc4b44c5","deadline":"1984609537","proof":{"inputs":["11469701942666298368112882412133877458305516134926649826543144744382391691533","6803981302583146346836364535172245385016417126779491309454997314832834968753","17457948064771343768169495844479358219258377636019715183313248269098894368937","5","875623041794538444193197638539235627853569046886754537896716740952237924035"],"proof":{"a":["15831986074716661312714759695883000824569747148197951731946818627361067084690","9499049580622163161376698815866846183859603806062844959469839852314657373126"],"b":[["48306558306261208658698541163769683896900059916297278053325856372220353004","19393479372807326113561553715115524222306707417622324339817153572914927325586"],["3426754431679638115176632541323058817629494120320616777217476955579261654123","13244854982022980783075280314635900723733487316337736748324048134499287601889"]],"c":["3977332701214773694665298482902207200665469594910623373413943573999156293809","8851259723479841842503302818830531052289830853445482411962903793762177936159"]}}},{"txType":"0003","txTypeData":{"from":"0x1df62f291b2e969fb0849d99d9ce41e2f137006e","amount":"5"},"transactionData":{"public":{"root":"11469701942666298368112882412133877458305516134926649826543144744382391691533","nullifier":"1467051654337315986853206201150429441687826678194659949346346301173211854855","out_commit":"11114262113329738318552071221144694525799882003411385702975565671626189806650","delta":"5","memo":"1704620283020077560300144589802838895950402396303066171446131894901802259405"},"secret":{"tx":{"input":[{"d":"0","p_d":"16374683881069662514405946989569286539078229715829971487063480222291752522325","i":"0","b":"0","e":"0"},[{"d":"839883161259209424395075","p_d":"19704788528879817608090190555245983576012050495432784597501640428818053434485","b":"0","t":"736999132974793265278644"},{"d":"425313791490576627326901","p_d":"14690446495069763827018228510947639940031594601522505288872668446611759162765","b":"0","t":"1015815293693338036100769"},{"d":"1125291666566216619708016","p_d":"3669705293730924156220509041646995051777257107408444790218170630665019910279","b":"0","t":"1099956232630267790831407"}]],"output":[{"d":"631488810399619294531508","p_d":"3358322423137739943415912269598096041810626988568448105540000057503359913393","i":"0","b":"5","e":"0"},[{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"},{"d":"0","p_d":"0","b":"0","t":"0"}]]},"in_proof":[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},[{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]},{"sibling":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0"],"path":[false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false]}]],"eddsa_s":"1159423202565879527057818312786731236458797746457219877458441519213482946087","eddsa_r":"16409442195032641906803601387231058971767116928839816097991029328865336276985","eddsa_a":"13399237007686222279919800650487202905095455721713963039706129781475767626248"},"ciphertext":"010000009e915c55b12942fe642d0b5adc179f8e54387a8f7984c76c75cf63ea81dd6605e82a5878541af4ba1aecb966b70f7e623b467ef40195c03767fb27fc8f215e2013fcc4e7f15b582a149dd3e06502a4e577cc55bae998157ef55422eee85a7f7ddd2cec1b799c1251d889f48346cbe6ea8dd3eaea943e09bcd5a4aaab6194f4ec9db302fc79b09c4f69a5d6ac9581326d637562db22e62af0ac960cb46d5fe073bf44c13c97f8fa47ec2e4be59e790271a5b9b3a8939faa6c0c44b14dcfd77fdc97b4914e4569","memo":"000000000000000000000000764abd011df62f291b2e969fb0849d99d9ce41e2f137006e010000009e915c55b12942fe642d0b5adc179f8e54387a8f7984c76c75cf63ea81dd6605e82a5878541af4ba1aecb966b70f7e623b467ef40195c03767fb27fc8f215e2013fcc4e7f15b582a149dd3e06502a4e577cc55bae998157ef55422eee85a7f7ddd2cec1b799c1251d889f48346cbe6ea8dd3eaea943e09bcd5a4aaab6194f4ec9db302fc79b09c4f69a5d6ac9581326d637562db22e62af0ac960cb46d5fe073bf44c13c97f8fa47ec2e4be59e790271a5b9b3a8939faa6c0c44b14dcfd77fdc97b4914e4569","commitment_root":"11114262113329738318552071221144694525799882003411385702975565671626189806650","out_hashes":["2443311431983623782013082199831976878251641931438400492880797451288657564062","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461","6634257576132171181853636486652267162938250203364881974499045611385650496461"],"parsed_delta":{"v":5,"e":0,"index":0}},"depositSignature":"7c56bb5474e8223b43880c036f23bfc5638ce3f7ceef7da4d189772136534ab00d987988e8e1d0e20bd6584a3b32f0e77343d7c587e0a0e3833db4564874e792","deadline":"1984609537","proof":{"inputs":["11469701942666298368112882412133877458305516134926649826543144744382391691533","1467051654337315986853206201150429441687826678194659949346346301173211854855","11114262113329738318552071221144694525799882003411385702975565671626189806650","5","1704620283020077560300144589802838895950402396303066171446131894901802259405"],"proof":{"a":["5379383350681710490470008278843268774355898247373188247324361889012365295454","7248449263794447072006786381609002349339560561889341159893391526118434593710"],"b":[["7742875107034481151560486657350562981523346743239795371750500720057879205175","5902170854691040756918747798015466155447062581849941600428072690021271112100"],["1164249890764854086598906767607840450996113281776344604056685818216428964205","5055474953537104940462371636777764506354096293914402478644572072723554052770"]],"c":["3547710367127115421279969545474844659525436722514444880754791277991358345705","5091269134833652220971494791087041269586722057286549468295765162298486553291"]}}}] \ No newline at end of file diff --git a/zp-relayer/test/worker-tests/poolWorker.test.ts b/zp-relayer/test/worker-tests/poolWorker.test.ts new file mode 100644 index 0000000..29d9782 --- /dev/null +++ b/zp-relayer/test/worker-tests/poolWorker.test.ts @@ -0,0 +1,255 @@ +import chai from 'chai' +import { v4 } from 'uuid' +import { Mutex } from 'async-mutex' +import chaiAsPromised from 'chai-as-promised' +import { Job, QueueEvents, Worker } from 'bullmq' +import { TxType } from 'zp-memo-parser' +import { web3 } from './web3' +import { pool } from '../../pool' +import config from '../../config' +import { sentTxQueue, SentTxState } from '../../queue/sentTxQueue' +import { poolTxQueue, TxPayload, PoolTxResult } from '../../queue/poolTxQueue' +import { createPoolTxWorker } from '../../workers/poolTxWorker' +import { createSentTxWorker } from '../../workers/sentTxWorker' +import { PoolState } from '../../state/PoolState' +import { GasPrice } from '../../services/gas-price' +import { redis } from '../../services/redisClient' +import { initializeDomain } from '../../utils/EIP712SaltedPermit' +import { FlowOutputItem } from '../../../test-flow-generator/src/types' +import { + disableMining, + enableMining, + evmRevert, + evmSnapshot, + mintTokens, + newConnection, +} from './utils' +import { validateTx } from '../../validateTx' +import flow from '../flows/flow_independent_deposits_5.json' +import flowDependentDeposits from '../flows/flow_dependent_deposits_2.json' + +chai.use(chaiAsPromised) +const expect = chai.expect + +async function submitJob(item: FlowOutputItem): Promise> { + const job = await poolTxQueue.add('test', [ + { + amount: '0', + gas: '2000000', + txProof: item.proof, + txType: item.txType, + rawMemo: item.transactionData.memo, + depositSignature: item.depositSignature, + }, + ]) + return job +} + +describe('poolWorker', () => { + let poolWorker: Worker + let sentWorker: Worker + let gasPriceService: GasPrice<'web3'> + let poolQueueEvents: QueueEvents + let sentQueueEvents: QueueEvents + let workerMutex: Mutex + let snapShotId: string + let eventsInit = false + + beforeEach(async () => { + snapShotId = await evmSnapshot() + + const id = v4() + const statesPath = `${config.stateDirPath}${id}` + const poolState = new PoolState(`pool-${id}`, redis, statesPath) + const optimisticState = new PoolState(`optimistic-${id}`, redis, statesPath) + pool.loadState({ poolState, optimisticState }) + + await pool.init() + await initializeDomain(web3) + + gasPriceService = new GasPrice(web3, 10000, 'web3', {}) + await gasPriceService.start() + + workerMutex = new Mutex() + poolWorker = await createPoolTxWorker(gasPriceService, validateTx, workerMutex, redis) + sentWorker = await createSentTxWorker(gasPriceService, workerMutex, redis) + sentWorker.run() + poolWorker.run() + + if (!eventsInit) { + poolQueueEvents = new QueueEvents(poolWorker.name, { connection: redis }) + sentQueueEvents = new QueueEvents(sentWorker.name, { connection: redis }) + eventsInit = true + } + + await poolWorker.waitUntilReady() + await sentWorker.waitUntilReady() + await enableMining() + }) + + afterEach(async () => { + await evmRevert(snapShotId) + + await sentTxQueue.drain(true) + await poolTxQueue.drain(true) + + await poolWorker.close() + await sentWorker.close() + + await pool.state.jobIdsMapping.clear() + + gasPriceService.stop() + }) + + it('executes a job', async () => { + const deposit = flow[0] + await mintTokens(deposit.txTypeData.from as string, parseInt(deposit.txTypeData.amount)) + + // @ts-ignore + const job = await submitJob(deposit) + + const [[txHash, sentId]] = await job.waitUntilFinished(poolQueueEvents) + expect(txHash.length).eq(66) + + const sentJob = (await sentTxQueue.getJob(sentId)) as Job + const [status, sentHash] = await sentJob.waitUntilFinished(sentQueueEvents) + expect(status).eq(SentTxState.MINED) + expect(txHash).eq(sentHash) + + const r = await web3.eth.getTransactionReceipt(sentHash) + expect(r.status).eq(true) + }) + + it('should re-send tx', async () => { + const deposit = flow[0] + await mintTokens(deposit.txTypeData.from as string, parseInt(deposit.txTypeData.amount)) + await disableMining() + + sentWorker.on('progress', async () => { + await enableMining() + }) + + // @ts-ignore + const job = await submitJob(deposit) + + const [[txHash, sentId]] = await job.waitUntilFinished(poolQueueEvents) + expect(txHash.length).eq(66) + + const sentJob = (await sentTxQueue.getJob(sentId)) as Job + const [status, sentHash] = await sentJob.waitUntilFinished(sentQueueEvents) + expect(status).eq(SentTxState.MINED) + expect(txHash).not.eq(sentHash) + + const r = await web3.eth.getTransactionReceipt(sentHash) + expect(r.status).eq(true) + }) + + it('should re-submit optimistic txs after revert', async () => { + await poolWorker.pause() + + const deposit = flow[0] + await mintTokens(deposit.txTypeData.from as string, parseInt(deposit.txTypeData.amount)) + await sentWorker.pause() + + const mockPoolWorker = await createPoolTxWorker(gasPriceService, async () => { }, workerMutex, newConnection()) + mockPoolWorker.run() + await mockPoolWorker.waitUntilReady() + + // Incorrect signature + const wrongDeposit = { + ...deposit, + depositSignature: + 'ac7c17093f92ed1047c9c2a68506639abe8c5751ac8172622902cd07f0f87b3b78ea22626cb18f8ee4420f2e74414507c692fa15cc816f610a3adaaa6ef591cf', + } + // @ts-ignore + const poolJob1 = await submitJob(wrongDeposit) + // @ts-ignore + const poolJob2 = await submitJob(deposit) + + const [[, sentId1]] = await poolJob1.waitUntilFinished(poolQueueEvents) + const [[, sentId2]] = await poolJob2.waitUntilFinished(poolQueueEvents) + + sentWorker.resume() + const sentJob1 = (await sentTxQueue.getJob(sentId1)) as Job + const [status1, , rescheduledIds1] = await sentJob1.waitUntilFinished(sentQueueEvents) + expect(status1).eq(SentTxState.REVERT) + // Second failed tx should be rescheduled + expect(rescheduledIds1.length).eq(1) + + const sentJob2 = (await sentTxQueue.getJob(sentId2)) as Job + const [status2, , rescheduledIds2] = await sentJob2.waitUntilFinished(sentQueueEvents) + expect(status2).eq(SentTxState.REVERT) + expect(rescheduledIds2.length).eq(0) + + const poolJob3 = (await poolTxQueue.getJob(rescheduledIds1[0])) as Job + const [[, sentId3]] = await poolJob3.waitUntilFinished(poolQueueEvents) + expect(await pool.state.jobIdsMapping.get(poolJob2.id as string)).eq(poolJob3.id) + + const sentJob3 = (await sentTxQueue.getJob(sentId3)) as Job + const [status3, sentHash] = await sentJob3.waitUntilFinished(sentQueueEvents) + expect(status3).eq(SentTxState.MINED) + + const r = await web3.eth.getTransactionReceipt(sentHash) + expect(r.status).eq(true) + + expect(await poolTxQueue.count()).eq(0) + expect(await sentTxQueue.count()).eq(0) + + // Restore main worker + await mockPoolWorker.close() + poolWorker.resume() + await poolWorker.waitUntilReady() + }) + + it('should reject txs when maxSentQueueSize is reached', async () => { + const maxSentQueueSize = config.maxSentQueueSize + config.maxSentQueueSize = 0 + + const deposit = flow[0] + // @ts-ignore + const job = await submitJob(deposit) + await expect(job.waitUntilFinished(poolQueueEvents)).to.be.rejectedWith('Optimistic state overflow') + + config.maxSentQueueSize = maxSentQueueSize + }) + + it('should reject if proof incorrect', async () => { + const deposit = flowDependentDeposits[1] + await mintTokens(deposit.txTypeData.from as string, parseInt(deposit.txTypeData.amount)) + + // @ts-ignore + const job = await submitJob(deposit) + + await expect(job.waitUntilFinished(poolQueueEvents)).rejectedWith('Incorrect root at index') + }) + + it('should increase gas price on re-send', async () => { + const deposit = flow[0] + await mintTokens(deposit.txTypeData.from as string, parseInt(deposit.txTypeData.amount)) + await disableMining() + + // @ts-ignore + const job = await submitJob(deposit) + + const [[txHash, sentId]] = await job.waitUntilFinished(poolQueueEvents) + expect(txHash.length).eq(66) + + const txBefore = await web3.eth.getTransaction(txHash) + const gasPriceBefore = Number(txBefore.gasPrice) + + sentWorker.on('progress', async () => { + await enableMining() + }) + + const sentJob = (await sentTxQueue.getJob(sentId)) as Job + const [status, sentHash,] = await sentJob.waitUntilFinished(sentQueueEvents) + expect(status).eq(SentTxState.MINED) + expect(txHash).not.eq(sentHash) + + const txAfter = await web3.eth.getTransaction(sentHash) + const gasPriceAfter = Number(txAfter.gasPrice) + console.log(gasPriceBefore + ' < ' + gasPriceAfter) + + expect(gasPriceBefore).lt(gasPriceAfter) + }) +}) diff --git a/zp-relayer/test/worker-tests/utils.ts b/zp-relayer/test/worker-tests/utils.ts new file mode 100644 index 0000000..5384a2b --- /dev/null +++ b/zp-relayer/test/worker-tests/utils.ts @@ -0,0 +1,71 @@ +import type { HttpProvider } from 'web3-core' +import Redis from 'ioredis' +import { web3 } from './web3' +import { toBN } from 'web3-utils' +import TokenAbi from '../abi/token-abi.json' + +export const token = new web3.eth.Contract(TokenAbi as any, '0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab') +const denominator = toBN(1000000000) +const minter = '0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1' + +function callRpcMethod(method: string, params: any[] = []) { + return new Promise((res, rej) => { + ;(web3.currentProvider as HttpProvider).send( + { + jsonrpc: '2.0', + method, + params, + id: new Date().getTime(), + }, + function (err, response) { + if (err) rej(err) + res(response?.result) + } + ) + }) +} + +export async function mintTokens(to: string, amount: number) { + await token.methods + .mint(to, denominator.muln(amount)) + .send({ from: minter }) + .once('transactionHash', () => mineBlock()) +} + +export function getTokenBalance(address: string) { + return token.methods.balanceOf(address).call({ from: minter }) +} + +export function disableMining() { + return callRpcMethod('evm_setAutomine', [false]) +} + +export function enableMining() { + return callRpcMethod('evm_setAutomine', [true]) +} + +export function mineBlock() { + return callRpcMethod('anvil_mine') +} + +export function setNextBlockTimestamp(timestamp: number) { + return callRpcMethod('evm_setNextBlockTimestamp', [timestamp]) +} + +export function dropTransaction(hash: string) { + return callRpcMethod('anvil_dropTransaction', [hash]) +} + +export function evmSnapshot() { + return callRpcMethod('evm_snapshot') as Promise +} + +export function evmRevert(state: string) { + return callRpcMethod('evm_revert', [state]) +} + +export function newConnection() { + return new Redis('127.0.0.1:6379', { + maxRetriesPerRequest: null, + }) +} diff --git a/zp-relayer/test/worker-tests/web3.ts b/zp-relayer/test/worker-tests/web3.ts new file mode 100644 index 0000000..b09e6af --- /dev/null +++ b/zp-relayer/test/worker-tests/web3.ts @@ -0,0 +1,3 @@ +import Web3 from 'web3' + +export const web3 = new Web3('http://127.0.0.1:8545') diff --git a/zp-relayer/workers/poolTxWorker.ts b/zp-relayer/workers/poolTxWorker.ts index cebfa04..bc0eb2e 100644 --- a/zp-relayer/workers/poolTxWorker.ts +++ b/zp-relayer/workers/poolTxWorker.ts @@ -112,7 +112,7 @@ export async function createPoolTxWorker( }, { delay: config.sentTxDelay, - priority: txConfig.nonce, + priority: nonce, } )