diff --git a/.env.local.test b/.env.local.test index df393c07e..6fb1c22b6 100644 --- a/.env.local.test +++ b/.env.local.test @@ -11,7 +11,7 @@ VUE_APP_RSK_EXPLORER=https://explorer.testnet.rsk.co/ # replace VALUE with the clarity id for the environment the app is being deployed to. VUE_APP_PEGOUT_MIN_AMOUNT_ALLOWED_IN_RBTC=0.005 -VUE_APP_PEGOUT_MAX_AMOUNT_ALLOWED_IN_RBTC=1 +VUE_APP_PEGOUT_MAX_AMOUNT_ALLOWED_IN_RBTC=10 #VUE_APP_CLARITY_ID=VALUE ## fee boundaries diff --git a/.eslintrc.js b/.eslintrc.js index d72842da0..a075f6a13 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -32,6 +32,8 @@ module.exports = { ignoreUrls: true, }], 'vuejs-accessibility/mouse-events-have-key-events': 'off', + 'import/extensions': 'off', + 'global-require': 'off', }, overrides: [ { diff --git a/.github/workflows/deploy_MainNet_UI.yml b/.github/workflows/deploy_MainNet_UI.yml index fbba0ccab..da835edf4 100644 --- a/.github/workflows/deploy_MainNet_UI.yml +++ b/.github/workflows/deploy_MainNet_UI.yml @@ -8,6 +8,11 @@ on: jobs: checkout-and-build: runs-on: ubuntu-latest + environment: mainnet + permissions: + id-token: write + contents: read + steps: - name: Get tag name. id: get_tag_name @@ -41,13 +46,14 @@ jobs: VUE_APP_WALLET_ADDRESS_PER_CALL=20 VUE_APP_PEGOUT_MIN_AMOUNT_ALLOWED_IN_RBTC=0.004 VUE_APP_PEGOUT_MAX_AMOUNT_ALLOWED_IN_RBTC=10 + VUE_APP_PEGIN_MIN_AMOUNT_ALLOWED_IN_BTC=0.005 + VUE_APP_PEGIN_MAX_AMOUNT_ALLOWED_IN_BTC=10 npm run-script build - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 + uses: aws-actions/configure-aws-credentials@v4 with: - aws-access-key-id: ${{ secrets.MAINNET_AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.MAINNET_AWS_SECRET_ACCESS_KEY }} + role-to-assume: ${{ secrets.MAINNET_ROLE_ARN }} aws-region: us-east-1 - name: Deploy site to S3 diff --git a/.github/workflows/deploy_TestNet_UI.yml b/.github/workflows/deploy_TestNet_UI.yml index 157fecb66..64070502d 100644 --- a/.github/workflows/deploy_TestNet_UI.yml +++ b/.github/workflows/deploy_TestNet_UI.yml @@ -8,6 +8,11 @@ on: jobs: checkout-and-build: runs-on: ubuntu-latest + environment: testnet + permissions: + id-token: write + contents: read + steps: - name: Get tag name. id: get_tag_name @@ -41,13 +46,14 @@ jobs: VUE_APP_WALLET_ADDRESS_PER_CALL=20 VUE_APP_PEGOUT_MIN_AMOUNT_ALLOWED_IN_RBTC=0.004 VUE_APP_PEGOUT_MAX_AMOUNT_ALLOWED_IN_RBTC=10 + VUE_APP_PEGIN_MIN_AMOUNT_ALLOWED_IN_BTC=0.005 + VUE_APP_PEGIN_MAX_AMOUNT_ALLOWED_IN_BTC=10 npm run-script build - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 + uses: aws-actions/configure-aws-credentials@v4 with: - aws-access-key-id: ${{ secrets.TESTNET_AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.TESTNET_AWS_SECRET_ACCESS_KEY }} + role-to-assume: ${{ secrets.TESTNET_ROLE_ARN }} aws-region: us-east-1 - name: Deploy site to S3 diff --git a/.github/workflows/deploy_staging_MainNet_UI.yml b/.github/workflows/deploy_staging_MainNet_UI.yml index 68aadb3fe..69a67431d 100644 --- a/.github/workflows/deploy_staging_MainNet_UI.yml +++ b/.github/workflows/deploy_staging_MainNet_UI.yml @@ -8,6 +8,11 @@ on: jobs: checkout-and-build: runs-on: ubuntu-latest + environment: staging-mainnet + permissions: + id-token: write + contents: read + steps: - name: Get tag name. id: get_tag_name @@ -41,13 +46,14 @@ jobs: VUE_APP_WALLET_ADDRESS_PER_CALL=20 VUE_APP_PEGOUT_MIN_AMOUNT_ALLOWED_IN_RBTC=0.004 VUE_APP_PEGOUT_MAX_AMOUNT_ALLOWED_IN_RBTC=10 + VUE_APP_PEGIN_MIN_AMOUNT_ALLOWED_IN_BTC=0.005 + VUE_APP_PEGIN_MAX_AMOUNT_ALLOWED_IN_BTC=10 npm run-script build - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 + uses: aws-actions/configure-aws-credentials@v4 with: - aws-access-key-id: ${{ secrets.STAGING_MAINNET_AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.STAGING_MAINNET_AWS_SECRET_ACCESS_KEY }} + role-to-assume: ${{ secrets.STAGING_MAINNET_ROLE_ARN }} aws-region: us-east-1 - name: Deploy site to S3 diff --git a/.github/workflows/deploy_staging_TestNet_UI.yml b/.github/workflows/deploy_staging_TestNet_UI.yml index 029c255ab..fbd0bba00 100644 --- a/.github/workflows/deploy_staging_TestNet_UI.yml +++ b/.github/workflows/deploy_staging_TestNet_UI.yml @@ -8,6 +8,11 @@ on: jobs: checkout-and-build: runs-on: ubuntu-latest + environment: staging-testnet + permissions: + id-token: write + contents: read + steps: - name: Get tag name. id: get_tag_name @@ -16,7 +21,7 @@ jobs: - name: Checkout uses: actions/checkout@v3 with: - ref: qa + ref: qa - name: Setup NodeJS uses: actions/setup-node@v3 @@ -41,14 +46,15 @@ jobs: VUE_APP_WALLET_ADDRESS_PER_CALL=20 VUE_APP_PEGOUT_MIN_AMOUNT_ALLOWED_IN_RBTC=0.004 VUE_APP_PEGOUT_MAX_AMOUNT_ALLOWED_IN_RBTC=10 + VUE_APP_PEGIN_MIN_AMOUNT_ALLOWED_IN_BTC=0.005 + VUE_APP_PEGIN_MAX_AMOUNT_ALLOWED_IN_BTC=10 VUE_APP_LBC_ADDRESS='0xc2A630c053D12D63d32b025082f6Ba268db18300' npm run-script build - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 + uses: aws-actions/configure-aws-credentials@v4 with: - aws-access-key-id: ${{ secrets.STAGING_TESTNET_AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.STAGING_TESTNET_AWS_SECRET_ACCESS_KEY }} + role-to-assume: ${{ secrets.STAGING_TESTNET_ROLE_ARN }} aws-region: us-east-1 - name: Deploy site to S3 diff --git a/ENV_VARIABLES.md b/ENV_VARIABLES.md index 62fa2ee00..77880343a 100644 --- a/ENV_VARIABLES.md +++ b/ENV_VARIABLES.md @@ -2,25 +2,27 @@ This table was created to guide and centralize the **environment variables** necessary for correct execution. The value of these variables are used in **environment-variables.ts** file. -|NAME | DEV VALUE | DETAILS | -|--------------------------------------------|-------------|-----------------------------------------------------------------------------------------------------------| -|VUE_APP_COIN | `test / main` | The network that will be used for the bitcoin library. Accepted values are `test` or `main` | -|VUE_APP_MANIFEST_EMAIL | | | -|VUE_APP_MANIFEST_APP_URL | | Trezor connect Manifest is described [here](https://github.com/trezor/connect/blob/develop/docs/index.md) | -|VUE_APP_API_BASE_URL | | URL of the API (2wp-api) which is the BackEnd | -|VUE_APP_RSK_NODE_HOST | | RSK node URL to verify RSK data (e.g. POWpeg address | -|VUE_APP_CLARITY_ID | | A Clarity ID is uniquely generated identification for app usage metrics | -|VUE_APP_RSK_EXPLORER | | RSK EXPLORER URL used to verify the transaction status | -|VUE_APP_WALLET_ADDRESSES_HARD_STOP | `100` | Maximum number of addresses derived from wallet | -|VUE_APP_WALLET_ADDRESS_PER_CALL | `5` | Number of addresses obtained per derivation call | -|VUE_APP_PEGOUT_MIN_AMOUNT_ALLOWED_IN_RBTC | `0.004` | 0,004 Minimum allowed value for a PEGOUT transaction | -|VUE_APP_PEGOUT_MAX_AMOUNT_ALLOWED_IN_RBTC | `1` | 1 Maximum allowed value for a PEGOUT transaction | -|VUE_APP_BURN_DUST_VALUE | `30000` | Max value to burn in the tx fee | -|VUE_APP_MIN_FEE_SAT_PER_BYTE_FAST | `8` | Min fee rate (sats/byte) required to broadcast the transaction | -|VUE_APP_MIN_FEE_SAT_PER_BYTE_AVG | `4` | Min fee rate (sats/byte) required to broadcast the transaction | -|VUE_APP_MIN_FEE_SAT_PER_BYTE_SLOW | `1` | Min fee rate (sats/byte) required to broadcast the transaction | -|VUE_APP_LBC_ADDRESS | `0xc2A630c053D12D63d32b025082f6Ba268db18300` | Liquidity bridge contract address on the flyover protocol | -|VUE_APP_DEBUG_MODE | `false` | enable developer messages for debuging | +|NAME | DEV VALUE | DETAILS | +|--------------------------------------------|----------------------------------------------|-----------------------------------------------------------------------------------------------------------| +|VUE_APP_COIN | `test / main` | The network that will be used for the bitcoin library. Accepted values are `test` or `main` | +|VUE_APP_MANIFEST_EMAIL | | | +|VUE_APP_MANIFEST_APP_URL | | Trezor connect Manifest is described [here](https://github.com/trezor/connect/blob/develop/docs/index.md) | +|VUE_APP_API_BASE_URL | | URL of the API (2wp-api) which is the BackEnd | +|VUE_APP_RSK_NODE_HOST | | RSK node URL to verify RSK data (e.g. POWpeg address | +|VUE_APP_CLARITY_ID | | A Clarity ID is uniquely generated identification for app usage metrics | +|VUE_APP_RSK_EXPLORER | | RSK EXPLORER URL used to verify the transaction status | +|VUE_APP_WALLET_ADDRESSES_HARD_STOP | `100` | Maximum number of addresses derived from wallet | +|VUE_APP_WALLET_ADDRESS_PER_CALL | `5` | Number of addresses obtained per derivation call | +|VUE_APP_PEGOUT_MIN_AMOUNT_ALLOWED_IN_RBTC | `0.004` | 0,004 Minimum allowed value for a PEGOUT transaction | +|VUE_APP_PEGOUT_MAX_AMOUNT_ALLOWED_IN_RBTC | `10` | 10 Maximum allowed value for a PEGOUT transaction | +|VUE_APP_PEGIN_MIN_AMOUNT_ALLOWED_IN_BTC | `0.005` | Minimum allowed value for a PEGIN transaction | +|VUE_APP_PEGIN_MAX_AMOUNT_ALLOWED_IN_BTC | `10` | Maximum allowed value for a PEGIN transaction | +|VUE_APP_BURN_DUST_VALUE | `30000` | Max value to burn in the tx fee | +|VUE_APP_MIN_FEE_SAT_PER_BYTE_FAST | `8` | Min fee rate (sats/byte) required to broadcast the transaction | +|VUE_APP_MIN_FEE_SAT_PER_BYTE_AVG | `4` | Min fee rate (sats/byte) required to broadcast the transaction | +|VUE_APP_MIN_FEE_SAT_PER_BYTE_SLOW | `1` | Min fee rate (sats/byte) required to broadcast the transaction | +|VUE_APP_LBC_ADDRESS | `0xc2A630c053D12D63d32b025082f6Ba268db18300` | Liquidity bridge contract address on the flyover protocol | +|VUE_APP_DEBUG_MODE | `false` | enable developer messages for debuging | ## Example for .env.local.test file @@ -36,7 +38,7 @@ VUE_APP_RSK_EXPLORER=https://explorer.testnet.rootstock.io/ VUE_APP_WALLET_ADDRESSES_HARD_STOP=100 VUE_APP_WALLET_ADDRESS_PER_CALL=5 VUE_APP_PEGOUT_MIN_AMOUNT_ALLOWED_IN_RBTC=0.005 -VUE_APP_PEGOUT_MAX_AMOUNT_ALLOWED_IN_RBTC=1 +VUE_APP_PEGOUT_MAX_AMOUNT_ALLOWED_IN_RBTC=10 VUE_APP_BURN_DUST_VALUE=30000 VUE_APP_MIN_FEE_SAT_PER_BYTE_FAST=8 VUE_APP_MIN_FEE_SAT_PER_BYTE_AVG=4 diff --git a/package-lock.json b/package-lock.json index 703d5edcb..65a9513bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,21 +1,22 @@ { "name": "2wp-app", - "version": "1.9.0", + "version": "2.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "2wp-app", - "version": "1.9.0", + "version": "2.0.0", "dependencies": { + "@leather.io/rpc": "^2.0.2", "@ledgerhq/devices": "6.27.1", "@ledgerhq/hw-app-btc": "6.27.1", "@ledgerhq/hw-transport": "6.27.1", "@ledgerhq/hw-transport-webusb": "6.27.1", "@mdi/font": "^7.2.96", "@mdi/js": "^6.9.96", - "@rsksmart/bridges-core-sdk": "^0.2.0", - "@rsksmart/flyover-sdk": "^1.4.3", + "@rsksmart/bridges-core-sdk": "^0.3.3", + "@rsksmart/flyover-sdk": "^1.5.1", "@rsksmart/rlogin": "^1.5.3-beta.1", "@rsksmart/rlogin-ledger-provider": "^1.0.3", "@rsksmart/rlogin-trezor-provider": "^1.0.3", @@ -42,6 +43,7 @@ "https-browserify": "^1.0.0", "jest-environment-jsdom": "^27.5.1", "lodash": "^4.17.21", + "markdown-it": "^14.1.0", "moment": "^2.29.4", "os-browserify": "^0.3.0", "process": "^0.11.10", @@ -51,18 +53,21 @@ "tiny-secp256k1": "^1.1.6", "url": "^0.11.1", "vue": "^3.3.4", + "vue-i18n": "^9.13.1", "vue-router": "^4.2.4", - "vuetify": "^3.3.11", + "vuetify": "^3.5.17", "vuex": "^4.1.0", "web3": "^4.8.0", "web3-eth-contract": "^1.10.0" }, "devDependencies": { + "@intlify/vue-i18n-loader": "^4.2.0", "@ledgerhq/hw-transport-mocker": "^6.28.5", "@mdi/font": "^7.2.96", "@types/big.js": "^6.2.0", "@types/chai": "^4.2.11", "@types/jest": "^27.5.2", + "@types/markdown-it": "^14.1.1", "@types/node": "^20.4.7", "@types/sinon": "^10.0.2", "@types/w3c-web-usb": "^1.0.4", @@ -96,7 +101,8 @@ "ts-jest": "^27.1.5", "typescript": "^4.9.5", "vue-facing-decorator": "^2.1.20", - "vue-tsc": "^1.8.4" + "vue-tsc": "^1.8.4", + "webpack-plugin-vuetify": "^2.0.1" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -5135,6 +5141,141 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@intlify/bundle-utils": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@intlify/bundle-utils/-/bundle-utils-2.2.2.tgz", + "integrity": "sha512-vngkvlIVV8ZJoyC5VqMvqJd2nvsx+qMN7pQjPiPjOrVndeiR7Dlue0k86Q8FsFUzyksW3HJZZi833ldxwbFzTA==", + "dev": true, + "dependencies": { + "@intlify/message-compiler": "^9.1.0", + "@intlify/shared": "^9.1.0", + "jsonc-eslint-parser": "^1.0.1", + "source-map": "^0.6.1", + "yaml-eslint-parser": "^0.3.2" + }, + "engines": { + "node": ">= 12" + }, + "peerDependenciesMeta": { + "petite-vue-i18n": { + "optional": true + }, + "vue-i18n": { + "optional": true + } + } + }, + "node_modules/@intlify/core-base": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.13.1.tgz", + "integrity": "sha512-+bcQRkJO9pcX8d0gel9ZNfrzU22sZFSA0WVhfXrf5jdJOS24a+Bp8pozuS9sBI9Hk/tGz83pgKfmqcn/Ci7/8w==", + "dependencies": { + "@intlify/message-compiler": "9.13.1", + "@intlify/shared": "9.13.1" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.13.1.tgz", + "integrity": "sha512-SKsVa4ajYGBVm7sHMXd5qX70O2XXjm55zdZB3VeMFCvQyvLew/dLvq3MqnaIsTMF1VkkOb9Ttr6tHcMlyPDL9w==", + "dependencies": { + "@intlify/shared": "9.13.1", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/shared": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.13.1.tgz", + "integrity": "sha512-u3b6BKGhE6j/JeRU6C/RL2FgyJfy6LakbtfeVF8fJXURpZZTzfh3e05J0bu0XPw447Q6/WUp3C4ajv4TMS4YsQ==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + } + }, + "node_modules/@intlify/vue-i18n-loader": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@intlify/vue-i18n-loader/-/vue-i18n-loader-4.2.0.tgz", + "integrity": "sha512-d7aBmMNWJskcZPT5rJH4h2XHe/PwNoJUaY0PGla9g+NSD4B0UR8LBKrp126nlaUfA74Xt0FEGvzCfG9KdC9KoA==", + "dev": true, + "dependencies": { + "@intlify/bundle-utils": "^2.2.2", + "@intlify/shared": "^9.1.0", + "js-yaml": "^4.1.0", + "json5": "^2.2.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "petite-vue-i18n": "^9.1.0", + "vue": "^3.0.0", + "vue-i18n": "^9.1.0" + }, + "peerDependenciesMeta": { + "petite-vue-i18n": { + "optional": true + }, + "vue-i18n": { + "optional": true + } + } + }, + "node_modules/@intlify/vue-i18n-loader/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@intlify/vue-i18n-loader/node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/@intlify/vue-i18n-loader/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@intlify/vue-i18n-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, "node_modules/@isaacs/ttlcache": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", @@ -5754,7 +5895,7 @@ }, "node_modules/@jridgewell/source-map": { "version": "0.3.5", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", @@ -5773,6 +5914,23 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@leather.io/models": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@leather.io/models/-/models-0.10.2.tgz", + "integrity": "sha512-N4KTT0jApIZphx96/abD0xwA+4A23k+hmPWsf98N2LKxG5ZzYmuzoB5VUlw7hGdwpZFbDW625ALQjjPMPoyG8A==", + "dependencies": { + "@stacks/stacks-blockchain-api-types": "7.8.2", + "bignumber.js": "9.1.2" + } + }, + "node_modules/@leather.io/rpc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@leather.io/rpc/-/rpc-2.0.2.tgz", + "integrity": "sha512-xCEwMbhuaGpuP9oRZ+7QE6JwOGdz8LagxbSZj87kBLZQLk4MLkQpx+AdQ9u0VkbGaWyqSVYew2WEdqKFqYSbsA==", + "dependencies": { + "@leather.io/models": "0.10.2" + } + }, "node_modules/@ledgerhq/cryptoassets": { "version": "9.11.1", "license": "Apache-2.0", @@ -6661,9 +6819,9 @@ } }, "node_modules/@rsksmart/bridges-core-sdk": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@rsksmart/bridges-core-sdk/-/bridges-core-sdk-0.2.2.tgz", - "integrity": "sha512-oKr4s3G+7W9vMOx96n1RnSd2D5m6dRN+sSfy4yjca8Et77ZV+ScnlTWrHUjQzmmXuWK4S/DPOK34dum17XK9qA==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@rsksmart/bridges-core-sdk/-/bridges-core-sdk-0.3.3.tgz", + "integrity": "sha512-cc24DhHGhZYPI7Z0EHTYB5KepFNUVk7dbv+nH0rJtMGLSEfLlLCx2yja9vxc+MsLRXnwruD92cnnxklZbuyXyQ==", "dependencies": { "bech32": "^2.0.0", "bs58check": "^3.0.1", @@ -6700,11 +6858,11 @@ } }, "node_modules/@rsksmart/flyover-sdk": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/@rsksmart/flyover-sdk/-/flyover-sdk-1.4.6.tgz", - "integrity": "sha512-eFD8xXM2Ke9pOWIN9tlU7CtjDPbpxdOZ5xKnxu2tPF0BUXBtCkJjYkoqIvLxAo2nHQjuCoTE4Wcg9z52vyB3jA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@rsksmart/flyover-sdk/-/flyover-sdk-1.5.1.tgz", + "integrity": "sha512-WbWesV+3SoCIgruDq8GY9IPx5Rrm9gNJI6VDSTmQYHYzJ6xd3ZC1gu1c2LJjowtlRxyAGMAOvq34AasKsnL4AQ==", "dependencies": { - "@rsksmart/bridges-core-sdk": "^0.2.2", + "@rsksmart/bridges-core-sdk": "^0.3.3", "qrcode": "^1.5.1" } }, @@ -7322,6 +7480,11 @@ "zone-file": "^2.0.0-beta.3" } }, + "node_modules/@stacks/stacks-blockchain-api-types": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@stacks/stacks-blockchain-api-types/-/stacks-blockchain-api-types-7.8.2.tgz", + "integrity": "sha512-wcDSdgIZx/ttQfUTPtGJOIyEkTOjmCsC79TaIyxTIiihSgrGppqTuzkwHD/DyuQkcJtUZvDTxMsAXkBKShE1kw==" + }, "node_modules/@stacks/transactions": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/@stacks/transactions/-/transactions-6.13.0.tgz", @@ -7944,7 +8107,7 @@ }, "node_modules/@types/eslint": { "version": "8.44.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/estree": "*", @@ -7953,7 +8116,7 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.4", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/eslint": "*", @@ -7962,7 +8125,7 @@ }, "node_modules/@types/estree": { "version": "1.0.1", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/express": { @@ -8055,7 +8218,7 @@ }, "node_modules/@types/json-schema": { "version": "7.0.12", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/json5": { @@ -8086,10 +8249,32 @@ "@types/node": "*" } }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "dev": true + }, "node_modules/@types/lodash": { "version": "4.14.197", "license": "MIT" }, + "node_modules/@types/markdown-it": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==", + "dev": true, + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "dev": true + }, "node_modules/@types/mime": { "version": "1.3.2", "dev": true, @@ -9537,6 +9722,20 @@ "dev": true, "license": "MIT" }, + "node_modules/@vuetify/loader-shared": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@vuetify/loader-shared/-/loader-shared-1.7.1.tgz", + "integrity": "sha512-kLUvuAed6RCvkeeTNJzuy14pqnkur8lTuner7v7pNE/kVhPR97TuyXwBSBMR1cJeiLiOfu6SF5XlCYbXByEx1g==", + "devOptional": true, + "dependencies": { + "find-cache-dir": "^3.3.2", + "upath": "^2.0.1" + }, + "peerDependencies": { + "vue": "^3.0.0", + "vuetify": "^3.0.0-beta.4" + } + }, "node_modules/@walletconnect/browser-utils": { "version": "1.8.0", "license": "Apache-2.0", @@ -9800,7 +9999,7 @@ }, "node_modules/@webassemblyjs/ast": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -9809,22 +10008,22 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", @@ -9834,12 +10033,12 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -9850,7 +10049,7 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" @@ -9858,7 +10057,7 @@ }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" @@ -9866,12 +10065,12 @@ }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -9886,7 +10085,7 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -9898,7 +10097,7 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -9909,7 +10108,7 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -9922,7 +10121,7 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.6", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.6", @@ -9939,12 +10138,12 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "dev": true, + "devOptional": true, "license": "BSD-3-Clause" }, "node_modules/@xtuc/long": { "version": "4.2.2", - "dev": true, + "devOptional": true, "license": "Apache-2.0" }, "node_modules/abab": { @@ -10030,7 +10229,7 @@ }, "node_modules/acorn-import-assertions": { "version": "1.9.0", - "dev": true, + "devOptional": true, "license": "MIT", "peerDependencies": { "acorn": "^8" @@ -10150,7 +10349,7 @@ }, "node_modules/ajv-keywords": { "version": "3.5.2", - "dev": true, + "devOptional": true, "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" @@ -11349,10 +11548,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "license": "MIT", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -11722,6 +11922,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", + "devOptional": true, + "engines": { + "node": "*" + } + }, "node_modules/callsites": { "version": "3.1.0", "dev": true, @@ -11769,7 +11978,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001523", + "version": "1.0.30001646", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001646.tgz", + "integrity": "sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw==", "funding": [ { "type": "opencollective", @@ -11783,8 +11994,7 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/case-sensitive-paths-webpack-plugin": { "version": "2.4.0", @@ -11945,7 +12155,7 @@ }, "node_modules/chrome-trace-event": { "version": "1.0.3", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=6.0" @@ -13131,6 +13341,15 @@ } } }, + "node_modules/decache": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/decache/-/decache-4.6.2.tgz", + "integrity": "sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==", + "devOptional": true, + "dependencies": { + "callsite": "^1.0.0" + } + }, "node_modules/decamelize": { "version": "1.2.0", "license": "MIT", @@ -13966,7 +14185,7 @@ }, "node_modules/emojis-list": { "version": "3.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">= 4" @@ -14152,7 +14371,7 @@ }, "node_modules/es-module-lexer": { "version": "1.3.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/es-object-atoms": { @@ -14706,7 +14925,7 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", @@ -15104,7 +15323,7 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" @@ -15115,7 +15334,7 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -15123,7 +15342,7 @@ }, "node_modules/estraverse": { "version": "4.3.0", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -16764,6 +16983,67 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "devOptional": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "devOptional": true, + "engines": { + "node": "*" + } + }, + "node_modules/file-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "devOptional": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "devOptional": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/file-type": { "version": "5.2.0", "dev": true, @@ -16777,8 +17057,9 @@ "license": "MIT" }, "node_modules/fill-range": { - "version": "7.0.1", - "license": "MIT", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -16818,7 +17099,7 @@ }, "node_modules/find-cache-dir": { "version": "3.3.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "commondir": "^1.0.1", @@ -17499,7 +17780,7 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause" }, "node_modules/global": { @@ -18715,7 +18996,8 @@ }, "node_modules/is-number": { "version": "7.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "engines": { "node": ">=0.12.0" } @@ -21120,7 +21402,7 @@ }, "node_modules/jest-worker": { "version": "27.5.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/node": "*", @@ -21133,7 +21415,7 @@ }, "node_modules/jest-worker/node_modules/has-flag": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -21141,7 +21423,7 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -21474,7 +21756,7 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/json-rpc-engine": { @@ -21582,6 +21864,57 @@ "node": ">=6" } }, + "node_modules/jsonc-eslint-parser": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-1.4.1.tgz", + "integrity": "sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==", + "dev": true, + "dependencies": { + "acorn": "^7.4.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^1.3.0", + "espree": "^6.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/jsonc-eslint-parser/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonc-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jsonc-eslint-parser/node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/jsonfile": { "version": "6.1.0", "license": "MIT", @@ -22068,9 +22401,17 @@ "version": "1.2.4", "license": "MIT" }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, "node_modules/loader-runner": { "version": "4.3.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=6.11.5" @@ -22445,7 +22786,7 @@ }, "node_modules/make-dir": { "version": "3.1.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "semver": "^6.0.0" @@ -22470,6 +22811,38 @@ "tmpl": "1.0.5" } }, + "node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/marky": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.5.tgz", @@ -22546,6 +22919,11 @@ "dev": true, "license": "CC0-1.0" }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==" + }, "node_modules/media-typer": { "version": "0.3.0", "dev": true, @@ -22614,7 +22992,7 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/merge2": { @@ -23400,6 +23778,67 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/null-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", + "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", + "devOptional": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/null-loader/node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "devOptional": true, + "engines": { + "node": "*" + } + }, + "node_modules/null-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "devOptional": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/null-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "devOptional": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/nullthrows": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", @@ -24057,7 +24496,7 @@ }, "node_modules/pkg-dir": { "version": "4.2.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "find-up": "^4.0.0" @@ -24943,6 +25382,14 @@ "node": ">=6" } }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "engines": { + "node": ">=6" + } + }, "node_modules/pushdata-bitcoin": { "version": "1.0.1", "license": "MIT", @@ -26248,7 +26695,7 @@ }, "node_modules/serialize-javascript": { "version": "6.0.1", - "dev": true, + "devOptional": true, "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" @@ -27584,7 +28031,7 @@ }, "node_modules/terser": { "version": "5.19.2", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -27601,7 +28048,7 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.9", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", @@ -27634,7 +28081,7 @@ }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { "version": "3.3.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", @@ -27651,7 +28098,7 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/test-exclude": { @@ -27821,7 +28268,8 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { "is-number": "^7.0.0" }, @@ -28387,6 +28835,11 @@ "node": "*" } }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==" + }, "node_modules/unbox-primitive": { "version": "1.0.2", "license": "MIT", @@ -28617,6 +29070,16 @@ "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==", "dev": true }, + "node_modules/upath": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", + "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", + "devOptional": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.11", "funding": [ @@ -28962,6 +29425,25 @@ "dev": true, "license": "MIT" }, + "node_modules/vue-i18n": { + "version": "9.13.1", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.13.1.tgz", + "integrity": "sha512-mh0GIxx0wPtPlcB1q4k277y0iKgo25xmDPWioVVYanjPufDBpvu5ySTjP5wOrSvlYQ2m1xI+CFhGdauv/61uQg==", + "dependencies": { + "@intlify/core-base": "9.13.1", + "@intlify/shared": "9.13.1", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/kazupon" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, "node_modules/vue-loader": { "version": "17.2.2", "dev": true, @@ -29135,8 +29617,9 @@ "license": "ISC" }, "node_modules/vuetify": { - "version": "3.3.14", - "license": "MIT", + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.5.17.tgz", + "integrity": "sha512-/Veklxxyu/l63q7QQOqJZeZukIKI2sBxY7FKMDcNup2KSGMjyjT+oYXy1DOdl7wlU3c3fKGQMFHqVWb0HDsyDw==", "engines": { "node": "^12.20 || >=14.13" }, @@ -29146,10 +29629,10 @@ }, "peerDependencies": { "typescript": ">=4.7", - "vite-plugin-vuetify": "^1.0.0-alpha.12", - "vue": "^3.2.0", + "vite-plugin-vuetify": ">=1.0.0", + "vue": "^3.3.0", "vue-i18n": "^9.0.0", - "webpack-plugin-vuetify": "^2.0.0-alpha.11" + "webpack-plugin-vuetify": ">=2.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -29203,7 +29686,7 @@ }, "node_modules/watchpack": { "version": "2.4.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", @@ -30785,7 +31268,7 @@ }, "node_modules/webpack": { "version": "5.88.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", @@ -31163,9 +31646,68 @@ "node": ">=10.0.0" } }, + "node_modules/webpack-plugin-vuetify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/webpack-plugin-vuetify/-/webpack-plugin-vuetify-2.0.1.tgz", + "integrity": "sha512-vopDoL1Il9lhDReAYdhToMi/OkFqV8BebEEyviZqMwFvQ3XnsRIdPyDDvee336h46QzCg3utp/FL5h2DhqeqAw==", + "devOptional": true, + "dependencies": { + "@vuetify/loader-shared": "^1.7.1", + "decache": "^4.6.0", + "file-loader": "^6.2.0", + "find-cache-dir": "^3.3.2", + "loader-utils": "^2.0.0", + "mkdirp": "^1.0.4", + "null-loader": "^4.0.1", + "upath": "^2.0.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "@vue/compiler-sfc": "^3.2.6", + "vuetify": "^3.0.0-beta.4", + "webpack": "^5.0.0" + } + }, + "node_modules/webpack-plugin-vuetify/node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "devOptional": true, + "engines": { + "node": "*" + } + }, + "node_modules/webpack-plugin-vuetify/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "devOptional": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/webpack-plugin-vuetify/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "devOptional": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/webpack-sources": { "version": "3.2.3", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=10.13.0" @@ -31178,7 +31720,7 @@ }, "node_modules/webpack/node_modules/enhanced-resolve": { "version": "5.15.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", @@ -31190,7 +31732,7 @@ }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.3.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", @@ -31207,7 +31749,7 @@ }, "node_modules/webpack/node_modules/tapable": { "version": "2.2.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -31596,6 +32138,26 @@ "node": ">= 6" } }, + "node_modules/yaml-eslint-parser": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/yaml-eslint-parser/-/yaml-eslint-parser-0.3.2.tgz", + "integrity": "sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.3.0", + "lodash": "^4.17.20", + "yaml": "^1.10.0" + } + }, + "node_modules/yaml-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/yargs": { "version": "16.2.0", "dev": true, diff --git a/package.json b/package.json index 57c51dae1..fc2785626 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "2wp-app", - "version": "1.9.0", + "version": "2.0.0", "private": true, "scripts": { "serve": "vue-cli-service serve", @@ -12,14 +12,15 @@ "scanner": "npx sonar-scanner" }, "dependencies": { + "@leather.io/rpc": "^2.0.2", "@ledgerhq/devices": "6.27.1", "@ledgerhq/hw-app-btc": "6.27.1", "@ledgerhq/hw-transport": "6.27.1", "@ledgerhq/hw-transport-webusb": "6.27.1", "@mdi/font": "^7.2.96", "@mdi/js": "^6.9.96", - "@rsksmart/bridges-core-sdk": "^0.2.0", - "@rsksmart/flyover-sdk": "^1.4.3", + "@rsksmart/bridges-core-sdk": "^0.3.3", + "@rsksmart/flyover-sdk": "^1.5.1", "@rsksmart/rlogin": "^1.5.3-beta.1", "@rsksmart/rlogin-ledger-provider": "^1.0.3", "@rsksmart/rlogin-trezor-provider": "^1.0.3", @@ -46,6 +47,7 @@ "https-browserify": "^1.0.0", "jest-environment-jsdom": "^27.5.1", "lodash": "^4.17.21", + "markdown-it": "^14.1.0", "moment": "^2.29.4", "os-browserify": "^0.3.0", "process": "^0.11.10", @@ -55,18 +57,21 @@ "tiny-secp256k1": "^1.1.6", "url": "^0.11.1", "vue": "^3.3.4", + "vue-i18n": "^9.13.1", "vue-router": "^4.2.4", - "vuetify": "^3.3.11", + "vuetify": "^3.5.17", "vuex": "^4.1.0", "web3": "^4.8.0", "web3-eth-contract": "^1.10.0" }, "devDependencies": { + "@intlify/vue-i18n-loader": "^4.2.0", "@ledgerhq/hw-transport-mocker": "^6.28.5", "@mdi/font": "^7.2.96", "@types/big.js": "^6.2.0", "@types/chai": "^4.2.11", "@types/jest": "^27.5.2", + "@types/markdown-it": "^14.1.1", "@types/node": "^20.4.7", "@types/sinon": "^10.0.2", "@types/w3c-web-usb": "^1.0.4", @@ -100,6 +105,7 @@ "ts-jest": "^27.1.5", "typescript": "^4.9.5", "vue-facing-decorator": "^2.1.20", - "vue-tsc": "^1.8.4" + "vue-tsc": "^1.8.4", + "webpack-plugin-vuetify": "^2.0.1" } } diff --git a/src/App.vue b/src/App.vue index 08ac639dc..d9d31fbaa 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,18 +1,19 @@ + + + diff --git a/src/common/components/common/TermsContent.vue b/src/common/components/common/TermsContent.vue new file mode 100644 index 000000000..29c509bbf --- /dev/null +++ b/src/common/components/common/TermsContent.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/common/components/common/TermsDialog.vue b/src/common/components/common/TermsDialog.vue index 647a4e04e..4b3c2282e 100644 --- a/src/common/components/common/TermsDialog.vue +++ b/src/common/components/common/TermsDialog.vue @@ -1,25 +1,31 @@