diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index f1e366c2..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,79 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - extends: [ - 'standard', - 'plugin:promise/recommended', - 'plugin:@typescript-eslint/eslint-recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:prettier/recommended', - ], - plugins: ['mocha-no-only', 'promise', 'prettier', '@typescript-eslint', 'simple-import-sort', 'mocha'], - env: { - browser: true, - node: true, - mocha: true, - jest: true, - }, - globals: { - artifacts: false, - contract: false, - assert: false, - web3: false, - usePlugin: false, - extendEnvironment: false, - }, - rules: { - // Strict mode - strict: ['error', 'global'], - 'prettier/prettier': 'error', - // Code style - 'array-bracket-spacing': ['off'], - camelcase: ['error', { properties: 'always', allow: ['(.*?)__factory'] }], - 'comma-dangle': ['error', 'always-multiline'], - 'comma-spacing': ['error', { before: false, after: true }], - 'dot-notation': ['error', { allowKeywords: true, allowPattern: '' }], - 'eol-last': ['error', 'always'], - eqeqeq: ['error', 'smart'], - 'generator-star-spacing': ['error', 'before'], - 'linebreak-style': ['error', 'unix'], - 'max-len': ['error', 150, 2, { ignoreComments: true }], - 'no-debugger': 'off', - 'no-dupe-args': 'error', - 'no-dupe-keys': 'error', - 'no-mixed-spaces-and-tabs': ['error', 'smart-tabs'], - 'no-redeclare': ['error', { builtinGlobals: true }], - 'no-trailing-spaces': ['error', { skipBlankLines: false }], - 'no-unused-expressions': 'off', - 'no-non-null-asserted-optional-chain': 'off', - 'no-undef': 'error', - 'no-use-before-define': 'off', - 'no-var': 'error', - 'object-curly-spacing': ['error', 'always'], - 'prefer-const': 'error', - semi: ['error', 'always'], - 'space-before-function-paren': 0, - '@typescript-eslint/no-non-null-assertion': 0, - 'simple-import-sort/imports': 'error', - 'simple-import-sort/exports': 'error', - 'mocha-no-only/mocha-no-only': ['error'], - 'promise/always-return': 'off', - 'promise/avoid-new': 'off', - }, - overrides: [ - { - files: ['*.js'], - rules: { - '@typescript-eslint/no-var-requires': [0], - }, - }, - { - files: ['./test/**/*'], - rules: { - camelcase: [0], - }, - }, - ], - parserOptions: { - ecmaVersion: 2018, - }, -}; diff --git a/.github/workflows/ci-deep.yml b/.github/workflows/ci-deep.yml new file mode 100644 index 00000000..56adfeb5 --- /dev/null +++ b/.github/workflows/ci-deep.yml @@ -0,0 +1,149 @@ +name: "CI Deep" + +env: + FOUNDRY_PROFILE: "ci" + +on: + schedule: + - cron: "0 3 * * 0" # at 3:00am UTC every Sunday + workflow_dispatch: + inputs: + fuzzRuns: + default: "100000" + description: "Unit: number of fuzz runs." + required: false + invariantRuns: + default: "300" + description: "Unit: number of invariant runs." + required: false + invariantDepth: + default: "50" + description: "Unit: invariant depth." + required: false + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: "yarn" + + - name: Install dependencies + run: yarn install + + - name: Run solhint + run: yarn lint:check + + - name: "Add lint summary" + run: | + echo "## Lint result" >> $GITHUB_STEP_SUMMARY + echo "✅ Passed" >> $GITHUB_STEP_SUMMARY + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: "recursive" + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Compile foundry + run: yarn compile --sizes + + - name: "Cache the build so that it can be re-used by the other jobs" + uses: "actions/cache/save@v3" + with: + key: "build-${{ github.sha }}" + path: | + cache-forge + out + + - name: "Add build summary" + run: | + echo "## Build result" >> $GITHUB_STEP_SUMMARY + echo "✅ Passed" >> $GITHUB_STEP_SUMMARY + + test-unit: + needs: ["build", "lint"] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: "recursive" + + - uses: actions/cache/restore@v3 + with: + fail-on-cache-miss: true + path: | + cache-forge + out + key: "build-${{ github.sha }}" + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Run Foundry tests + run: yarn test:unit + + test-invariant: + needs: ["build", "lint"] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: "recursive" + + - uses: actions/cache/restore@v3 + with: + fail-on-cache-miss: true + path: | + cache-forge + out + key: "build-${{ github.sha }}" + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Run Foundry tests + run: yarn test:invariant + env: + FOUNDRY_INVARIANT_RUNS: ${{ github.event.inputs.invariantRuns }} + FOUNDRY_INVARIANT_DEPTH: ${{ github.event.inputs.invariantDepth }} + + test-fuzz: + needs: ["build", "lint"] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: "recursive" + + - uses: actions/cache/restore@v3 + with: + fail-on-cache-miss: true + path: | + cache-forge + out + key: "build-${{ github.sha }}" + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Run Foundry tests + run: yarn test:fuzz + env: + FOUNDRY_FUZZ_RUNS: ${{ github.event.inputs.fuzzRuns }} \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 37e40f40..78ba5266 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,92 +1,131 @@ -name: Transmuter CI +name: "CI" + +env: + FOUNDRY_PROFILE: "ci" on: - push: - branches: - - main workflow_dispatch: - inputs: - workflow_to_run: - type: choice - description: Which workflow to run? - required: true - options: - - all - - foundry-tests - - build-via-ir pull_request: - types: - - ready_for_review - - review_requested - pull_request_review: - types: [submitted] - -defaults: - run: - shell: bash + push: + branches: + - "main" jobs: - run-linters: - name: Run Linters - if: github.ref == 'refs/heads/main' || github.event.inputs.workflow_to_run == 'all' || github.event.review.state == 'approved' || github.event.action == 'ready_for_review' || github.event.action == 'review_requested' + lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v3 + + - uses: actions/setup-node@v3 with: node-version: 18 - - uses: actions/cache@v2 - with: - path: node_modules - key: yarn-${{ hashFiles('yarn.lock') }} - restore-keys: yarn- + cache: "yarn" + - name: Install dependencies + run: yarn install + + - name: Run solhint + run: yarn lint:check + + - name: "Add lint summary" run: | - yarn install --frozen-lockfile - - name: Run lint - run: yarn lint + echo "## Lint result" >> $GITHUB_STEP_SUMMARY + echo "✅ Passed" >> $GITHUB_STEP_SUMMARY - build-via-ir: - name: Compilation (via IR) - if: github.ref == 'refs/heads/main' || github.event.inputs.workflow_to_run == 'all' || github.event.inputs.workflow_to_run == 'build-via-ir' || github.event.review.state == 'approved' || github.event.action == 'ready_for_review' || github.event.action == 'review_requested' + build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + with: + submodules: "recursive" - - uses: actions/setup-node@v2 + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 with: - node-version: 18 - - uses: actions/cache@v2 + version: nightly + + - name: Compile foundry + run: yarn compile --sizes + + - name: "Cache the build so that it can be re-used by the other jobs" + uses: "actions/cache/save@v3" with: - path: node_modules - key: yarn-${{ hashFiles('yarn.lock') }} - restore-keys: yarn- - - run: yarn install --frozen-lockfile + key: "build-${{ github.sha }}" + path: | + cache-forge + out + + - name: "Add build summary" + run: | + echo "## Build result" >> $GITHUB_STEP_SUMMARY + echo "✅ Passed" >> $GITHUB_STEP_SUMMARY + + test-unit: + needs: ["build", "lint"] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: "recursive" + + - uses: actions/cache/restore@v3 + with: + fail-on-cache-miss: true + path: | + cache-forge + out + key: "build-${{ github.sha }}" - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 with: version: nightly - - name: Build contracts via IR - run: yarn compile + - name: Run Foundry tests + run: yarn test:unit - foundry-tests: - name: Unit, Fuzz and Invariant Tests - if: github.ref == 'refs/heads/main' || github.event.inputs.workflow_to_run == 'all' || github.event.inputs.workflow_to_run == 'foundry-tests' || github.event.review.state == 'approved' || github.event.action == 'ready_for_review' || github.event.action == 'review_requested' + test-invariant: + needs: ["build", "lint"] runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + with: + submodules: "recursive" - - uses: actions/setup-node@v2 + - uses: actions/cache/restore@v3 with: - node-version: 18 - - uses: actions/cache@v2 + fail-on-cache-miss: true + path: | + cache-forge + out + key: "build-${{ github.sha }}" + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Run Foundry tests + run: yarn test:invariant + env: + FOUNDRY_INVARIANT_RUNS: "8" + FOUNDRY_INVARIANT_DEPTH: "256" + + test-fuzz: + needs: ["build", "lint"] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 with: - path: node_modules - key: yarn-${{ hashFiles('yarn.lock') }} - restore-keys: yarn- - - run: yarn install --frozen-lockfile + submodules: "recursive" + + - uses: actions/cache/restore@v3 + with: + fail-on-cache-miss: true + path: | + cache-forge + out + key: "build-${{ github.sha }}" - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 @@ -94,11 +133,93 @@ jobs: version: nightly - name: Run Foundry tests - run: set -o pipefail && yarn run:ci | tee ethereum.gasreport.ansi + run: yarn test:fuzz + env: + FOUNDRY_FUZZ_RUNS: "5000" + + coverage: + needs: ["build", "lint"] + runs-on: "ubuntu-latest" + steps: + - uses: actions/checkout@v3 + with: + submodules: "recursive" + + - name: "Install Foundry" + uses: "foundry-rs/foundry-toolchain@v1" + + - name: "Install lcov" + run: "sudo apt-get install lcov" + + - name: "Generate the coverage report using the unit and the integration tests" + run: "yarn ci:coverage" + + - name: "Upload coverage report to Codecov" + uses: "codecov/codecov-action@v3" + with: + files: "./lcov.info" + token: ${{ secrets.CODECOV_TOKEN }} + + - name: "Add coverage summary" + run: | + echo "## Coverage result" >> $GITHUB_STEP_SUMMARY + echo "✅ Uploaded to Codecov" >> $GITHUB_STEP_SUMMARY + + slither-analyze: + needs: ["build", "lint"] + runs-on: "ubuntu-latest" + permissions: + actions: "read" + contents: "read" + security-events: "write" + steps: + - uses: actions/checkout@v3 + with: + submodules: "recursive" + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Compile foundry + run: forge build --build-info --skip */test/** */scripts/** --force + + - name: "Run Slither analysis" + uses: "crytic/slither-action@v0.3.0" + id: "slither" + with: + ignore-compile: true + fail-on: "none" + sarif: "results.sarif" + + - name: "Upload SARIF file to GitHub code scanning" + uses: "github/codeql-action/upload-sarif@v2" + with: + sarif_file: ${{ steps.slither.outputs.sarif }} + + - name: "Add Slither summary" + run: | + echo "## Slither result" >> $GITHUB_STEP_SUMMARY + echo "✅ Uploaded to GitHub code scanning" >> $GITHUB_STEP_SUMMARY + + check_storage_layout: + needs: ["build", "lint"] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Foundry + uses: onbjerg/foundry-toolchain@v1 + with: + version: nightly - - name: Compare gas reports - uses: Rubilmax/foundry-gas-diff@v3.13.4 - id: gas_diff + - name: Check storage layout + uses: Rubilmax/foundry-storage-check@v3.7 with: - match: contracts/transmuter/DiamondProxy.sol - report: ethereum.gasreport.ansi + contract: contracts/transmuter/Layout.sol:Layout + rpcUrl: ${{ secrets.ETH_NODE_URI_MAINNET }} + address: "0x00253582b2a3FE112feEC532221d9708c64cEFAb" + failOnRemoval: true \ No newline at end of file diff --git a/.gitignore b/.gitignore index 7f143f64..969ae7ff 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,6 @@ export typechain slither-audit.txt slither -slither.db.json # Test output coverage diff --git a/.gitmodules b/.gitmodules index 2dcd7201..1f7759a6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,4 +13,10 @@ [submodule "lib/borrow-contracts"] path = lib/borrow-contracts url = https://github.com/AngleProtocol/borrow-contracts - tags = v2.3 \ No newline at end of file + tags = v2.3 +[submodule "lib/openzeppelin-contracts-upgradeable"] + path = lib/openzeppelin-contracts-upgradeable + url = https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable +[submodule "lib/openzeppelin-contracts"] + path = lib/openzeppelin-contracts + url = https://github.com/OpenZeppelin/openzeppelin-contracts diff --git a/.prettierignore b/.prettierignore index 8b181c04..85d52698 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,2 +1,6 @@ contracts/transmuter/Storage.sol -contracts/transmuter/Layout.sol \ No newline at end of file +contracts/transmuter/Layout.sol + +lib +cache +out \ No newline at end of file diff --git a/.prettierrc b/.prettierrc index 11ad568c..bc496395 100644 --- a/.prettierrc +++ b/.prettierrc @@ -12,8 +12,7 @@ "options": { "printWidth": 120, "singleQuote": false, - "bracketSpacing": true, - "explicitTypes": "always" + "bracketSpacing": true } } ] diff --git a/.solhint.json b/.solhint.json index abd5deab..99c32602 100644 --- a/.solhint.json +++ b/.solhint.json @@ -9,7 +9,7 @@ "const-name-snakecase": "warn", "contract-name-camelcase": "warn", "imports-on-top": "warn", - "prettier/prettier": "off", + "prettier/prettier": "error", "ordering": "off", "max-states-count": "off", "mark-callable-contracts": "off", @@ -22,6 +22,7 @@ "no-inline-assembly": "off", "no-complex-fallback": "off", "reason-string": "off", - "func-visibility": ["warn", { "ignoreConstructors": true }] + "func-visibility": ["warn", { "ignoreConstructors": true }], + "explicit-types": ["error","explicit"] } } diff --git a/.solhintignore b/.solhintignore new file mode 100644 index 00000000..cb2c9f2f --- /dev/null +++ b/.solhintignore @@ -0,0 +1,14 @@ +# Doesn't need to lint dev files +lib +scripts +test + +# Doesn't need to lint build files +node_modules +cache-forge +out + +# Doesn't need to lint utils +contracts/transmuter/Storage.sol +contracts/transmuter/Layout.sol +external \ No newline at end of file diff --git a/README.md b/README.md index 23458edb..249a2bb5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Transmuter Angle - Transmuter -[![Transmuter CI](https://github.com/AngleProtocol/angle-transmuter/workflows/Transmuter%20CI/badge.svg)](https://github.com/AngleProtocol/angle-transmuter/actions) +[![Transmuter CI](https://github.com/AngleProtocol/angle-transmuter/actions/workflows/ci.yml/badge.svg)](https://github.com/AngleProtocol/angle-transmuter/actions) +[![Coverage](https://codecov.io/gh/AngleProtocol/angle-transmuter/branch/main/graph/badge.svg)](https://codecov.io/gh/AngleProtocol/angle-transmuter) ## What is Transmuter? diff --git a/contracts/savings/BaseSavings.sol b/contracts/savings/BaseSavings.sol index de38b252..d6e5b76f 100644 --- a/contracts/savings/BaseSavings.sol +++ b/contracts/savings/BaseSavings.sol @@ -60,4 +60,3 @@ import "../utils/Errors.sol"; abstract contract BaseSavings is ERC4626Upgradeable, AccessControl { } - diff --git a/contracts/transmuter/Storage.sol b/contracts/transmuter/Storage.sol index 7676fa9f..4eaa8b64 100644 --- a/contracts/transmuter/Storage.sol +++ b/contracts/transmuter/Storage.sol @@ -3,7 +3,6 @@ pragma solidity ^0.8.19; import { IERC20 } from "oz/token/ERC20/IERC20.sol"; - import { IAccessControlManager } from "interfaces/IAccessControlManager.sol"; import { IAgToken } from "interfaces/IAgToken.sol"; @@ -68,7 +67,7 @@ struct Permit2Details { address to; // Address that will receive the funds uint256 nonce; // Nonce of the transaction bytes signature; // Permit signature of the user -} +} struct FacetCut { address facetAddress; // Facet contract address diff --git a/lib/openzeppelin-contracts b/lib/openzeppelin-contracts new file mode 160000 index 00000000..ecd2ca2c --- /dev/null +++ b/lib/openzeppelin-contracts @@ -0,0 +1 @@ +Subproject commit ecd2ca2cd7cac116f7a37d0e474bbb3d7d5e1c4d diff --git a/lib/openzeppelin-contracts-upgradeable b/lib/openzeppelin-contracts-upgradeable new file mode 160000 index 00000000..0a2cb9a4 --- /dev/null +++ b/lib/openzeppelin-contracts-upgradeable @@ -0,0 +1 @@ +Subproject commit 0a2cb9a445c365870ed7a8ab461b12acf3e27d63 diff --git a/package.json b/package.json index 392463a2..4189fcd3 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,11 @@ { - "name": "angle-boilerplate", + "name": "angle-transmuter", "version": "1.0.0", "description": "", "scripts": { + "ci:coverage": "forge coverage --report lcov && yarn lcov:clean", "coverage": "FOUNDRY_PROFILE=dev forge coverage --report lcov && yarn lcov:clean && yarn lcov:generate-html", - "compile": "forge build --skip test", + "compile": "forge build", "compile:dev": "FOUNDRY_PROFILE=dev forge build", "deploy": "forge script --skip test --broadcast --verify --slow -vvvv --rpc-url polygonzkevm scripts/DeploySavings.s.sol", "deploy:fork": "source .env && forge script --skip test --slow --fork-url fork --broadcast scripts/DeploySavings.s.sol -vvvv", @@ -23,16 +24,18 @@ "fork:optimism": "source .env && anvil --fork-url $ETH_NODE_URI_OPTIMISM", "run": "docker run -it --rm -v $(pwd):/app -w /app ghcr.io/foundry-rs/foundry sh", "script:fork": "source .env && forge script --skip test --fork-url fork --broadcast -vvvv", - "run:ci": "FOUNDRY_PROFILE=ci forge test -vvv --gas-report", + "test:unit": "forge test -vvv --gas-report --match-path \"test/units/**/*.sol\"", + "test:invariant": "forge test -vvv --gas-report --match-path \"test/invariants/**/*.sol\"", + "test:fuzz": "forge test -vvv --gas-report --match-path \"test/fuzz/**/*.sol\"", "slither": "chmod +x ./slither.sh && ./slither.sh", "test": "FOUNDRY_PROFILE=dev forge test -vvv", - "lcov:clean": "lcov --remove lcov.info -o lcov.info 'test/**/**' 'test/**' 'contracts/transmuter/configs/**' 'contracts/utils/**'", + "lcov:clean": "lcov --remove lcov.info -o lcov.info 'test/**' 'scripts/**' 'contracts/transmuter/configs/**' 'contracts/utils/**'", "lcov:generate-html": "genhtml lcov.info --output=coverage", "size": "forge build --skip test --sizes", "size:dev": "FOUNDRY_PROFILE=dev forge build --skip test --sizes", - "lint": "yarn lint:sol", - "lint:js:fix": "eslint --ignore-path .gitignore --fix --max-warnings 30 'test/**/*.{js,ts}' '*.{js,ts}'", - "lint:sol": "solhint --fix --max-warnings 20 \"contracts/**/*.sol\"", + "prettier": "prettier --write '**/*.sol'", + "lint": "yarn lint:check --fix", + "lint:check": "solhint --max-warnings 20 \"**/*.sol\"", "verify:agEUR": "forge verify-contract --chain-id 100 --num-of-optimizations 1000 --watch --constructor-args $(cast abi-encode 'constructor(string memory,string memory,uint8)' 'Mock-AgEUR' 'Mock-AgEUR' 18) --compiler-version v0.8.19+commit.7dd6d40 --etherscan-api-key HQU42G9VWZ6KFNYTYKE6VFB7V48KMJ69HS 0x5fE0E497Ac676d8bA78598FC8016EBC1E6cE14a3 lib/borrow-contracts/contracts/mock/MockTokenPermit:MockTokenPermit.sol", "verify": "forge verify-contract --watch 0x8E669F6eF8485694196F32d568BA4Ac268b9FE8f Redeemer" }, @@ -40,53 +43,13 @@ "author": "Angle Core Team", "license": "GPL-3.0", "bugs": { - "url": "https://github.com/AngleProtocol/boilerplate/issues" + "url": "https://github.com/AngleProtocol/angle-transmuter/issues" }, "devDependencies": { - "@angleprotocol/sdk": "3.0.43", - "@ethersproject/abi": "^5.7.0", - "@ethersproject/providers": "^5.7.1", - "@openzeppelin/contracts": "^4.7.3", - "@openzeppelin/contracts-upgradeable": "4.7.3", - "@openzeppelin/test-helpers": "0.5.12", - "@openzeppelin/upgrades-core": "^1.20.0", - "@typechain/ethers-v5": "^10.1.0", - "@types/mocha": "^9.1.1", - "@types/yargs": "^17.0.12", - "@typescript-eslint/eslint-plugin": "4.28.4", - "@typescript-eslint/parser": "4.28.4", - "chai": "^4.3.6", - "chai-as-promised": "^7.1.1", - "chai-bn": "0.3.0", - "dotenv": "10.0.0", - "eslint": "7.31.0", - "eslint-config-prettier": "^8.3.0", - "eslint-config-standard": "16.0.3", - "eslint-plugin-import": "2.23.4", - "eslint-plugin-mocha-no-only": "1.1.1", - "eslint-plugin-node": "11.1.0", - "eslint-plugin-prettier": "3.4.0", - "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-standard": "5.0.0", - "ethers": "^5.7.1", - "ethereum-waffle": "^3.4.0", - "mocha": "^9.2.1", - "prettier": "2.7.1", - "prettier-plugin-solidity": "1.0.0-beta.17", - "solhint": "^3.4.1", - "solhint-plugin-prettier": "0.0.5", - "solidity-coverage": "^0.8.2", - "ts-node": "10.1.0", - "typechain": "^8.1.0", - "typescript": "^4.7.4" + "prettier": "^2.0.0", + "prettier-plugin-solidity": "^1.1.3", + "solhint": "^3.5.1", + "solhint-plugin-prettier": "^0.0.5" }, - "dependencies": { - "eslint-plugin-mocha": "^10.0.3", - "eslint-plugin-simple-import-sort": "^7.0.0", - "eth-sig-util": "^3.0.1", - "ethereumjs-util": "^7.1.4", - "fs-extra": "^10.0.0", - "solc": "0.8.12", - "yargs": "^17.5.1" - } + "dependencies": {} } diff --git a/remappings.txt b/remappings.txt index abd26245..3e0f047a 100644 --- a/remappings.txt +++ b/remappings.txt @@ -4,8 +4,10 @@ stringutils/=lib/solidity-stringutils contracts/=contracts/ test/=test/ interfaces/=contracts/interfaces/ -oz/=node_modules/@openzeppelin/contracts/ -oz-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/ +oz/=lib/openzeppelin-contracts/contracts/ +oz-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/ +@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/ +@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/ mock/=test/mock/ prb/math/=lib/prb-math/src/ borrow/=lib/borrow-contracts/contracts diff --git a/slither.config.json b/slither.config.json index dc60d8a2..a53a7aaa 100644 --- a/slither.config.json +++ b/slither.config.json @@ -1,13 +1,18 @@ { + "filter_paths": "(lib|test|external)", "solc_remaps": [ - "ds-test/=lib/ds-test/src/", + "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "stringutils/=lib/solidity-stringutils", "contracts/=contracts/", + "test/=test/", "interfaces/=contracts/interfaces/", - "oz/=node_modules/@openzeppelin/contracts/", - "oz-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/", + "oz/=lib/openzeppelin-contracts/contracts/", + "oz-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", + "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", + "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", "mock/=test/mock/", - "prb/math/=lib/prb-math/src/" + "prb/math/=lib/prb-math/src/", + "borrow/=lib/borrow-contracts/contracts" ] } diff --git a/slither.db.json b/slither.db.json new file mode 100644 index 00000000..057a7398 --- /dev/null +++ b/slither.db.json @@ -0,0 +1 @@ +[{"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "inverse = (3 * denominator) ^ 2", "source_mapping": {"start": 4460, "length": 39, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [117], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - inverse = (3 * denominator) ^ 2 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#117)\n", "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - [inverse = (3 * denominator) ^ 2](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L117)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", "id": "d5757e6727c1fd979b03f6138f32befb52a3a53c3f8e23a9970145a5973d779a", "check": "incorrect-exp", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "inverse = (3 * denominator) ^ 2", "source_mapping": {"start": 4449, "length": 39, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [117], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#55-135) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - inverse = (3 * denominator) ^ 2 (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#117)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135) has bitwise-xor operator ^ instead of the exponentiation operator **: \n\t - [inverse = (3 * denominator) ^ 2](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L117)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135", "id": "cb7cc3dd6c9c6a7b6d800edadc658a694815482b9a9e5e037cfe0371744b75bc", "check": "incorrect-exp", "impact": "High", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}, {"type": "node", "name": "basePowerTwo = (ratePerSecond * ratePerSecond + HALF_BASE_27) / BASE_27", "source_mapping": {"start": 5126, "length": 79, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [104], "starting_column": 9, "ending_column": 88}, "type_specific_fields": {"parent": {"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}}}, {"type": "node", "name": "basePowerThree = (basePowerTwo * ratePerSecond + HALF_BASE_27) / BASE_27", "source_mapping": {"start": 5215, "length": 80, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [105], "starting_column": 9, "ending_column": 89}, "type_specific_fields": {"parent": {"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}}}], "description": "Savings._computeUpdatedAssets(uint256,uint256) (contracts/savings/Savings.sol#99-109) performs a multiplication on the result of a division:\n\t- basePowerTwo = (ratePerSecond * ratePerSecond + HALF_BASE_27) / BASE_27 (contracts/savings/Savings.sol#104)\n\t- basePowerThree = (basePowerTwo * ratePerSecond + HALF_BASE_27) / BASE_27 (contracts/savings/Savings.sol#105)\n", "markdown": "[Savings._computeUpdatedAssets(uint256,uint256)](contracts/savings/Savings.sol#L99-L109) performs a multiplication on the result of a division:\n\t- [basePowerTwo = (ratePerSecond * ratePerSecond + HALF_BASE_27) / BASE_27](contracts/savings/Savings.sol#L104)\n\t- [basePowerThree = (basePowerTwo * ratePerSecond + HALF_BASE_27) / BASE_27](contracts/savings/Savings.sol#L105)\n", "first_markdown_element": "contracts/savings/Savings.sol#L99-L109", "id": "2b19182015bfaf8d54cc61f6745f052a27ed83d57a34dda553debe9c0ee60b17", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}, {"type": "node", "name": "basePowerTwo = (ratePerSecond * ratePerSecond + HALF_BASE_27) / BASE_27", "source_mapping": {"start": 5126, "length": 79, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [104], "starting_column": 9, "ending_column": 88}, "type_specific_fields": {"parent": {"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}}}, {"type": "node", "name": "secondTerm = (exp * expMinusOne * basePowerTwo) / 2", "source_mapping": {"start": 5305, "length": 59, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [106], "starting_column": 9, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}}}], "description": "Savings._computeUpdatedAssets(uint256,uint256) (contracts/savings/Savings.sol#99-109) performs a multiplication on the result of a division:\n\t- basePowerTwo = (ratePerSecond * ratePerSecond + HALF_BASE_27) / BASE_27 (contracts/savings/Savings.sol#104)\n\t- secondTerm = (exp * expMinusOne * basePowerTwo) / 2 (contracts/savings/Savings.sol#106)\n", "markdown": "[Savings._computeUpdatedAssets(uint256,uint256)](contracts/savings/Savings.sol#L99-L109) performs a multiplication on the result of a division:\n\t- [basePowerTwo = (ratePerSecond * ratePerSecond + HALF_BASE_27) / BASE_27](contracts/savings/Savings.sol#L104)\n\t- [secondTerm = (exp * expMinusOne * basePowerTwo) / 2](contracts/savings/Savings.sol#L106)\n", "first_markdown_element": "contracts/savings/Savings.sol#L99-L109", "id": "a5432639c432e9b8df6e254c3f260a331c6189d6b675cb8f893ddf268dfa9317", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}, {"type": "node", "name": "basePowerThree = (basePowerTwo * ratePerSecond + HALF_BASE_27) / BASE_27", "source_mapping": {"start": 5215, "length": 80, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [105], "starting_column": 9, "ending_column": 89}, "type_specific_fields": {"parent": {"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}}}, {"type": "node", "name": "thirdTerm = (exp * expMinusOne * expMinusTwo * basePowerThree) / 6", "source_mapping": {"start": 5374, "length": 74, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [107], "starting_column": 9, "ending_column": 83}, "type_specific_fields": {"parent": {"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}}}], "description": "Savings._computeUpdatedAssets(uint256,uint256) (contracts/savings/Savings.sol#99-109) performs a multiplication on the result of a division:\n\t- basePowerThree = (basePowerTwo * ratePerSecond + HALF_BASE_27) / BASE_27 (contracts/savings/Savings.sol#105)\n\t- thirdTerm = (exp * expMinusOne * expMinusTwo * basePowerThree) / 6 (contracts/savings/Savings.sol#107)\n", "markdown": "[Savings._computeUpdatedAssets(uint256,uint256)](contracts/savings/Savings.sol#L99-L109) performs a multiplication on the result of a division:\n\t- [basePowerThree = (basePowerTwo * ratePerSecond + HALF_BASE_27) / BASE_27](contracts/savings/Savings.sol#L105)\n\t- [thirdTerm = (exp * expMinusOne * expMinusTwo * basePowerThree) / 6](contracts/savings/Savings.sol#L107)\n", "first_markdown_element": "contracts/savings/Savings.sol#L99-L109", "id": "3b2b24b6207433561c4efe824a6361a6bc3832e1167091fe2add4ac7ae8a9e6e", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3758, "length": 37, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse = (3 * denominator) ^ 2", "source_mapping": {"start": 4460, "length": 39, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [117], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse = (3 * denominator) ^ 2 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#117)\n", "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse = (3 * denominator) ^ 2](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L117)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", "id": "dafd46d4f8c4625c4f3a256e1ea93a0fee8d450f2b6dead5825ba39094f116c8", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3758, "length": 37, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 4716, "length": 36, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [121], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#121)\n", "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L121)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", "id": "00b65e3a8fb42b635c27a085eb3b8c89d7b14ad83a5429e7ccfde9497a23828c", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3758, "length": 37, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 4785, "length": 36, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [122], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#122)\n", "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L122)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", "id": "333a89f3a8f64c59b998db6ddea224f5e5b6a3e18adc1cc4fe33353a9161141a", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3758, "length": 37, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 4855, "length": 36, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [123], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#123)\n", "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L123)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", "id": "4bd78131744a4ae01deecf9f70f7caa639f217aabb6958b7502762971ed7992c", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3758, "length": 37, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 4925, "length": 36, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [124], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#124)\n", "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L124)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", "id": "063a41726141c0824417315356cff50b71c19049fcd88cdabef685c7b2284446", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3758, "length": 37, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 4995, "length": 36, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [125], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#125)\n", "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L125)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", "id": "8e550aa740cfcf771bd2bf114b325d4e59d89cb74eda337db615a02086ec0332", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3758, "length": 37, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 5066, "length": 36, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [126], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#126)\n", "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L126)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", "id": "d3e6e10c122886674b1e5fd2ce413eb882f00fdadbc0ea78e283dc622c1e9768", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "prod0 = prod0 / twos", "source_mapping": {"start": 3862, "length": 25, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [105], "starting_column": 17, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "result = prod0 * inverse", "source_mapping": {"start": 5536, "length": 24, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [132], "starting_column": 13, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) performs a multiplication on the result of a division:\n\t- prod0 = prod0 / twos (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#105)\n\t- result = prod0 * inverse (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#132)\n", "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [prod0 = prod0 / twos](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L105)\n\t- [result = prod0 * inverse](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L132)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", "id": "b87038aa85530f57d3c926dfb00303da9021db0b4df6e6e2a16775cb835b5245", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3747, "length": 37, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse = (3 * denominator) ^ 2", "source_mapping": {"start": 4449, "length": 39, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [117], "starting_column": 13, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#102)\n\t- inverse = (3 * denominator) ^ 2 (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#117)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L102)\n\t- [inverse = (3 * denominator) ^ 2](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L117)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135", "id": "45a7ccc2edcee940e3a00fcacc16ae1e94b97b0074147aa6f9f2d3a69540171c", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3747, "length": 37, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 4705, "length": 36, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [121], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#121)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L121)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135", "id": "cc9d3df24a7e5db7136baf26ac3a128ffa37966b39d61398b9dcb10babf7e144", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3747, "length": 37, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 4774, "length": 36, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [122], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#122)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L122)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135", "id": "b4b184e84f126ecf69c3cf908f066bfffaeddaff6fb1a762944508e481536957", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3747, "length": 37, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 4844, "length": 36, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [123], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#123)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L123)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135", "id": "1d4bb838c9a4368c87edbcb185b37598b2ef9190d9b383ba66cca030f8c484dc", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3747, "length": 37, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 4914, "length": 36, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [124], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#124)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L124)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135", "id": "d73874586b7ae063e0b4cfc5f4995c632e338995ad31a6e7597af0a1e0f3340a", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3747, "length": 37, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 4984, "length": 36, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [125], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#125)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L125)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135", "id": "c53205ea2a3a2c260dc634aefe9fb58827abe71c818391ebb233acc038104ac6", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "denominator = denominator / twos", "source_mapping": {"start": 3747, "length": 37, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [102], "starting_column": 17, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "inverse *= 2 - denominator * inverse", "source_mapping": {"start": 5055, "length": 36, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [126], "starting_column": 13, "ending_column": 49}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:\n\t- denominator = denominator / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#102)\n\t- inverse *= 2 - denominator * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#126)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [denominator = denominator / twos](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L102)\n\t- [inverse *= 2 - denominator * inverse](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L126)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135", "id": "67e6547effdda83dbb22e858645c39fcb518311afee0bb371bf1be196717389b", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "prod0 = prod0 / twos", "source_mapping": {"start": 3851, "length": 25, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [105], "starting_column": 17, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "result = prod0 * inverse", "source_mapping": {"start": 5525, "length": 24, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [132], "starting_column": 13, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#55-135) performs a multiplication on the result of a division:\n\t- prod0 = prod0 / twos (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#105)\n\t- result = prod0 * inverse (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#132)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135) performs a multiplication on the result of a division:\n\t- [prod0 = prod0 / twos](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L105)\n\t- [result = prod0 * inverse](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L132)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135", "id": "0895eea9a094e543ba25da69484272579939eee56ea616b9376e8cb985d214d3", "check": "divide-before-multiply", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}, {"type": "node", "name": "exp == 0 || ratePerSecond == 0", "source_mapping": {"start": 4971, "length": 30, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [101], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}}}], "description": "Savings._computeUpdatedAssets(uint256,uint256) (contracts/savings/Savings.sol#99-109) uses a dangerous strict equality:\n\t- exp == 0 || ratePerSecond == 0 (contracts/savings/Savings.sol#101)\n", "markdown": "[Savings._computeUpdatedAssets(uint256,uint256)](contracts/savings/Savings.sol#L99-L109) uses a dangerous strict equality:\n\t- [exp == 0 || ratePerSecond == 0](contracts/savings/Savings.sol#L101)\n", "first_markdown_element": "contracts/savings/Savings.sol#L99-L109", "id": "7859c7d61879ace16dad2332f49527d6ac919e5ff99633c5672b96d480201e28", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_convertToAssets", "source_mapping": {"start": 9557, "length": 431, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToAssets(uint256,uint256,MathUpgradeable.Rounding)"}}, {"type": "node", "name": "(supply == 0)", "source_mapping": {"start": 9777, "length": 204, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [200, 201, 202, 203], "starting_column": 9, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_convertToAssets", "source_mapping": {"start": 9557, "length": 431, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToAssets(uint256,uint256,MathUpgradeable.Rounding)"}}}}], "description": "Savings._convertToAssets(uint256,uint256,MathUpgradeable.Rounding) (contracts/savings/Savings.sol#194-204) uses a dangerous strict equality:\n\t- (supply == 0) (contracts/savings/Savings.sol#200-203)\n", "markdown": "[Savings._convertToAssets(uint256,uint256,MathUpgradeable.Rounding)](contracts/savings/Savings.sol#L194-L204) uses a dangerous strict equality:\n\t- [(supply == 0)](contracts/savings/Savings.sol#L200-L203)\n", "first_markdown_element": "contracts/savings/Savings.sol#L194-L204", "id": "ab45c413904b3d33392ac34b8836c5c8718a76f7f36181651e35adb5a0f1c3b4", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_convertToShares", "source_mapping": {"start": 8725, "length": 446, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToShares(uint256,uint256,MathUpgradeable.Rounding)"}}, {"type": "node", "name": "(assets == 0 || supply == 0)", "source_mapping": {"start": 8945, "length": 219, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [179, 180, 181, 182], "starting_column": 9, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_convertToShares", "source_mapping": {"start": 8725, "length": 446, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToShares(uint256,uint256,MathUpgradeable.Rounding)"}}}}], "description": "Savings._convertToShares(uint256,uint256,MathUpgradeable.Rounding) (contracts/savings/Savings.sol#173-183) uses a dangerous strict equality:\n\t- (assets == 0 || supply == 0) (contracts/savings/Savings.sol#179-182)\n", "markdown": "[Savings._convertToShares(uint256,uint256,MathUpgradeable.Rounding)](contracts/savings/Savings.sol#L173-L183) uses a dangerous strict equality:\n\t- [(assets == 0 || supply == 0)](contracts/savings/Savings.sol#L179-L182)\n", "first_markdown_element": "contracts/savings/Savings.sol#L173-L183", "id": "902277a8fa0024dc1fc3a3dd1dca6a5eef08d0655337cb4a5b5b2afd8e9d6975", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_isVaultCollateralized", "source_mapping": {"start": 8876, "length": 125, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [224, 225, 226], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_isVaultCollateralized()"}}, {"type": "node", "name": "totalAssets() > 0 || totalSupply() == 0", "source_mapping": {"start": 8948, "length": 46, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [225], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_isVaultCollateralized", "source_mapping": {"start": 8876, "length": 125, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [224, 225, 226], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_isVaultCollateralized()"}}}}], "description": "ERC4626Upgradeable._isVaultCollateralized() (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#224-226) uses a dangerous strict equality:\n\t- totalAssets() > 0 || totalSupply() == 0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#225)\n", "markdown": "[ERC4626Upgradeable._isVaultCollateralized()](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L224-L226) uses a dangerous strict equality:\n\t- [totalAssets() > 0 || totalSupply() == 0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L225)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L224-L226", "id": "61f60ebc0a0b0a97e9b5c3aaf43523b56086f2744409db8e71b002b178262133", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_convertToAssets", "source_mapping": {"start": 6577, "length": 359, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToAssets(uint256,MathUpgradeable.Rounding)"}}, {"type": "node", "name": "(supply == 0)", "source_mapping": {"start": 6751, "length": 178, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [170, 171, 172, 173], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_convertToAssets", "source_mapping": {"start": 6577, "length": 359, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [168, 169, 170, 171, 172, 173, 174], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToAssets(uint256,MathUpgradeable.Rounding)"}}}}], "description": "ERC4626Upgradeable._convertToAssets(uint256,MathUpgradeable.Rounding) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#168-174) uses a dangerous strict equality:\n\t- (supply == 0) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#170-173)\n", "markdown": "[ERC4626Upgradeable._convertToAssets(uint256,MathUpgradeable.Rounding)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L168-L174) uses a dangerous strict equality:\n\t- [(supply == 0)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L170-L173)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L168-L174", "id": "08d854fb3d0e1e8b6274a03bea3fc7b44b940e9939028ce5fbf7726e2539958d", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "_convertToShares", "source_mapping": {"start": 6079, "length": 374, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToShares(uint256,MathUpgradeable.Rounding)"}}, {"type": "node", "name": "(assets == 0 || supply == 0)", "source_mapping": {"start": 6253, "length": 193, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [159, 160, 161, 162], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_convertToShares", "source_mapping": {"start": 6079, "length": 374, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [157, 158, 159, 160, 161, 162, 163], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToShares(uint256,MathUpgradeable.Rounding)"}}}}], "description": "ERC4626Upgradeable._convertToShares(uint256,MathUpgradeable.Rounding) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#157-163) uses a dangerous strict equality:\n\t- (assets == 0 || supply == 0) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#159-162)\n", "markdown": "[ERC4626Upgradeable._convertToShares(uint256,MathUpgradeable.Rounding)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L157-L163) uses a dangerous strict equality:\n\t- [(assets == 0 || supply == 0)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L159-L162)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L157-L163", "id": "1df2852cb99f35eaef24be0cb7e02446e4b1f8e82972bc7ab207eefbfa435533", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "estimatedAPR", "source_mapping": {"start": 9844, "length": 442, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "estimatedAPR()"}}, {"type": "node", "name": "lockedProfit() == 0", "source_mapping": {"start": 9976, "length": 19, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [188], "starting_column": 13, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "estimatedAPR", "source_mapping": {"start": 9844, "length": 442, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "estimatedAPR()"}}}}], "description": "SavingsVest.estimatedAPR() (contracts/savings/SavingsVest.sol#186-194) uses a dangerous strict equality:\n\t- lockedProfit() == 0 (contracts/savings/SavingsVest.sol#188)\n", "markdown": "[SavingsVest.estimatedAPR()](contracts/savings/SavingsVest.sol#L186-L194) uses a dangerous strict equality:\n\t- [lockedProfit() == 0](contracts/savings/SavingsVest.sol#L188)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L186-L194", "id": "dd3590cd5915eb3c5dc615e43825f7038f34d757eb5ce205561875251086e006", "check": "incorrect-equality", "impact": "Medium", "confidence": "High"}, {"elements": [{"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}, {"type": "node", "name": "_transmuter.updateNormalizer(minted,true)", "source_mapping": {"start": 5992, "length": 42, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [116], "starting_column": 17, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_agToken.mint(_surplusManager,surplusForProtocol)", "source_mapping": {"start": 6300, "length": 50, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [120], "starting_column": 17, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "lastUpdate = uint64(block.timestamp)", "source_mapping": {"start": 6688, "length": 36, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [126], "starting_column": 21, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "lastUpdate"}}], "description": "Reentrancy in SavingsVest.accrue() (contracts/savings/SavingsVest.sol#104-148):\n\tExternal calls:\n\t- _transmuter.updateNormalizer(minted,true) (contracts/savings/SavingsVest.sol#116)\n\t- _agToken.mint(_surplusManager,surplusForProtocol) (contracts/savings/SavingsVest.sol#120)\n\tState variables written after the call(s):\n\t- lastUpdate = uint64(block.timestamp) (contracts/savings/SavingsVest.sol#126)\n\tSavingsVest.lastUpdate (contracts/savings/SavingsVest.sol#33) can be used in cross function reentrancies:\n\t- SavingsVest.accrue() (contracts/savings/SavingsVest.sol#104-148)\n\t- SavingsVest.lastUpdate (contracts/savings/SavingsVest.sol#33)\n\t- SavingsVest.lockedProfit() (contracts/savings/SavingsVest.sol#151-168)\n", "markdown": "Reentrancy in [SavingsVest.accrue()](contracts/savings/SavingsVest.sol#L104-L148):\n\tExternal calls:\n\t- [_transmuter.updateNormalizer(minted,true)](contracts/savings/SavingsVest.sol#L116)\n\t- [_agToken.mint(_surplusManager,surplusForProtocol)](contracts/savings/SavingsVest.sol#L120)\n\tState variables written after the call(s):\n\t- [lastUpdate = uint64(block.timestamp)](contracts/savings/SavingsVest.sol#L126)\n\t[SavingsVest.lastUpdate](contracts/savings/SavingsVest.sol#L33) can be used in cross function reentrancies:\n\t- [SavingsVest.accrue()](contracts/savings/SavingsVest.sol#L104-L148)\n\t- [SavingsVest.lastUpdate](contracts/savings/SavingsVest.sol#L33)\n\t- [SavingsVest.lockedProfit()](contracts/savings/SavingsVest.sol#L151-L168)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L104-L148", "id": "921e0145717c53d9d4a603561981c188988cd91e91068af90f5bc34f74c364e7", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setParams", "source_mapping": {"start": 10960, "length": 631, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "setParams(bytes32,uint64)"}}, {"type": "node", "name": "accrue()", "source_mapping": {"start": 11364, "length": 8, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [214], "starting_column": 13, "ending_column": 21}, "type_specific_fields": {"parent": {"type": "function", "name": "setParams", "source_mapping": {"start": 10960, "length": 631, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "setParams(bytes32,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_transmuter.updateNormalizer(minted,true)", "source_mapping": {"start": 5992, "length": 42, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [116], "starting_column": 17, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_agToken.mint(_surplusManager,surplusForProtocol)", "source_mapping": {"start": 6300, "length": 50, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [120], "starting_column": 17, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_agToken.mint(address(this),surplus)", "source_mapping": {"start": 6746, "length": 37, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [127], "starting_column": 21, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_agToken.burnSelf(missing,address(this))", "source_mapping": {"start": 7556, "length": 41, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [143], "starting_column": 21, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_transmuter.updateNormalizer(missing,false)", "source_mapping": {"start": 7619, "length": 44, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [144], "starting_column": 21, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "protocolSafetyFee = param", "source_mapping": {"start": 11404, "length": 25, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [215], "starting_column": 31, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "setParams", "source_mapping": {"start": 10960, "length": 631, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "setParams(bytes32,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "protocolSafetyFee"}}, {"type": "node", "name": "vestingPeriod = uint32(param)", "source_mapping": {"start": 11466, "length": 29, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [216], "starting_column": 36, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "setParams", "source_mapping": {"start": 10960, "length": 631, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "setParams(bytes32,uint64)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "vestingPeriod"}}], "description": "Reentrancy in SavingsVest.setParams(bytes32,uint64) (contracts/savings/SavingsVest.sol#207-220):\n\tExternal calls:\n\t- accrue() (contracts/savings/SavingsVest.sol#214)\n\t\t- _transmuter.updateNormalizer(minted,true) (contracts/savings/SavingsVest.sol#116)\n\t\t- _agToken.mint(_surplusManager,surplusForProtocol) (contracts/savings/SavingsVest.sol#120)\n\t\t- _agToken.mint(address(this),surplus) (contracts/savings/SavingsVest.sol#127)\n\t\t- _agToken.burnSelf(missing,address(this)) (contracts/savings/SavingsVest.sol#143)\n\t\t- _transmuter.updateNormalizer(missing,false) (contracts/savings/SavingsVest.sol#144)\n\tState variables written after the call(s):\n\t- protocolSafetyFee = param (contracts/savings/SavingsVest.sol#215)\n\tSavingsVest.protocolSafetyFee (contracts/savings/SavingsVest.sol#36) can be used in cross function reentrancies:\n\t- SavingsVest.accrue() (contracts/savings/SavingsVest.sol#104-148)\n\t- SavingsVest.protocolSafetyFee (contracts/savings/SavingsVest.sol#36)\n\t- SavingsVest.setParams(bytes32,uint64) (contracts/savings/SavingsVest.sol#207-220)\n\t- vestingPeriod = uint32(param) (contracts/savings/SavingsVest.sol#216)\n\tSavingsVest.vestingPeriod (contracts/savings/SavingsVest.sol#40) can be used in cross function reentrancies:\n\t- SavingsVest.estimatedAPR() (contracts/savings/SavingsVest.sol#186-194)\n\t- SavingsVest.lockedProfit() (contracts/savings/SavingsVest.sol#151-168)\n\t- SavingsVest.setParams(bytes32,uint64) (contracts/savings/SavingsVest.sol#207-220)\n\t- SavingsVest.vestingPeriod (contracts/savings/SavingsVest.sol#40)\n", "markdown": "Reentrancy in [SavingsVest.setParams(bytes32,uint64)](contracts/savings/SavingsVest.sol#L207-L220):\n\tExternal calls:\n\t- [accrue()](contracts/savings/SavingsVest.sol#L214)\n\t\t- [_transmuter.updateNormalizer(minted,true)](contracts/savings/SavingsVest.sol#L116)\n\t\t- [_agToken.mint(_surplusManager,surplusForProtocol)](contracts/savings/SavingsVest.sol#L120)\n\t\t- [_agToken.mint(address(this),surplus)](contracts/savings/SavingsVest.sol#L127)\n\t\t- [_agToken.burnSelf(missing,address(this))](contracts/savings/SavingsVest.sol#L143)\n\t\t- [_transmuter.updateNormalizer(missing,false)](contracts/savings/SavingsVest.sol#L144)\n\tState variables written after the call(s):\n\t- [protocolSafetyFee = param](contracts/savings/SavingsVest.sol#L215)\n\t[SavingsVest.protocolSafetyFee](contracts/savings/SavingsVest.sol#L36) can be used in cross function reentrancies:\n\t- [SavingsVest.accrue()](contracts/savings/SavingsVest.sol#L104-L148)\n\t- [SavingsVest.protocolSafetyFee](contracts/savings/SavingsVest.sol#L36)\n\t- [SavingsVest.setParams(bytes32,uint64)](contracts/savings/SavingsVest.sol#L207-L220)\n\t- [vestingPeriod = uint32(param)](contracts/savings/SavingsVest.sol#L216)\n\t[SavingsVest.vestingPeriod](contracts/savings/SavingsVest.sol#L40) can be used in cross function reentrancies:\n\t- [SavingsVest.estimatedAPR()](contracts/savings/SavingsVest.sol#L186-L194)\n\t- [SavingsVest.lockedProfit()](contracts/savings/SavingsVest.sol#L151-L168)\n\t- [SavingsVest.setParams(bytes32,uint64)](contracts/savings/SavingsVest.sol#L207-L220)\n\t- [SavingsVest.vestingPeriod](contracts/savings/SavingsVest.sol#L40)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L207-L220", "id": "32f9215cc69620eecf86b1068635e33633aa7e23b9cd309d3190d29386a37aa1", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setRate", "source_mapping": {"start": 11651, "length": 194, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "setRate(uint208)"}}, {"type": "node", "name": "_accrue()", "source_mapping": {"start": 11770, "length": 9, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [237], "starting_column": 9, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "setRate", "source_mapping": {"start": 11651, "length": 194, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "setRate(uint208)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "IAgToken(asset()).mint(address(this),earned)", "source_mapping": {"start": 4578, "length": 45, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [92], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "_accrue", "source_mapping": {"start": 4225, "length": 449, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "rate = newRate", "source_mapping": {"start": 11789, "length": 14, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [238], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "setRate", "source_mapping": {"start": 11651, "length": 194, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "setRate(uint208)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "rate"}}], "description": "Reentrancy in Savings.setRate(uint208) (contracts/savings/Savings.sol#235-240):\n\tExternal calls:\n\t- _accrue() (contracts/savings/Savings.sol#237)\n\t\t- IAgToken(asset()).mint(address(this),earned) (contracts/savings/Savings.sol#92)\n\tState variables written after the call(s):\n\t- rate = newRate (contracts/savings/Savings.sol#238)\n\tSavings.rate (contracts/savings/Savings.sol#19) can be used in cross function reentrancies:\n\t- Savings._computeUpdatedAssets(uint256,uint256) (contracts/savings/Savings.sol#99-109)\n\t- Savings.rate (contracts/savings/Savings.sol#19)\n\t- Savings.setRate(uint208) (contracts/savings/Savings.sol#235-240)\n", "markdown": "Reentrancy in [Savings.setRate(uint208)](contracts/savings/Savings.sol#L235-L240):\n\tExternal calls:\n\t- [_accrue()](contracts/savings/Savings.sol#L237)\n\t\t- [IAgToken(asset()).mint(address(this),earned)](contracts/savings/Savings.sol#L92)\n\tState variables written after the call(s):\n\t- [rate = newRate](contracts/savings/Savings.sol#L238)\n\t[Savings.rate](contracts/savings/Savings.sol#L19) can be used in cross function reentrancies:\n\t- [Savings._computeUpdatedAssets(uint256,uint256)](contracts/savings/Savings.sol#L99-L109)\n\t- [Savings.rate](contracts/savings/Savings.sol#L19)\n\t- [Savings.setRate(uint208)](contracts/savings/Savings.sol#L235-L240)\n", "first_markdown_element": "contracts/savings/Savings.sol#L235-L240", "id": "549047b9e920331f0cbfb58c072a492b58a63f3e50739ae8a1d7b021e1e477f4", "check": "reentrancy-no-eth", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "targetData", "source_mapping": {"start": 1807, "length": 23, "filename_relative": "contracts/transmuter/configs/Test.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Test.sol", "filename_short": "contracts/transmuter/configs/Test.sol", "is_dependency": false, "lines": [53], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 518, "length": 7233, "filename_relative": "contracts/transmuter/configs/Test.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Test.sol", "filename_short": "contracts/transmuter/configs/Test.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Test", "source_mapping": {"start": 498, "length": 7255, "filename_relative": "contracts/transmuter/configs/Test.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Test.sol", "filename_short": "contracts/transmuter/configs/Test.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,CollateralSetup,CollateralSetup,CollateralSetup)"}}}}], "description": "Test.initialize(IAccessControlManager,address,CollateralSetup,CollateralSetup,CollateralSetup).targetData (contracts/transmuter/configs/Test.sol#53) is a local variable never initialized\n", "markdown": "[Test.initialize(IAccessControlManager,address,CollateralSetup,CollateralSetup,CollateralSetup).targetData](contracts/transmuter/configs/Test.sol#L53) is a local variable never initialized\n", "first_markdown_element": "contracts/transmuter/configs/Test.sol#L53", "id": "01b21b1ac7ec4a9c1529d5ee5ad5a9ad699ef50220b03cbe188cd5e6dd599d2d", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "v", "source_mapping": {"start": 14063, "length": 23, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [279], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "_quoteFees", "source_mapping": {"start": 13897, "length": 9750, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper", "source_mapping": {"start": 2469, "length": 28288, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580], "starting_column": 1, "ending_column": 2}}, "signature": "_quoteFees(Collateral,QuoteType,uint256)"}}}}], "description": "Swapper._quoteFees(Collateral,QuoteType,uint256).v (contracts/transmuter/facets/Swapper.sol#279) is a local variable never initialized\n", "markdown": "[Swapper._quoteFees(Collateral,QuoteType,uint256).v](contracts/transmuter/facets/Swapper.sol#L279) is a local variable never initialized\n", "first_markdown_element": "contracts/transmuter/facets/Swapper.sol#L279", "id": "d3e5f8c91957e3c10f4da633aba14578800667a9ada15384918406ecf15c3b63", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "amount", "source_mapping": {"start": 15332, "length": 14, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [301], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "_quoteFees", "source_mapping": {"start": 13897, "length": 9750, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper", "source_mapping": {"start": 2469, "length": 28288, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580], "starting_column": 1, "ending_column": 2}}, "signature": "_quoteFees(Collateral,QuoteType,uint256)"}}}}], "description": "Swapper._quoteFees(Collateral,QuoteType,uint256).amount (contracts/transmuter/facets/Swapper.sol#301) is a local variable never initialized\n", "markdown": "[Swapper._quoteFees(Collateral,QuoteType,uint256).amount](contracts/transmuter/facets/Swapper.sol#L301) is a local variable never initialized\n", "first_markdown_element": "contracts/transmuter/facets/Swapper.sol#L301", "id": "7875c96db6b3f4148ca992fd4a9293708dc6746d020b9ef53bbc9416fb165bf9", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "indexCollateral", "source_mapping": {"start": 6473, "length": 23, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [130], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "_redeem", "source_mapping": {"start": 5081, "length": 2406, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Redeemer", "source_mapping": {"start": 963, "length": 11072, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,address,uint256,uint256[],address[])"}}}}], "description": "Redeemer._redeem(uint256,address,uint256,uint256[],address[]).indexCollateral (contracts/transmuter/facets/Redeemer.sol#130) is a local variable never initialized\n", "markdown": "[Redeemer._redeem(uint256,address,uint256,uint256[],address[]).indexCollateral](contracts/transmuter/facets/Redeemer.sol#L130) is a local variable never initialized\n", "first_markdown_element": "contracts/transmuter/facets/Redeemer.sol#L130", "id": "93bc290da241b9576979b92debb8297955f6671d4598ff60880f14a299ceea5c", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "penaltyFactor", "source_mapping": {"start": 8298, "length": 20, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [162], "starting_column": 9, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "function", "name": "_quoteRedemptionCurve", "source_mapping": {"start": 7701, "length": 1840, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Redeemer", "source_mapping": {"start": 963, "length": 11072, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "_quoteRedemptionCurve(uint256)"}}}}], "description": "Redeemer._quoteRedemptionCurve(uint256).penaltyFactor (contracts/transmuter/facets/Redeemer.sol#162) is a local variable never initialized\n", "markdown": "[Redeemer._quoteRedemptionCurve(uint256).penaltyFactor](contracts/transmuter/facets/Redeemer.sol#L162) is a local variable never initialized\n", "first_markdown_element": "contracts/transmuter/facets/Redeemer.sol#L162", "id": "b670fd600398d2a8bf31618154a1ad6b591dff06816ee4e5e918628695f4e13f", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "subCollateralsAmount", "source_mapping": {"start": 1879, "length": 28, "filename_relative": "contracts/transmuter/libraries/LibGetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibGetters.sol", "filename_short": "contracts/transmuter/libraries/LibGetters.sol", "is_dependency": false, "lines": [46], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "getCollateralRatio", "source_mapping": {"start": 1354, "length": 3305, "filename_relative": "contracts/transmuter/libraries/LibGetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibGetters.sol", "filename_short": "contracts/transmuter/libraries/LibGetters.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibGetters", "source_mapping": {"start": 524, "length": 4137, "filename_relative": "contracts/transmuter/libraries/LibGetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibGetters.sol", "filename_short": "contracts/transmuter/libraries/LibGetters.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 1, "ending_column": 2}}, "signature": "getCollateralRatio()"}}}}], "description": "LibGetters.getCollateralRatio().subCollateralsAmount (contracts/transmuter/libraries/LibGetters.sol#46) is a local variable never initialized\n", "markdown": "[LibGetters.getCollateralRatio().subCollateralsAmount](contracts/transmuter/libraries/LibGetters.sol#L46) is a local variable never initialized\n", "first_markdown_element": "contracts/transmuter/libraries/LibGetters.sol#L46", "id": "e6f32a4819b34921c895d6d1b0cf5fe684b0c97d15e4ecd21c6b66030168cacb", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "targetData", "source_mapping": {"start": 3065, "length": 23, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [83], "starting_column": 13, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 628, "length": 3884, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FakeGnosis", "source_mapping": {"start": 602, "length": 3912, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address[],address[])"}}}}], "description": "FakeGnosis.initialize(IAccessControlManager,address,address[],address[]).targetData (contracts/transmuter/configs/FakeGnosis.sol#83) is a local variable never initialized\n", "markdown": "[FakeGnosis.initialize(IAccessControlManager,address,address[],address[]).targetData](contracts/transmuter/configs/FakeGnosis.sol#L83) is a local variable never initialized\n", "first_markdown_element": "contracts/transmuter/configs/FakeGnosis.sol#L83", "id": "31b0a1f7634523b3251f85208184b76395e3801ac9d9dffff2f4fb0f50716316", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "details", "source_mapping": {"start": 26230, "length": 29, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [500], "starting_column": 9, "ending_column": 38}, "type_specific_fields": {"parent": {"type": "function", "name": "_buildPermitTransferPayload", "source_mapping": {"start": 25951, "length": 1008, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper", "source_mapping": {"start": 2469, "length": 28288, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580], "starting_column": 1, "ending_column": 2}}, "signature": "_buildPermitTransferPayload(uint256,uint256,address,uint256,bytes,Collateral)"}}}}], "description": "Swapper._buildPermitTransferPayload(uint256,uint256,address,uint256,bytes,Collateral).details (contracts/transmuter/facets/Swapper.sol#500) is a local variable never initialized\n", "markdown": "[Swapper._buildPermitTransferPayload(uint256,uint256,address,uint256,bytes,Collateral).details](contracts/transmuter/facets/Swapper.sol#L500) is a local variable never initialized\n", "first_markdown_element": "contracts/transmuter/facets/Swapper.sol#L500", "id": "31d58d20740377f1f03154dd2f711f2078e925259284fca6ba923f3af90e895b", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "countCollat", "source_mapping": {"start": 2576, "length": 19, "filename_relative": "contracts/transmuter/libraries/LibGetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibGetters.sol", "filename_short": "contracts/transmuter/libraries/LibGetters.sol", "is_dependency": false, "lines": [59], "starting_column": 13, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "getCollateralRatio", "source_mapping": {"start": 1354, "length": 3305, "filename_relative": "contracts/transmuter/libraries/LibGetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibGetters.sol", "filename_short": "contracts/transmuter/libraries/LibGetters.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibGetters", "source_mapping": {"start": 524, "length": 4137, "filename_relative": "contracts/transmuter/libraries/LibGetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibGetters.sol", "filename_short": "contracts/transmuter/libraries/LibGetters.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92], "starting_column": 1, "ending_column": 2}}, "signature": "getCollateralRatio()"}}}}], "description": "LibGetters.getCollateralRatio().countCollat (contracts/transmuter/libraries/LibGetters.sol#59) is a local variable never initialized\n", "markdown": "[LibGetters.getCollateralRatio().countCollat](contracts/transmuter/libraries/LibGetters.sol#L59) is a local variable never initialized\n", "first_markdown_element": "contracts/transmuter/libraries/LibGetters.sol#L59", "id": "e9b7d2287120f4fa8ce2750186e735b7691af884d4961bc4140f3e326db9620a", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "targetData", "source_mapping": {"start": 3497, "length": 23, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [84], "starting_column": 17, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}}], "description": "Production.initialize(IAccessControlManager,address,address).targetData (contracts/transmuter/configs/Production.sol#84) is a local variable never initialized\n", "markdown": "[Production.initialize(IAccessControlManager,address,address).targetData](contracts/transmuter/configs/Production.sol#L84) is a local variable never initialized\n", "first_markdown_element": "contracts/transmuter/configs/Production.sol#L84", "id": "92e4c9845ea4d145667905011e9a94d204c1cf9a606b47f7c1ebab2fabad9004", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "hasIncreased", "source_mapping": {"start": 2213, "length": 17, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [46], "starting_column": 9, "ending_column": 26}, "type_specific_fields": {"parent": {"type": "function", "name": "sellRewards", "source_mapping": {"start": 1049, "length": 1605, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "sellRewards(uint256,bytes)"}}}}], "description": "RewardHandler.sellRewards(uint256,bytes).hasIncreased (contracts/transmuter/facets/RewardHandler.sol#46) is a local variable never initialized\n", "markdown": "[RewardHandler.sellRewards(uint256,bytes).hasIncreased](contracts/transmuter/facets/RewardHandler.sol#L46) is a local variable never initialized\n", "first_markdown_element": "contracts/transmuter/facets/RewardHandler.sol#L46", "id": "09292765aa3137e5222eaea96415f8e1aa49069f18a389099c7cd1d35e8e93a5", "check": "uninitialized-local", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}, {"type": "node", "name": "_transmuter.updateNormalizer(minted,true)", "source_mapping": {"start": 5992, "length": 42, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [116], "starting_column": 17, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}}], "description": "SavingsVest.accrue() (contracts/savings/SavingsVest.sol#104-148) ignores return value by _transmuter.updateNormalizer(minted,true) (contracts/savings/SavingsVest.sol#116)\n", "markdown": "[SavingsVest.accrue()](contracts/savings/SavingsVest.sol#L104-L148) ignores return value by [_transmuter.updateNormalizer(minted,true)](contracts/savings/SavingsVest.sol#L116)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L104-L148", "id": "3fa8a3d569d0f0dd794c3391d7de0fc4fc7d224ba4c2d72ef03b0be7f157b996", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}, {"type": "node", "name": "_transmuter.updateNormalizer(missing,false)", "source_mapping": {"start": 7619, "length": 44, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [144], "starting_column": 21, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}}], "description": "SavingsVest.accrue() (contracts/savings/SavingsVest.sol#104-148) ignores return value by _transmuter.updateNormalizer(missing,false) (contracts/savings/SavingsVest.sol#144)\n", "markdown": "[SavingsVest.accrue()](contracts/savings/SavingsVest.sol#L104-L148) ignores return value by [_transmuter.updateNormalizer(missing,false)](contracts/savings/SavingsVest.sol#L144)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L104-L148", "id": "8131a96abc33620b9531140d2c722c16546f3e670e7436500d48b58f6b0d7a75", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getCollateralRatio", "source_mapping": {"start": 3107, "length": 351, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Getters", "source_mapping": {"start": 660, "length": 7063, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 1, "ending_column": 2}}, "signature": "getCollateralRatio()"}}, {"type": "node", "name": "(collatRatio,stablecoinsIssued,None,None,None) = LibGetters.getCollateralRatio()", "source_mapping": {"start": 3379, "length": 72, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [87], "starting_column": 9, "ending_column": 81}, "type_specific_fields": {"parent": {"type": "function", "name": "getCollateralRatio", "source_mapping": {"start": 3107, "length": 351, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [82, 83, 84, 85, 86, 87, 88], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Getters", "source_mapping": {"start": 660, "length": 7063, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 1, "ending_column": 2}}, "signature": "getCollateralRatio()"}}}}], "description": "Getters.getCollateralRatio() (contracts/transmuter/facets/Getters.sol#82-88) ignores return value by (collatRatio,stablecoinsIssued,None,None,None) = LibGetters.getCollateralRatio() (contracts/transmuter/facets/Getters.sol#87)\n", "markdown": "[Getters.getCollateralRatio()](contracts/transmuter/facets/Getters.sol#L82-L88) ignores return value by [(collatRatio,stablecoinsIssued,None,None,None) = LibGetters.getCollateralRatio()](contracts/transmuter/facets/Getters.sol#L87)\n", "first_markdown_element": "contracts/transmuter/facets/Getters.sol#L82-L88", "id": "08fb54f70ab3e4ab13481ffc538c5916531a6a1bfcc3122e43b6720e9807d2c0", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getOracleValues", "source_mapping": {"start": 4837, "length": 512, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Getters", "source_mapping": {"start": 660, "length": 7063, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 1, "ending_column": 2}}, "signature": "getOracleValues(address)"}}, {"type": "node", "name": "(minRatio,None) = LibOracle.getBurnOracle(collateral,oracleConfig)", "source_mapping": {"start": 5164, "length": 64, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [125], "starting_column": 9, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "getOracleValues", "source_mapping": {"start": 4837, "length": 512, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [120, 121, 122, 123, 124, 125, 126, 127], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Getters", "source_mapping": {"start": 660, "length": 7063, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 1, "ending_column": 2}}, "signature": "getOracleValues(address)"}}}}], "description": "Getters.getOracleValues(address) (contracts/transmuter/facets/Getters.sol#120-127) ignores return value by (minRatio,None) = LibOracle.getBurnOracle(collateral,oracleConfig) (contracts/transmuter/facets/Getters.sol#125)\n", "markdown": "[Getters.getOracleValues(address)](contracts/transmuter/facets/Getters.sol#L120-L127) ignores return value by [(minRatio,None) = LibOracle.getBurnOracle(collateral,oracleConfig)](contracts/transmuter/facets/Getters.sol#L125)\n", "first_markdown_element": "contracts/transmuter/facets/Getters.sol#L120-L127", "id": "dd654ae56af3587e68fb606e41e6859e6558005e32072ee8140f0e00a1321656", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "getOracle", "source_mapping": {"start": 5384, "length": 263, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [130, 131, 132, 133, 134, 135, 136, 137, 138], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Getters", "source_mapping": {"start": 660, "length": 7063, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 1, "ending_column": 2}}, "signature": "getOracle(address)"}}, {"type": "node", "name": "LibOracle.getOracle(collateral)", "source_mapping": {"start": 5602, "length": 38, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [137], "starting_column": 9, "ending_column": 47}, "type_specific_fields": {"parent": {"type": "function", "name": "getOracle", "source_mapping": {"start": 5384, "length": 263, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [130, 131, 132, 133, 134, 135, 136, 137, 138], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Getters", "source_mapping": {"start": 660, "length": 7063, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 1, "ending_column": 2}}, "signature": "getOracle(address)"}}}}], "description": "Getters.getOracle(address) (contracts/transmuter/facets/Getters.sol#130-138) ignores return value by LibOracle.getOracle(collateral) (contracts/transmuter/facets/Getters.sol#137)\n", "markdown": "[Getters.getOracle(address)](contracts/transmuter/facets/Getters.sol#L130-L138) ignores return value by [LibOracle.getOracle(collateral)](contracts/transmuter/facets/Getters.sol#L137)\n", "first_markdown_element": "contracts/transmuter/facets/Getters.sol#L130-L138", "id": "80ade7096222e2a6a7fff44d4e491176abd7cf98094e1db003ed9ba5f2d1c258", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_swap", "source_mapping": {"start": 8472, "length": 2523, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper", "source_mapping": {"start": 2469, "length": 28288, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580], "starting_column": 1, "ending_column": 2}}, "signature": "_swap(uint256,uint256,address,address,address,bool,Collateral,bytes)"}}, {"type": "node", "name": "PERMIT_2.functionCall(permitData)", "source_mapping": {"start": 9395, "length": 33, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [196], "starting_column": 21, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "_swap", "source_mapping": {"start": 8472, "length": 2523, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper", "source_mapping": {"start": 2469, "length": 28288, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580], "starting_column": 1, "ending_column": 2}}, "signature": "_swap(uint256,uint256,address,address,address,bool,Collateral,bytes)"}}}}], "description": "Swapper._swap(uint256,uint256,address,address,address,bool,Collateral,bytes) (contracts/transmuter/facets/Swapper.sol#177-223) ignores return value by PERMIT_2.functionCall(permitData) (contracts/transmuter/facets/Swapper.sol#196)\n", "markdown": "[Swapper._swap(uint256,uint256,address,address,address,bool,Collateral,bytes)](contracts/transmuter/facets/Swapper.sol#L177-L223) ignores return value by [PERMIT_2.functionCall(permitData)](contracts/transmuter/facets/Swapper.sol#L196)\n", "first_markdown_element": "contracts/transmuter/facets/Swapper.sol#L177-L223", "id": "669bb70f194158f10bb726fe773143d8c48009893360499f8d090c397a269873", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "totalAssets", "source_mapping": {"start": 1894, "length": 302, "filename_relative": "contracts/transmuter/libraries/LibManager.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibManager.sol", "filename_short": "contracts/transmuter/libraries/LibManager.sol", "is_dependency": false, "lines": [36, 37, 38, 39], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibManager", "source_mapping": {"start": 488, "length": 2766, "filename_relative": "contracts/transmuter/libraries/LibManager.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibManager.sol", "filename_short": "contracts/transmuter/libraries/LibManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 1, "ending_column": 2}}, "signature": "totalAssets(bytes)"}}, {"type": "node", "name": "abi.decode(data,(IManager)).totalAssets()", "source_mapping": {"start": 2140, "length": 49, "filename_relative": "contracts/transmuter/libraries/LibManager.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibManager.sol", "filename_short": "contracts/transmuter/libraries/LibManager.sol", "is_dependency": false, "lines": [38], "starting_column": 50, "ending_column": 99}, "type_specific_fields": {"parent": {"type": "function", "name": "totalAssets", "source_mapping": {"start": 1894, "length": 302, "filename_relative": "contracts/transmuter/libraries/LibManager.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibManager.sol", "filename_short": "contracts/transmuter/libraries/LibManager.sol", "is_dependency": false, "lines": [36, 37, 38, 39], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibManager", "source_mapping": {"start": 488, "length": 2766, "filename_relative": "contracts/transmuter/libraries/LibManager.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibManager.sol", "filename_short": "contracts/transmuter/libraries/LibManager.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 1, "ending_column": 2}}, "signature": "totalAssets(bytes)"}}}}], "description": "LibManager.totalAssets(bytes) (contracts/transmuter/libraries/LibManager.sol#36-39) ignores return value by abi.decode(data,(IManager)).totalAssets() (contracts/transmuter/libraries/LibManager.sol#38)\n", "markdown": "[LibManager.totalAssets(bytes)](contracts/transmuter/libraries/LibManager.sol#L36-L39) ignores return value by [abi.decode(data,(IManager)).totalAssets()](contracts/transmuter/libraries/LibManager.sol#L38)\n", "first_markdown_element": "contracts/transmuter/libraries/LibManager.sol#L36-L39", "id": "73a2f4b70e1b755ba5d9cb5c97cd77810a918a9a34dcd4e58a9e164d00d7354e", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "readBurn", "source_mapping": {"start": 2967, "length": 768, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibOracle", "source_mapping": {"start": 503, "length": 10831, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213], "starting_column": 1, "ending_column": 2}}, "signature": "readBurn(bytes)"}}, {"type": "node", "name": "externalOracle.readBurn()", "source_mapping": {"start": 3437, "length": 32, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [69], "starting_column": 13, "ending_column": 45}, "type_specific_fields": {"parent": {"type": "function", "name": "readBurn", "source_mapping": {"start": 2967, "length": 768, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibOracle", "source_mapping": {"start": 503, "length": 10831, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213], "starting_column": 1, "ending_column": 2}}, "signature": "readBurn(bytes)"}}}}], "description": "LibOracle.readBurn(bytes) (contracts/transmuter/libraries/LibOracle.sol#60-75) ignores return value by externalOracle.readBurn() (contracts/transmuter/libraries/LibOracle.sol#69)\n", "markdown": "[LibOracle.readBurn(bytes)](contracts/transmuter/libraries/LibOracle.sol#L60-L75) ignores return value by [externalOracle.readBurn()](contracts/transmuter/libraries/LibOracle.sol#L69)\n", "first_markdown_element": "contracts/transmuter/libraries/LibOracle.sol#L60-L75", "id": "cc5eadb7e6b880466bd0a86265a96f446bed791c832d369701dbe2c911cefb3e", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "readChainlinkFeed", "source_mapping": {"start": 9304, "length": 631, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibOracle", "source_mapping": {"start": 503, "length": 10831, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213], "starting_column": 1, "ending_column": 2}}, "signature": "readChainlinkFeed(uint256,AggregatorV3Interface,uint8,uint256,uint32)"}}, {"type": "node", "name": "(ratio,updatedAt) = feed.latestRoundData()", "source_mapping": {"start": 9525, "length": 64, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [181], "starting_column": 9, "ending_column": 73}, "type_specific_fields": {"parent": {"type": "function", "name": "readChainlinkFeed", "source_mapping": {"start": 9304, "length": 631, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibOracle", "source_mapping": {"start": 503, "length": 10831, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213], "starting_column": 1, "ending_column": 2}}, "signature": "readChainlinkFeed(uint256,AggregatorV3Interface,uint8,uint256,uint32)"}}}}], "description": "LibOracle.readChainlinkFeed(uint256,AggregatorV3Interface,uint8,uint256,uint32) (contracts/transmuter/libraries/LibOracle.sol#174-186) ignores return value by (ratio,updatedAt) = feed.latestRoundData() (contracts/transmuter/libraries/LibOracle.sol#181)\n", "markdown": "[LibOracle.readChainlinkFeed(uint256,AggregatorV3Interface,uint8,uint256,uint32)](contracts/transmuter/libraries/LibOracle.sol#L174-L186) ignores return value by [(ratio,updatedAt) = feed.latestRoundData()](contracts/transmuter/libraries/LibOracle.sol#L181)\n", "first_markdown_element": "contracts/transmuter/libraries/LibOracle.sol#L174-L186", "id": "c20fb4c94df3dd04fe5f589b2e55c9f05b357ef48e143337dd6529f400dfd549", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setCollateralManager", "source_mapping": {"start": 2553, "length": 1022, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setCollateralManager(address,ManagerStorage)"}}, {"type": "node", "name": "(totalValue) = LibManager.totalAssets(collatInfo.managerData.config)", "source_mapping": {"start": 2887, "length": 78, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [54], "starting_column": 13, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "setCollateralManager", "source_mapping": {"start": 2553, "length": 1022, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setCollateralManager(address,ManagerStorage)"}}}}], "description": "LibSetters.setCollateralManager(address,ManagerStorage) (contracts/transmuter/libraries/LibSetters.sol#49-66) ignores return value by (totalValue) = LibManager.totalAssets(collatInfo.managerData.config) (contracts/transmuter/libraries/LibSetters.sol#54)\n", "markdown": "[LibSetters.setCollateralManager(address,ManagerStorage)](contracts/transmuter/libraries/LibSetters.sol#L49-L66) ignores return value by [(totalValue) = LibManager.totalAssets(collatInfo.managerData.config)](contracts/transmuter/libraries/LibSetters.sol#L54)\n", "first_markdown_element": "contracts/transmuter/libraries/LibSetters.sol#L49-L66", "id": "01824f1b1d6795ddb3b808189a16a63d05772b3b0650200eb7f5d41264c4c8fc", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setCollateralManager", "source_mapping": {"start": 2553, "length": 1022, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setCollateralManager(address,ManagerStorage)"}}, {"type": "node", "name": "LibManager.parseManagerConfig(managerData.config)", "source_mapping": {"start": 3334, "length": 49, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [61], "starting_column": 13, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "setCollateralManager", "source_mapping": {"start": 2553, "length": 1022, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setCollateralManager(address,ManagerStorage)"}}}}], "description": "LibSetters.setCollateralManager(address,ManagerStorage) (contracts/transmuter/libraries/LibSetters.sol#49-66) ignores return value by LibManager.parseManagerConfig(managerData.config) (contracts/transmuter/libraries/LibSetters.sol#61)\n", "markdown": "[LibSetters.setCollateralManager(address,ManagerStorage)](contracts/transmuter/libraries/LibSetters.sol#L49-L66) ignores return value by [LibManager.parseManagerConfig(managerData.config)](contracts/transmuter/libraries/LibSetters.sol#L61)\n", "first_markdown_element": "contracts/transmuter/libraries/LibSetters.sol#L49-L66", "id": "96c4c4e8a60e1cbe3b7ad5077f5b174fbb2204bc9f15718362561a12780bd9d5", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "revokeCollateral", "source_mapping": {"start": 5573, "length": 981, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "revokeCollateral(address)"}}, {"type": "node", "name": "(totalValue) = LibManager.totalAssets(collatInfo.managerData.config)", "source_mapping": {"start": 5947, "length": 78, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [115], "starting_column": 13, "ending_column": 91}, "type_specific_fields": {"parent": {"type": "function", "name": "revokeCollateral", "source_mapping": {"start": 5573, "length": 981, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "revokeCollateral(address)"}}}}], "description": "LibSetters.revokeCollateral(address) (contracts/transmuter/libraries/LibSetters.sol#109-129) ignores return value by (totalValue) = LibManager.totalAssets(collatInfo.managerData.config) (contracts/transmuter/libraries/LibSetters.sol#115)\n", "markdown": "[LibSetters.revokeCollateral(address)](contracts/transmuter/libraries/LibSetters.sol#L109-L129) ignores return value by [(totalValue) = LibManager.totalAssets(collatInfo.managerData.config)](contracts/transmuter/libraries/LibSetters.sol#L115)\n", "first_markdown_element": "contracts/transmuter/libraries/LibSetters.sol#L109-L129", "id": "b84bd709b45c8e9b29170a84478cd6b0c656657b00700a8b001c00fbb08ef099", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setOracle", "source_mapping": {"start": 6608, "length": 405, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setOracle(address,bytes)"}}, {"type": "node", "name": "LibOracle.readMint(oracleConfig)", "source_mapping": {"start": 6876, "length": 32, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [136], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "setOracle", "source_mapping": {"start": 6608, "length": 405, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setOracle(address,bytes)"}}}}], "description": "LibSetters.setOracle(address,bytes) (contracts/transmuter/libraries/LibSetters.sol#132-139) ignores return value by LibOracle.readMint(oracleConfig) (contracts/transmuter/libraries/LibSetters.sol#136)\n", "markdown": "[LibSetters.setOracle(address,bytes)](contracts/transmuter/libraries/LibSetters.sol#L132-L139) ignores return value by [LibOracle.readMint(oracleConfig)](contracts/transmuter/libraries/LibSetters.sol#L136)\n", "first_markdown_element": "contracts/transmuter/libraries/LibSetters.sol#L132-L139", "id": "f37443f6bacae12093d0c3c8496720b438c89db5529fb2278dfaab83c5768c5c", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setWhitelistStatus", "source_mapping": {"start": 7076, "length": 608, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setWhitelistStatus(address,uint8,bytes)"}}, {"type": "node", "name": "LibWhitelist.checkWhitelist(whitelistData,address(this))", "source_mapping": {"start": 7411, "length": 57, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [147], "starting_column": 13, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "setWhitelistStatus", "source_mapping": {"start": 7076, "length": 608, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setWhitelistStatus(address,uint8,bytes)"}}}}], "description": "LibSetters.setWhitelistStatus(address,uint8,bytes) (contracts/transmuter/libraries/LibSetters.sol#142-152) ignores return value by LibWhitelist.checkWhitelist(whitelistData,address(this)) (contracts/transmuter/libraries/LibSetters.sol#147)\n", "markdown": "[LibSetters.setWhitelistStatus(address,uint8,bytes)](contracts/transmuter/libraries/LibSetters.sol#L142-L152) ignores return value by [LibWhitelist.checkWhitelist(whitelistData,address(this))](contracts/transmuter/libraries/LibSetters.sol#L147)\n", "first_markdown_element": "contracts/transmuter/libraries/LibSetters.sol#L142-L152", "id": "38861e5af424ff56859dd78845ad5a57a7f9192b543a722ea72c259bd8f75be7", "check": "unused-return", "impact": "Medium", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_surplusManager", "source_mapping": {"start": 10757, "length": 23, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [201], "starting_column": 32, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "setSurplusManager", "source_mapping": {"start": 10730, "length": 176, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "setSurplusManager(address)"}}}}, {"type": "node", "name": "surplusManager = _surplusManager", "source_mapping": {"start": 10814, "length": 32, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [202], "starting_column": 9, "ending_column": 41}, "type_specific_fields": {"parent": {"type": "function", "name": "setSurplusManager", "source_mapping": {"start": 10730, "length": 176, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "setSurplusManager(address)"}}}}], "description": "SavingsVest.setSurplusManager(address)._surplusManager (contracts/savings/SavingsVest.sol#201) lacks a zero-check on :\n\t\t- surplusManager = _surplusManager (contracts/savings/SavingsVest.sol#202)\n", "markdown": "[SavingsVest.setSurplusManager(address)._surplusManager](contracts/savings/SavingsVest.sol#L201) lacks a zero-check on :\n\t\t- [surplusManager = _surplusManager](contracts/savings/SavingsVest.sol#L202)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L201", "id": "49c13322b6aedafdbe4ebcc83c5401ae818a10fb7cc92105703b434d48cd93a9", "check": "missing-zero-check", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sellRewards", "source_mapping": {"start": 1049, "length": 1605, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "sellRewards(uint256,bytes)"}}, {"type": "node", "name": "balances[i] = IERC20(list[i]).balanceOf(address(this))", "source_mapping": {"start": 1865, "length": 54, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [39], "starting_column": 13, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "sellRewards", "source_mapping": {"start": 1049, "length": 1605, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "sellRewards(uint256,bytes)"}}}}], "description": "RewardHandler.sellRewards(uint256,bytes) (contracts/transmuter/facets/RewardHandler.sol#29-56) has external calls inside a loop: balances[i] = IERC20(list[i]).balanceOf(address(this)) (contracts/transmuter/facets/RewardHandler.sol#39)\n", "markdown": "[RewardHandler.sellRewards(uint256,bytes)](contracts/transmuter/facets/RewardHandler.sol#L29-L56) has external calls inside a loop: [balances[i] = IERC20(list[i]).balanceOf(address(this))](contracts/transmuter/facets/RewardHandler.sol#L39)\n", "first_markdown_element": "contracts/transmuter/facets/RewardHandler.sol#L29-L56", "id": "49d030012deb7665c464edeb35d388cc26f72048ec902e1893e3f0bbcfae2e22", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sellRewards", "source_mapping": {"start": 1049, "length": 1605, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "sellRewards(uint256,bytes)"}}, {"type": "node", "name": "newBalance = IERC20(list[i_scope_0]).balanceOf(address(this))", "source_mapping": {"start": 2291, "length": 61, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [48], "starting_column": 13, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "sellRewards", "source_mapping": {"start": 1049, "length": 1605, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "sellRewards(uint256,bytes)"}}}}], "description": "RewardHandler.sellRewards(uint256,bytes) (contracts/transmuter/facets/RewardHandler.sol#29-56) has external calls inside a loop: newBalance = IERC20(list[i_scope_0]).balanceOf(address(this)) (contracts/transmuter/facets/RewardHandler.sol#48)\n", "markdown": "[RewardHandler.sellRewards(uint256,bytes)](contracts/transmuter/facets/RewardHandler.sol#L29-L56) has external calls inside a loop: [newBalance = IERC20(list[i_scope_0]).balanceOf(address(this))](contracts/transmuter/facets/RewardHandler.sol#L48)\n", "first_markdown_element": "contracts/transmuter/facets/RewardHandler.sol#L29-L56", "id": "7398536cb4efc188fc88dc11e9e5607c4f7a441c27ce811cb7504ba4a1aa9cd5", "check": "calls-loop", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}, {"type": "node", "name": "SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets)", "source_mapping": {"start": 7706, "length": 76, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [192], "starting_column": 9, "ending_column": 85}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets)", "source_mapping": {"start": 7706, "length": 76, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [192], "starting_column": 9, "ending_column": 85}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_mint(receiver,shares)", "source_mapping": {"start": 7792, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [193], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_balances"}}, {"type": "node", "name": "_balances[account] += amount", "source_mapping": {"start": 8982, "length": 28, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [268], "starting_column": 9, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "function", "name": "_mint", "source_mapping": {"start": 8739, "length": 389, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}, "signature": "_mint(address,uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_balances"}}, {"type": "node", "name": "_mint(receiver,shares)", "source_mapping": {"start": 7792, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [193], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_totalSupply"}}, {"type": "node", "name": "_totalSupply += amount", "source_mapping": {"start": 8950, "length": 22, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [267], "starting_column": 9, "ending_column": 31}, "type_specific_fields": {"parent": {"type": "function", "name": "_mint", "source_mapping": {"start": 8739, "length": 389, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}, "signature": "_mint(address,uint256)"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "_totalSupply"}}], "description": "Reentrancy in ERC4626Upgradeable._deposit(address,address,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#179-196):\n\tExternal calls:\n\t- SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#192)\n\tState variables written after the call(s):\n\t- _mint(receiver,shares) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#193)\n\t\t- _balances[account] += amount (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#268)\n\t- _mint(receiver,shares) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#193)\n\t\t- _totalSupply += amount (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#267)\n", "markdown": "Reentrancy in [ERC4626Upgradeable._deposit(address,address,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L179-L196):\n\tExternal calls:\n\t- [SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L192)\n\tState variables written after the call(s):\n\t- [_mint(receiver,shares)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L193)\n\t\t- [_balances[account] += amount](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L268)\n\t- [_mint(receiver,shares)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L193)\n\t\t- [_totalSupply += amount](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L267)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L179-L196", "id": "4225e94e33bc555f1643141d20476052422b619130ff969edc0ac87b21754306", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}, {"type": "node", "name": "_transmuter.updateNormalizer(minted,true)", "source_mapping": {"start": 5992, "length": 42, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [116], "starting_column": 17, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_agToken.mint(_surplusManager,surplusForProtocol)", "source_mapping": {"start": 6300, "length": 50, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [120], "starting_column": 17, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_transmuter.updateNormalizer(minted,true)", "source_mapping": {"start": 5992, "length": 42, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [116], "starting_column": 17, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_agToken.mint(_surplusManager,surplusForProtocol)", "source_mapping": {"start": 6300, "length": 50, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [120], "starting_column": 17, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "vestingProfit = (lockedProfit() + surplus)", "source_mapping": {"start": 6624, "length": 42, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [125], "starting_column": 21, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "variables_written", "variable_name": "vestingProfit"}}], "description": "Reentrancy in SavingsVest.accrue() (contracts/savings/SavingsVest.sol#104-148):\n\tExternal calls:\n\t- _transmuter.updateNormalizer(minted,true) (contracts/savings/SavingsVest.sol#116)\n\t- _agToken.mint(_surplusManager,surplusForProtocol) (contracts/savings/SavingsVest.sol#120)\n\tState variables written after the call(s):\n\t- vestingProfit = (lockedProfit() + surplus) (contracts/savings/SavingsVest.sol#125)\n", "markdown": "Reentrancy in [SavingsVest.accrue()](contracts/savings/SavingsVest.sol#L104-L148):\n\tExternal calls:\n\t- [_transmuter.updateNormalizer(minted,true)](contracts/savings/SavingsVest.sol#L116)\n\t- [_agToken.mint(_surplusManager,surplusForProtocol)](contracts/savings/SavingsVest.sol#L120)\n\tState variables written after the call(s):\n\t- [vestingProfit = (lockedProfit() + surplus)](contracts/savings/SavingsVest.sol#L125)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L104-L148", "id": "7f88ab91f8365623efe1f3728858d046bfb8c8244b6d98847ba683b0b6e0670e", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_accrue", "source_mapping": {"start": 4225, "length": 449, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_accrue()"}}, {"type": "node", "name": "IAgToken(asset()).mint(address(this),earned)", "source_mapping": {"start": 4578, "length": 45, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [92], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "_accrue", "source_mapping": {"start": 4225, "length": 449, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_accrue()"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Accrued(earned)", "source_mapping": {"start": 4637, "length": 20, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [93], "starting_column": 13, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "function", "name": "_accrue", "source_mapping": {"start": 4225, "length": 449, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_accrue()"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Savings._accrue() (contracts/savings/Savings.sol#86-95):\n\tExternal calls:\n\t- IAgToken(asset()).mint(address(this),earned) (contracts/savings/Savings.sol#92)\n\tEvent emitted after the call(s):\n\t- Accrued(earned) (contracts/savings/Savings.sol#93)\n", "markdown": "Reentrancy in [Savings._accrue()](contracts/savings/Savings.sol#L86-L95):\n\tExternal calls:\n\t- [IAgToken(asset()).mint(address(this),earned)](contracts/savings/Savings.sol#L92)\n\tEvent emitted after the call(s):\n\t- [Accrued(earned)](contracts/savings/Savings.sol#L93)\n", "first_markdown_element": "contracts/savings/Savings.sol#L86-L95", "id": "3daa9f23ff6e940e3a222b8df5634404c00bc426c3c97be3389b3ad1bed7114f", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}, {"type": "node", "name": "SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets)", "source_mapping": {"start": 7706, "length": 76, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [192], "starting_column": 9, "ending_column": 85}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Deposit(caller,receiver,assets,shares)", "source_mapping": {"start": 7826, "length": 46, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [195], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "Transfer(address(0),account,amount)", "source_mapping": {"start": 9020, "length": 42, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [269], "starting_column": 9, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "_mint", "source_mapping": {"start": 8739, "length": 389, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}, "signature": "_mint(address,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_mint(receiver,shares)", "source_mapping": {"start": 7792, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [193], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC4626Upgradeable._deposit(address,address,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#179-196):\n\tExternal calls:\n\t- SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#192)\n\tEvent emitted after the call(s):\n\t- Deposit(caller,receiver,assets,shares) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#195)\n\t- Transfer(address(0),account,amount) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#269)\n\t\t- _mint(receiver,shares) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#193)\n", "markdown": "Reentrancy in [ERC4626Upgradeable._deposit(address,address,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L179-L196):\n\tExternal calls:\n\t- [SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L192)\n\tEvent emitted after the call(s):\n\t- [Deposit(caller,receiver,assets,shares)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L195)\n\t- [Transfer(address(0),account,amount)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L269)\n\t\t- [_mint(receiver,shares)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L193)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L179-L196", "id": "a379f8e54871c7fc2483ec99d708186d9eb4667512e4f6b3bc8e68fad2ed904c", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_withdraw", "source_mapping": {"start": 7946, "length": 924, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,address,uint256,uint256)"}}, {"type": "node", "name": "SafeERC20Upgradeable.safeTransfer(_asset,receiver,assets)", "source_mapping": {"start": 8739, "length": 59, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [219], "starting_column": 9, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 7946, "length": 924, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Withdraw(caller,receiver,owner,assets,shares)", "source_mapping": {"start": 8809, "length": 54, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [221], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 7946, "length": 924, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in ERC4626Upgradeable._withdraw(address,address,address,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#201-222):\n\tExternal calls:\n\t- SafeERC20Upgradeable.safeTransfer(_asset,receiver,assets) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#219)\n\tEvent emitted after the call(s):\n\t- Withdraw(caller,receiver,owner,assets,shares) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#221)\n", "markdown": "Reentrancy in [ERC4626Upgradeable._withdraw(address,address,address,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L201-L222):\n\tExternal calls:\n\t- [SafeERC20Upgradeable.safeTransfer(_asset,receiver,assets)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L219)\n\tEvent emitted after the call(s):\n\t- [Withdraw(caller,receiver,owner,assets,shares)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L221)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L201-L222", "id": "56b3f89dcee75b625fb5e45d288673f89e638e4972f4c517921b68dba6a8088b", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "adjustStablecoins", "source_mapping": {"start": 4675, "length": 837, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "adjustStablecoins(address,uint128,bool)"}}, {"type": "node", "name": "normalizedAmount = ((amount * BASE_27) / ts.normalizer).toUint128()", "source_mapping": {"start": 4964, "length": 75, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [97], "starting_column": 9, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "adjustStablecoins", "source_mapping": {"start": 4675, "length": 837, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "adjustStablecoins(address,uint128,bool)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "ReservesAdjusted(collateral,amount,increase)", "source_mapping": {"start": 5454, "length": 51, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [105], "starting_column": 9, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "adjustStablecoins", "source_mapping": {"start": 4675, "length": 837, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "adjustStablecoins(address,uint128,bool)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in LibSetters.adjustStablecoins(address,uint128,bool) (contracts/transmuter/libraries/LibSetters.sol#93-106):\n\tExternal calls:\n\t- normalizedAmount = ((amount * BASE_27) / ts.normalizer).toUint128() (contracts/transmuter/libraries/LibSetters.sol#97)\n\tEvent emitted after the call(s):\n\t- ReservesAdjusted(collateral,amount,increase) (contracts/transmuter/libraries/LibSetters.sol#105)\n", "markdown": "Reentrancy in [LibSetters.adjustStablecoins(address,uint128,bool)](contracts/transmuter/libraries/LibSetters.sol#L93-L106):\n\tExternal calls:\n\t- [normalizedAmount = ((amount * BASE_27) / ts.normalizer).toUint128()](contracts/transmuter/libraries/LibSetters.sol#L97)\n\tEvent emitted after the call(s):\n\t- [ReservesAdjusted(collateral,amount,increase)](contracts/transmuter/libraries/LibSetters.sol#L105)\n", "first_markdown_element": "contracts/transmuter/libraries/LibSetters.sol#L93-L106", "id": "f3154829b4545053f96868833e7d2ab1e30544382c8181f355ab26a702864c1f", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "deposit", "source_mapping": {"start": 6525, "length": 305, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [125, 126, 127, 128, 129], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "deposit(uint256,address)"}}, {"type": "node", "name": "newTotalAssets = _accrue()", "source_mapping": {"start": 6641, "length": 34, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [126], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "deposit", "source_mapping": {"start": 6525, "length": 305, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [125, 126, 127, 128, 129], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "deposit(uint256,address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "IAgToken(asset()).mint(address(this),earned)", "source_mapping": {"start": 4578, "length": 45, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [92], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "_accrue", "source_mapping": {"start": 4225, "length": 449, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_deposit(_msgSender(),receiver,assets,shares)", "source_mapping": {"start": 6775, "length": 48, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [128], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "deposit", "source_mapping": {"start": 6525, "length": 305, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [125, 126, 127, 128, 129], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "deposit(uint256,address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets)", "source_mapping": {"start": 7706, "length": 76, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [192], "starting_column": 9, "ending_column": 85}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", "source_mapping": {"start": 4298, "length": 95, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [110], "starting_column": 9, "ending_column": 104}, "type_specific_fields": {"parent": {"type": "function", "name": "_callOptionalReturn", "source_mapping": {"start": 3868, "length": 717, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeERC20Upgradeable", "source_mapping": {"start": 740, "length": 3847, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116], "starting_column": 1, "ending_column": 2}}, "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 5310, "length": 73, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [137], "starting_column": 9, "ending_column": 82}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4959, "length": 499, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_deposit(_msgSender(),receiver,assets,shares)", "source_mapping": {"start": 6775, "length": 48, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [128], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "deposit", "source_mapping": {"start": 6525, "length": 305, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [125, 126, 127, 128, 129], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "deposit(uint256,address)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 5310, "length": 73, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [137], "starting_column": 9, "ending_column": 82}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4959, "length": 499, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "Deposit(caller,receiver,assets,shares)", "source_mapping": {"start": 7826, "length": 46, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [195], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_deposit(_msgSender(),receiver,assets,shares)", "source_mapping": {"start": 6775, "length": 48, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [128], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "deposit", "source_mapping": {"start": 6525, "length": 305, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [125, 126, 127, 128, 129], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "deposit(uint256,address)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "Transfer(address(0),account,amount)", "source_mapping": {"start": 9020, "length": 42, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [269], "starting_column": 9, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "_mint", "source_mapping": {"start": 8739, "length": 389, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}, "signature": "_mint(address,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_deposit(_msgSender(),receiver,assets,shares)", "source_mapping": {"start": 6775, "length": 48, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [128], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "deposit", "source_mapping": {"start": 6525, "length": 305, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [125, 126, 127, 128, 129], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "deposit(uint256,address)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Savings.deposit(uint256,address) (contracts/savings/Savings.sol#125-129):\n\tExternal calls:\n\t- newTotalAssets = _accrue() (contracts/savings/Savings.sol#126)\n\t\t- IAgToken(asset()).mint(address(this),earned) (contracts/savings/Savings.sol#92)\n\t- _deposit(_msgSender(),receiver,assets,shares) (contracts/savings/Savings.sol#128)\n\t\t- SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#192)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#137)\n\tExternal calls sending eth:\n\t- _deposit(_msgSender(),receiver,assets,shares) (contracts/savings/Savings.sol#128)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#137)\n\tEvent emitted after the call(s):\n\t- Deposit(caller,receiver,assets,shares) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#195)\n\t\t- _deposit(_msgSender(),receiver,assets,shares) (contracts/savings/Savings.sol#128)\n\t- Transfer(address(0),account,amount) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#269)\n\t\t- _deposit(_msgSender(),receiver,assets,shares) (contracts/savings/Savings.sol#128)\n", "markdown": "Reentrancy in [Savings.deposit(uint256,address)](contracts/savings/Savings.sol#L125-L129):\n\tExternal calls:\n\t- [newTotalAssets = _accrue()](contracts/savings/Savings.sol#L126)\n\t\t- [IAgToken(asset()).mint(address(this),earned)](contracts/savings/Savings.sol#L92)\n\t- [_deposit(_msgSender(),receiver,assets,shares)](contracts/savings/Savings.sol#L128)\n\t\t- [SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L192)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L137)\n\tExternal calls sending eth:\n\t- [_deposit(_msgSender(),receiver,assets,shares)](contracts/savings/Savings.sol#L128)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L137)\n\tEvent emitted after the call(s):\n\t- [Deposit(caller,receiver,assets,shares)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L195)\n\t\t- [_deposit(_msgSender(),receiver,assets,shares)](contracts/savings/Savings.sol#L128)\n\t- [Transfer(address(0),account,amount)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L269)\n\t\t- [_deposit(_msgSender(),receiver,assets,shares)](contracts/savings/Savings.sol#L128)\n", "first_markdown_element": "contracts/savings/Savings.sol#L125-L129", "id": "2ce41f8aa626958dad7c23d2869dbb369b159e32e12061da75fe2f81f78e368a", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "mint", "source_mapping": {"start": 6875, "length": 300, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "mint(uint256,address)"}}, {"type": "node", "name": "newTotalAssets = _accrue()", "source_mapping": {"start": 6988, "length": 34, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [133], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 6875, "length": 300, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "mint(uint256,address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "IAgToken(asset()).mint(address(this),earned)", "source_mapping": {"start": 4578, "length": 45, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [92], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "_accrue", "source_mapping": {"start": 4225, "length": 449, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_deposit(_msgSender(),receiver,assets,shares)", "source_mapping": {"start": 7120, "length": 48, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [135], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 6875, "length": 300, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "mint(uint256,address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets)", "source_mapping": {"start": 7706, "length": 76, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [192], "starting_column": 9, "ending_column": 85}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", "source_mapping": {"start": 4298, "length": 95, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [110], "starting_column": 9, "ending_column": 104}, "type_specific_fields": {"parent": {"type": "function", "name": "_callOptionalReturn", "source_mapping": {"start": 3868, "length": 717, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeERC20Upgradeable", "source_mapping": {"start": 740, "length": 3847, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116], "starting_column": 1, "ending_column": 2}}, "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 5310, "length": 73, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [137], "starting_column": 9, "ending_column": 82}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4959, "length": 499, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_deposit(_msgSender(),receiver,assets,shares)", "source_mapping": {"start": 7120, "length": 48, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [135], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 6875, "length": 300, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "mint(uint256,address)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 5310, "length": 73, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [137], "starting_column": 9, "ending_column": 82}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4959, "length": 499, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "Deposit(caller,receiver,assets,shares)", "source_mapping": {"start": 7826, "length": 46, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [195], "starting_column": 9, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "_deposit", "source_mapping": {"start": 7000, "length": 879, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_deposit(address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_deposit(_msgSender(),receiver,assets,shares)", "source_mapping": {"start": 7120, "length": 48, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [135], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 6875, "length": 300, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "mint(uint256,address)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "Transfer(address(0),account,amount)", "source_mapping": {"start": 9020, "length": 42, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [269], "starting_column": 9, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "_mint", "source_mapping": {"start": 8739, "length": 389, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}, "signature": "_mint(address,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_deposit(_msgSender(),receiver,assets,shares)", "source_mapping": {"start": 7120, "length": 48, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [135], "starting_column": 9, "ending_column": 57}, "type_specific_fields": {"parent": {"type": "function", "name": "mint", "source_mapping": {"start": 6875, "length": 300, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [132, 133, 134, 135, 136], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "mint(uint256,address)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Savings.mint(uint256,address) (contracts/savings/Savings.sol#132-136):\n\tExternal calls:\n\t- newTotalAssets = _accrue() (contracts/savings/Savings.sol#133)\n\t\t- IAgToken(asset()).mint(address(this),earned) (contracts/savings/Savings.sol#92)\n\t- _deposit(_msgSender(),receiver,assets,shares) (contracts/savings/Savings.sol#135)\n\t\t- SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#192)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#137)\n\tExternal calls sending eth:\n\t- _deposit(_msgSender(),receiver,assets,shares) (contracts/savings/Savings.sol#135)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#137)\n\tEvent emitted after the call(s):\n\t- Deposit(caller,receiver,assets,shares) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#195)\n\t\t- _deposit(_msgSender(),receiver,assets,shares) (contracts/savings/Savings.sol#135)\n\t- Transfer(address(0),account,amount) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#269)\n\t\t- _deposit(_msgSender(),receiver,assets,shares) (contracts/savings/Savings.sol#135)\n", "markdown": "Reentrancy in [Savings.mint(uint256,address)](contracts/savings/Savings.sol#L132-L136):\n\tExternal calls:\n\t- [newTotalAssets = _accrue()](contracts/savings/Savings.sol#L133)\n\t\t- [IAgToken(asset()).mint(address(this),earned)](contracts/savings/Savings.sol#L92)\n\t- [_deposit(_msgSender(),receiver,assets,shares)](contracts/savings/Savings.sol#L135)\n\t\t- [SafeERC20Upgradeable.safeTransferFrom(_asset,caller,address(this),assets)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L192)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L137)\n\tExternal calls sending eth:\n\t- [_deposit(_msgSender(),receiver,assets,shares)](contracts/savings/Savings.sol#L135)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L137)\n\tEvent emitted after the call(s):\n\t- [Deposit(caller,receiver,assets,shares)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L195)\n\t\t- [_deposit(_msgSender(),receiver,assets,shares)](contracts/savings/Savings.sol#L135)\n\t- [Transfer(address(0),account,amount)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L269)\n\t\t- [_deposit(_msgSender(),receiver,assets,shares)](contracts/savings/Savings.sol#L135)\n", "first_markdown_element": "contracts/savings/Savings.sol#L132-L136", "id": "f5dad001d7386fc31c499f81c755dc8fd024936b0c6db5224f826eff6742dded", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "recoverERC20", "source_mapping": {"start": 1224, "length": 414, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SettersGovernor", "source_mapping": {"start": 721, "length": 3835, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 1, "ending_column": 2}}, "signature": "recoverERC20(address,IERC20,address,uint256)"}}, {"type": "node", "name": "LibManager.release(address(token),to,amount,collatInfo.managerData.config)", "source_mapping": {"start": 1457, "length": 77, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [33], "starting_column": 39, "ending_column": 116}, "type_specific_fields": {"parent": {"type": "function", "name": "recoverERC20", "source_mapping": {"start": 1224, "length": 414, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SettersGovernor", "source_mapping": {"start": 721, "length": 3835, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 1, "ending_column": 2}}, "signature": "recoverERC20(address,IERC20,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "token.safeTransfer(to,amount)", "source_mapping": {"start": 1549, "length": 30, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [34], "starting_column": 14, "ending_column": 44}, "type_specific_fields": {"parent": {"type": "function", "name": "recoverERC20", "source_mapping": {"start": 1224, "length": 414, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SettersGovernor", "source_mapping": {"start": 721, "length": 3835, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 1, "ending_column": 2}}, "signature": "recoverERC20(address,IERC20,address,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "Recovered(address(token),to,amount)", "source_mapping": {"start": 1589, "length": 42, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [35], "starting_column": 9, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "recoverERC20", "source_mapping": {"start": 1224, "length": 414, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SettersGovernor", "source_mapping": {"start": 721, "length": 3835, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 1, "ending_column": 2}}, "signature": "recoverERC20(address,IERC20,address,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in SettersGovernor.recoverERC20(address,IERC20,address,uint256) (contracts/transmuter/facets/SettersGovernor.sol#31-36):\n\tExternal calls:\n\t- LibManager.release(address(token),to,amount,collatInfo.managerData.config) (contracts/transmuter/facets/SettersGovernor.sol#33)\n\t- token.safeTransfer(to,amount) (contracts/transmuter/facets/SettersGovernor.sol#34)\n\tEvent emitted after the call(s):\n\t- Recovered(address(token),to,amount) (contracts/transmuter/facets/SettersGovernor.sol#35)\n", "markdown": "Reentrancy in [SettersGovernor.recoverERC20(address,IERC20,address,uint256)](contracts/transmuter/facets/SettersGovernor.sol#L31-L36):\n\tExternal calls:\n\t- [LibManager.release(address(token),to,amount,collatInfo.managerData.config)](contracts/transmuter/facets/SettersGovernor.sol#L33)\n\t- [token.safeTransfer(to,amount)](contracts/transmuter/facets/SettersGovernor.sol#L34)\n\tEvent emitted after the call(s):\n\t- [Recovered(address(token),to,amount)](contracts/transmuter/facets/SettersGovernor.sol#L35)\n", "first_markdown_element": "contracts/transmuter/facets/SettersGovernor.sol#L31-L36", "id": "da66dc31a87f92ef621220480f5a152051469806338931eacec57c031eef97df", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "redeem", "source_mapping": {"start": 7622, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "redeem(uint256,address,address)"}}, {"type": "node", "name": "newTotalAssets = _accrue()", "source_mapping": {"start": 7782, "length": 34, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [155], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "redeem", "source_mapping": {"start": 7622, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "redeem(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "IAgToken(asset()).mint(address(this),earned)", "source_mapping": {"start": 4578, "length": 45, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [92], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "_accrue", "source_mapping": {"start": 4225, "length": 449, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_withdraw(_msgSender(),receiver,owner,assets,shares)", "source_mapping": {"start": 7916, "length": 56, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [157], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "redeem", "source_mapping": {"start": 7622, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "redeem(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", "source_mapping": {"start": 4298, "length": 95, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [110], "starting_column": 9, "ending_column": 104}, "type_specific_fields": {"parent": {"type": "function", "name": "_callOptionalReturn", "source_mapping": {"start": 3868, "length": 717, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeERC20Upgradeable", "source_mapping": {"start": 740, "length": 3847, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116], "starting_column": 1, "ending_column": 2}}, "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 5310, "length": 73, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [137], "starting_column": 9, "ending_column": 82}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4959, "length": 499, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "SafeERC20Upgradeable.safeTransfer(_asset,receiver,assets)", "source_mapping": {"start": 8739, "length": 59, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [219], "starting_column": 9, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 7946, "length": 924, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_withdraw(_msgSender(),receiver,owner,assets,shares)", "source_mapping": {"start": 7916, "length": 56, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [157], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "redeem", "source_mapping": {"start": 7622, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "redeem(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 5310, "length": 73, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [137], "starting_column": 9, "ending_column": 82}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4959, "length": 499, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "Approval(owner,spender,amount)", "source_mapping": {"start": 10773, "length": 37, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [324], "starting_column": 9, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "function", "name": "_approve", "source_mapping": {"start": 10447, "length": 370, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}, "signature": "_approve(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_withdraw(_msgSender(),receiver,owner,assets,shares)", "source_mapping": {"start": 7916, "length": 56, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [157], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "redeem", "source_mapping": {"start": 7622, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "redeem(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "Transfer(account,address(0),amount)", "source_mapping": {"start": 9916, "length": 42, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [297], "starting_column": 9, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "_burn", "source_mapping": {"start": 9448, "length": 576, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}, "signature": "_burn(address,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_withdraw(_msgSender(),receiver,owner,assets,shares)", "source_mapping": {"start": 7916, "length": 56, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [157], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "redeem", "source_mapping": {"start": 7622, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "redeem(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "Withdraw(caller,receiver,owner,assets,shares)", "source_mapping": {"start": 8809, "length": 54, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [221], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 7946, "length": 924, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_withdraw(_msgSender(),receiver,owner,assets,shares)", "source_mapping": {"start": 7916, "length": 56, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [157], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "redeem", "source_mapping": {"start": 7622, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [150, 151, 152, 153, 154, 155, 156, 157, 158], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "redeem(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Savings.redeem(uint256,address,address) (contracts/savings/Savings.sol#150-158):\n\tExternal calls:\n\t- newTotalAssets = _accrue() (contracts/savings/Savings.sol#155)\n\t\t- IAgToken(asset()).mint(address(this),earned) (contracts/savings/Savings.sol#92)\n\t- _withdraw(_msgSender(),receiver,owner,assets,shares) (contracts/savings/Savings.sol#157)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#137)\n\t\t- SafeERC20Upgradeable.safeTransfer(_asset,receiver,assets) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#219)\n\tExternal calls sending eth:\n\t- _withdraw(_msgSender(),receiver,owner,assets,shares) (contracts/savings/Savings.sol#157)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#137)\n\tEvent emitted after the call(s):\n\t- Approval(owner,spender,amount) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#324)\n\t\t- _withdraw(_msgSender(),receiver,owner,assets,shares) (contracts/savings/Savings.sol#157)\n\t- Transfer(account,address(0),amount) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#297)\n\t\t- _withdraw(_msgSender(),receiver,owner,assets,shares) (contracts/savings/Savings.sol#157)\n\t- Withdraw(caller,receiver,owner,assets,shares) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#221)\n\t\t- _withdraw(_msgSender(),receiver,owner,assets,shares) (contracts/savings/Savings.sol#157)\n", "markdown": "Reentrancy in [Savings.redeem(uint256,address,address)](contracts/savings/Savings.sol#L150-L158):\n\tExternal calls:\n\t- [newTotalAssets = _accrue()](contracts/savings/Savings.sol#L155)\n\t\t- [IAgToken(asset()).mint(address(this),earned)](contracts/savings/Savings.sol#L92)\n\t- [_withdraw(_msgSender(),receiver,owner,assets,shares)](contracts/savings/Savings.sol#L157)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L137)\n\t\t- [SafeERC20Upgradeable.safeTransfer(_asset,receiver,assets)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L219)\n\tExternal calls sending eth:\n\t- [_withdraw(_msgSender(),receiver,owner,assets,shares)](contracts/savings/Savings.sol#L157)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L137)\n\tEvent emitted after the call(s):\n\t- [Approval(owner,spender,amount)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L324)\n\t\t- [_withdraw(_msgSender(),receiver,owner,assets,shares)](contracts/savings/Savings.sol#L157)\n\t- [Transfer(account,address(0),amount)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L297)\n\t\t- [_withdraw(_msgSender(),receiver,owner,assets,shares)](contracts/savings/Savings.sol#L157)\n\t- [Withdraw(caller,receiver,owner,assets,shares)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L221)\n\t\t- [_withdraw(_msgSender(),receiver,owner,assets,shares)](contracts/savings/Savings.sol#L157)\n", "first_markdown_element": "contracts/savings/Savings.sol#L150-L158", "id": "0acc1092acc8ec4ae2183160597daa488ac214b6ebeb9eb8150035471d755c91", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "sellRewards", "source_mapping": {"start": 1049, "length": 1605, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "sellRewards(uint256,bytes)"}}, {"type": "node", "name": "(success,result) = ONE_INCH_ROUTER.call(payload)", "source_mapping": {"start": 1975, "length": 67, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [42], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "sellRewards", "source_mapping": {"start": 1049, "length": 1605, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "sellRewards(uint256,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "RewardsSoldFor(list[i_scope_0],newBalance - balances[i_scope_0])", "source_mapping": {"start": 2520, "length": 54, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [52], "starting_column": 17, "ending_column": 71}, "type_specific_fields": {"parent": {"type": "function", "name": "sellRewards", "source_mapping": {"start": 1049, "length": 1605, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "sellRewards(uint256,bytes)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in RewardHandler.sellRewards(uint256,bytes) (contracts/transmuter/facets/RewardHandler.sol#29-56):\n\tExternal calls:\n\t- (success,result) = ONE_INCH_ROUTER.call(payload) (contracts/transmuter/facets/RewardHandler.sol#42)\n\tEvent emitted after the call(s):\n\t- RewardsSoldFor(list[i_scope_0],newBalance - balances[i_scope_0]) (contracts/transmuter/facets/RewardHandler.sol#52)\n", "markdown": "Reentrancy in [RewardHandler.sellRewards(uint256,bytes)](contracts/transmuter/facets/RewardHandler.sol#L29-L56):\n\tExternal calls:\n\t- [(success,result) = ONE_INCH_ROUTER.call(payload)](contracts/transmuter/facets/RewardHandler.sol#L42)\n\tEvent emitted after the call(s):\n\t- [RewardsSoldFor(list[i_scope_0],newBalance - balances[i_scope_0])](contracts/transmuter/facets/RewardHandler.sol#L52)\n", "first_markdown_element": "contracts/transmuter/facets/RewardHandler.sol#L29-L56", "id": "021c6247b39ce7180aaa843f46a234bd3bede4b16cf284cfdb254e17cf6e9ab7", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setParams", "source_mapping": {"start": 10960, "length": 631, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "setParams(bytes32,uint64)"}}, {"type": "node", "name": "accrue()", "source_mapping": {"start": 11364, "length": 8, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [214], "starting_column": 13, "ending_column": 21}, "type_specific_fields": {"parent": {"type": "function", "name": "setParams", "source_mapping": {"start": 10960, "length": 631, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "setParams(bytes32,uint64)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "_transmuter.updateNormalizer(minted,true)", "source_mapping": {"start": 5992, "length": 42, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [116], "starting_column": 17, "ending_column": 59}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_agToken.mint(_surplusManager,surplusForProtocol)", "source_mapping": {"start": 6300, "length": 50, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [120], "starting_column": 17, "ending_column": 67}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_agToken.mint(address(this),surplus)", "source_mapping": {"start": 6746, "length": 37, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [127], "starting_column": 21, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_agToken.burnSelf(missing,address(this))", "source_mapping": {"start": 7556, "length": 41, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [143], "starting_column": 21, "ending_column": 62}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_transmuter.updateNormalizer(missing,false)", "source_mapping": {"start": 7619, "length": 44, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [144], "starting_column": 21, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "FiledUint64(param,what)", "source_mapping": {"start": 11555, "length": 29, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [219], "starting_column": 9, "ending_column": 38}, "type_specific_fields": {"parent": {"type": "function", "name": "setParams", "source_mapping": {"start": 10960, "length": 631, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "setParams(bytes32,uint64)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in SavingsVest.setParams(bytes32,uint64) (contracts/savings/SavingsVest.sol#207-220):\n\tExternal calls:\n\t- accrue() (contracts/savings/SavingsVest.sol#214)\n\t\t- _transmuter.updateNormalizer(minted,true) (contracts/savings/SavingsVest.sol#116)\n\t\t- _agToken.mint(_surplusManager,surplusForProtocol) (contracts/savings/SavingsVest.sol#120)\n\t\t- _agToken.mint(address(this),surplus) (contracts/savings/SavingsVest.sol#127)\n\t\t- _agToken.burnSelf(missing,address(this)) (contracts/savings/SavingsVest.sol#143)\n\t\t- _transmuter.updateNormalizer(missing,false) (contracts/savings/SavingsVest.sol#144)\n\tEvent emitted after the call(s):\n\t- FiledUint64(param,what) (contracts/savings/SavingsVest.sol#219)\n", "markdown": "Reentrancy in [SavingsVest.setParams(bytes32,uint64)](contracts/savings/SavingsVest.sol#L207-L220):\n\tExternal calls:\n\t- [accrue()](contracts/savings/SavingsVest.sol#L214)\n\t\t- [_transmuter.updateNormalizer(minted,true)](contracts/savings/SavingsVest.sol#L116)\n\t\t- [_agToken.mint(_surplusManager,surplusForProtocol)](contracts/savings/SavingsVest.sol#L120)\n\t\t- [_agToken.mint(address(this),surplus)](contracts/savings/SavingsVest.sol#L127)\n\t\t- [_agToken.burnSelf(missing,address(this))](contracts/savings/SavingsVest.sol#L143)\n\t\t- [_transmuter.updateNormalizer(missing,false)](contracts/savings/SavingsVest.sol#L144)\n\tEvent emitted after the call(s):\n\t- [FiledUint64(param,what)](contracts/savings/SavingsVest.sol#L219)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L207-L220", "id": "2ffc113bf98022d9d2e49f1b26b2295b49d946e09d2ca8268bd44fc7c7992f22", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setRate", "source_mapping": {"start": 11651, "length": 194, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "setRate(uint208)"}}, {"type": "node", "name": "_accrue()", "source_mapping": {"start": 11770, "length": 9, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [237], "starting_column": 9, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "setRate", "source_mapping": {"start": 11651, "length": 194, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "setRate(uint208)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "IAgToken(asset()).mint(address(this),earned)", "source_mapping": {"start": 4578, "length": 45, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [92], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "_accrue", "source_mapping": {"start": 4225, "length": 449, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "RateUpdated(newRate)", "source_mapping": {"start": 11813, "length": 25, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [239], "starting_column": 9, "ending_column": 34}, "type_specific_fields": {"parent": {"type": "function", "name": "setRate", "source_mapping": {"start": 11651, "length": 194, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [235, 236, 237, 238, 239, 240], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "setRate(uint208)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Savings.setRate(uint208) (contracts/savings/Savings.sol#235-240):\n\tExternal calls:\n\t- _accrue() (contracts/savings/Savings.sol#237)\n\t\t- IAgToken(asset()).mint(address(this),earned) (contracts/savings/Savings.sol#92)\n\tEvent emitted after the call(s):\n\t- RateUpdated(newRate) (contracts/savings/Savings.sol#239)\n", "markdown": "Reentrancy in [Savings.setRate(uint208)](contracts/savings/Savings.sol#L235-L240):\n\tExternal calls:\n\t- [_accrue()](contracts/savings/Savings.sol#L237)\n\t\t- [IAgToken(asset()).mint(address(this),earned)](contracts/savings/Savings.sol#L92)\n\tEvent emitted after the call(s):\n\t- [RateUpdated(newRate)](contracts/savings/Savings.sol#L239)\n", "first_markdown_element": "contracts/savings/Savings.sol#L235-L240", "id": "1c0e52e4aef6263a835ec8a1fd2eaca7973a1b1c862ddb8b5e98649b621db95b", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "setWhitelistStatus", "source_mapping": {"start": 7076, "length": 608, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setWhitelistStatus(address,uint8,bytes)"}}, {"type": "node", "name": "LibWhitelist.checkWhitelist(whitelistData,address(this))", "source_mapping": {"start": 7411, "length": 57, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [147], "starting_column": 13, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "setWhitelistStatus", "source_mapping": {"start": 7076, "length": 608, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setWhitelistStatus(address,uint8,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "CollateralWhitelistStatusUpdated(collateral,whitelistData,whitelistStatus)", "source_mapping": {"start": 7596, "length": 81, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [151], "starting_column": 9, "ending_column": 90}, "type_specific_fields": {"parent": {"type": "function", "name": "setWhitelistStatus", "source_mapping": {"start": 7076, "length": 608, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setWhitelistStatus(address,uint8,bytes)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in LibSetters.setWhitelistStatus(address,uint8,bytes) (contracts/transmuter/libraries/LibSetters.sol#142-152):\n\tExternal calls:\n\t- LibWhitelist.checkWhitelist(whitelistData,address(this)) (contracts/transmuter/libraries/LibSetters.sol#147)\n\tEvent emitted after the call(s):\n\t- CollateralWhitelistStatusUpdated(collateral,whitelistData,whitelistStatus) (contracts/transmuter/libraries/LibSetters.sol#151)\n", "markdown": "Reentrancy in [LibSetters.setWhitelistStatus(address,uint8,bytes)](contracts/transmuter/libraries/LibSetters.sol#L142-L152):\n\tExternal calls:\n\t- [LibWhitelist.checkWhitelist(whitelistData,address(this))](contracts/transmuter/libraries/LibSetters.sol#L147)\n\tEvent emitted after the call(s):\n\t- [CollateralWhitelistStatusUpdated(collateral,whitelistData,whitelistStatus)](contracts/transmuter/libraries/LibSetters.sol#L151)\n", "first_markdown_element": "contracts/transmuter/libraries/LibSetters.sol#L142-L152", "id": "0f7f6647f3a01e4a17704e660bebd9510ab72487e5c9396fa7ddc3a79e316e8a", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "withdraw", "source_mapping": {"start": 7220, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(uint256,address,address)"}}, {"type": "node", "name": "newTotalAssets = _accrue()", "source_mapping": {"start": 7382, "length": 34, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [144], "starting_column": 9, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 7220, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "IAgToken(asset()).mint(address(this),earned)", "source_mapping": {"start": 4578, "length": 45, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [92], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "_accrue", "source_mapping": {"start": 4225, "length": 449, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_accrue()"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_withdraw(_msgSender(),receiver,owner,assets,shares)", "source_mapping": {"start": 7514, "length": 56, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [146], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 7220, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "external_calls"}}, {"type": "node", "name": "returndata = address(token).functionCall(data,SafeERC20: low-level call failed)", "source_mapping": {"start": 4298, "length": 95, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [110], "starting_column": 9, "ending_column": 104}, "type_specific_fields": {"parent": {"type": "function", "name": "_callOptionalReturn", "source_mapping": {"start": 3868, "length": 717, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SafeERC20Upgradeable", "source_mapping": {"start": 740, "length": 3847, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116], "starting_column": 1, "ending_column": 2}}, "signature": "_callOptionalReturn(IERC20Upgradeable,bytes)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 5310, "length": 73, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [137], "starting_column": 9, "ending_column": 82}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4959, "length": 499, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "SafeERC20Upgradeable.safeTransfer(_asset,receiver,assets)", "source_mapping": {"start": 8739, "length": 59, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [219], "starting_column": 9, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 7946, "length": 924, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "_withdraw(_msgSender(),receiver,owner,assets,shares)", "source_mapping": {"start": 7514, "length": 56, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [146], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 7220, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 5310, "length": 73, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [137], "starting_column": 9, "ending_column": 82}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4959, "length": 499, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}, "additional_fields": {"underlying_type": "external_calls_sending_eth"}}, {"type": "node", "name": "Approval(owner,spender,amount)", "source_mapping": {"start": 10773, "length": 37, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [324], "starting_column": 9, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "function", "name": "_approve", "source_mapping": {"start": 10447, "length": 370, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}, "signature": "_approve(address,address,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_withdraw(_msgSender(),receiver,owner,assets,shares)", "source_mapping": {"start": 7514, "length": 56, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [146], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 7220, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "Transfer(account,address(0),amount)", "source_mapping": {"start": 9916, "length": 42, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [297], "starting_column": 9, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "_burn", "source_mapping": {"start": 9448, "length": 576, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}, "signature": "_burn(address,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_withdraw(_msgSender(),receiver,owner,assets,shares)", "source_mapping": {"start": 7514, "length": 56, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [146], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 7220, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "Withdraw(caller,receiver,owner,assets,shares)", "source_mapping": {"start": 8809, "length": 54, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [221], "starting_column": 9, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "_withdraw", "source_mapping": {"start": 7946, "length": 924, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "_withdraw(address,address,address,uint256,uint256)"}}}, "additional_fields": {"underlying_type": "event"}}, {"type": "node", "name": "_withdraw(_msgSender(),receiver,owner,assets,shares)", "source_mapping": {"start": 7514, "length": 56, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [146], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "withdraw", "source_mapping": {"start": 7220, "length": 357, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [139, 140, 141, 142, 143, 144, 145, 146, 147], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "withdraw(uint256,address,address)"}}}, "additional_fields": {"underlying_type": "event"}}], "description": "Reentrancy in Savings.withdraw(uint256,address,address) (contracts/savings/Savings.sol#139-147):\n\tExternal calls:\n\t- newTotalAssets = _accrue() (contracts/savings/Savings.sol#144)\n\t\t- IAgToken(asset()).mint(address(this),earned) (contracts/savings/Savings.sol#92)\n\t- _withdraw(_msgSender(),receiver,owner,assets,shares) (contracts/savings/Savings.sol#146)\n\t\t- returndata = address(token).functionCall(data,SafeERC20: low-level call failed) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#110)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#137)\n\t\t- SafeERC20Upgradeable.safeTransfer(_asset,receiver,assets) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#219)\n\tExternal calls sending eth:\n\t- _withdraw(_msgSender(),receiver,owner,assets,shares) (contracts/savings/Savings.sol#146)\n\t\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#137)\n\tEvent emitted after the call(s):\n\t- Approval(owner,spender,amount) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#324)\n\t\t- _withdraw(_msgSender(),receiver,owner,assets,shares) (contracts/savings/Savings.sol#146)\n\t- Transfer(account,address(0),amount) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#297)\n\t\t- _withdraw(_msgSender(),receiver,owner,assets,shares) (contracts/savings/Savings.sol#146)\n\t- Withdraw(caller,receiver,owner,assets,shares) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#221)\n\t\t- _withdraw(_msgSender(),receiver,owner,assets,shares) (contracts/savings/Savings.sol#146)\n", "markdown": "Reentrancy in [Savings.withdraw(uint256,address,address)](contracts/savings/Savings.sol#L139-L147):\n\tExternal calls:\n\t- [newTotalAssets = _accrue()](contracts/savings/Savings.sol#L144)\n\t\t- [IAgToken(asset()).mint(address(this),earned)](contracts/savings/Savings.sol#L92)\n\t- [_withdraw(_msgSender(),receiver,owner,assets,shares)](contracts/savings/Savings.sol#L146)\n\t\t- [returndata = address(token).functionCall(data,SafeERC20: low-level call failed)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L110)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L137)\n\t\t- [SafeERC20Upgradeable.safeTransfer(_asset,receiver,assets)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L219)\n\tExternal calls sending eth:\n\t- [_withdraw(_msgSender(),receiver,owner,assets,shares)](contracts/savings/Savings.sol#L146)\n\t\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L137)\n\tEvent emitted after the call(s):\n\t- [Approval(owner,spender,amount)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L324)\n\t\t- [_withdraw(_msgSender(),receiver,owner,assets,shares)](contracts/savings/Savings.sol#L146)\n\t- [Transfer(account,address(0),amount)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L297)\n\t\t- [_withdraw(_msgSender(),receiver,owner,assets,shares)](contracts/savings/Savings.sol#L146)\n\t- [Withdraw(caller,receiver,owner,assets,shares)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L221)\n\t\t- [_withdraw(_msgSender(),receiver,owner,assets,shares)](contracts/savings/Savings.sol#L146)\n", "first_markdown_element": "contracts/savings/Savings.sol#L139-L147", "id": "d4ff762f1fba6061db621aec4a1dba3044711dad18b9e26f36a2d67db0af065a", "check": "reentrancy-events", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_accrue", "source_mapping": {"start": 4225, "length": 449, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_accrue()"}}, {"type": "node", "name": "earned > 0", "source_mapping": {"start": 4552, "length": 10, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [91], "starting_column": 13, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "_accrue", "source_mapping": {"start": 4225, "length": 449, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_accrue()"}}}}], "description": "Savings._accrue() (contracts/savings/Savings.sol#86-95) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- earned > 0 (contracts/savings/Savings.sol#91)\n", "markdown": "[Savings._accrue()](contracts/savings/Savings.sol#L86-L95) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [earned > 0](contracts/savings/Savings.sol#L91)\n", "first_markdown_element": "contracts/savings/Savings.sol#L86-L95", "id": "36772a910860746bffbf899b64b10fa5a1c4e14e34034c14056b8521287625b1", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}, {"type": "node", "name": "exp == 0 || ratePerSecond == 0", "source_mapping": {"start": 4971, "length": 30, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [101], "starting_column": 13, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}}}, {"type": "node", "name": "exp > 2", "source_mapping": {"start": 5073, "length": 43, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [103], "starting_column": 9, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "_computeUpdatedAssets", "source_mapping": {"start": 4819, "length": 738, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_computeUpdatedAssets(uint256,uint256)"}}}}], "description": "Savings._computeUpdatedAssets(uint256,uint256) (contracts/savings/Savings.sol#99-109) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- exp == 0 || ratePerSecond == 0 (contracts/savings/Savings.sol#101)\n\t- exp > 2 (contracts/savings/Savings.sol#103)\n", "markdown": "[Savings._computeUpdatedAssets(uint256,uint256)](contracts/savings/Savings.sol#L99-L109) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [exp == 0 || ratePerSecond == 0](contracts/savings/Savings.sol#L101)\n\t- [exp > 2](contracts/savings/Savings.sol#L103)\n", "first_markdown_element": "contracts/savings/Savings.sol#L99-L109", "id": "a8dc344883d8f3cf37ed150a7d8027159b766bc0ec3b8db15b478c9740a0a5e7", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_convertToShares", "source_mapping": {"start": 8725, "length": 446, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToShares(uint256,uint256,MathUpgradeable.Rounding)"}}, {"type": "node", "name": "(assets == 0 || supply == 0)", "source_mapping": {"start": 8945, "length": 219, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [179, 180, 181, 182], "starting_column": 9, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_convertToShares", "source_mapping": {"start": 8725, "length": 446, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToShares(uint256,uint256,MathUpgradeable.Rounding)"}}}}], "description": "Savings._convertToShares(uint256,uint256,MathUpgradeable.Rounding) (contracts/savings/Savings.sol#173-183) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- (assets == 0 || supply == 0) (contracts/savings/Savings.sol#179-182)\n", "markdown": "[Savings._convertToShares(uint256,uint256,MathUpgradeable.Rounding)](contracts/savings/Savings.sol#L173-L183) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [(assets == 0 || supply == 0)](contracts/savings/Savings.sol#L179-L182)\n", "first_markdown_element": "contracts/savings/Savings.sol#L173-L183", "id": "1e189a1568dc64fa32f9f3e73f18c1ce90efbe09bb0a31f542726ad2d5db168d", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_convertToAssets", "source_mapping": {"start": 9557, "length": 431, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToAssets(uint256,uint256,MathUpgradeable.Rounding)"}}, {"type": "node", "name": "(supply == 0)", "source_mapping": {"start": 9777, "length": 204, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [200, 201, 202, 203], "starting_column": 9, "ending_column": 66}, "type_specific_fields": {"parent": {"type": "function", "name": "_convertToAssets", "source_mapping": {"start": 9557, "length": 431, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "_convertToAssets(uint256,uint256,MathUpgradeable.Rounding)"}}}}], "description": "Savings._convertToAssets(uint256,uint256,MathUpgradeable.Rounding) (contracts/savings/Savings.sol#194-204) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- (supply == 0) (contracts/savings/Savings.sol#200-203)\n", "markdown": "[Savings._convertToAssets(uint256,uint256,MathUpgradeable.Rounding)](contracts/savings/Savings.sol#L194-L204) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [(supply == 0)](contracts/savings/Savings.sol#L200-L203)\n", "first_markdown_element": "contracts/savings/Savings.sol#L194-L204", "id": "51ef3ae283a3df9be8a2423488c4a87fd2c9272c65a684f3607dec0c9538ffa8", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}, {"type": "node", "name": "block.timestamp - lastUpdate < updateDelay && ! accessControlManager.isGovernorOrGuardian(msg.sender)", "source_mapping": {"start": 5223, "length": 100, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [105], "starting_column": 13, "ending_column": 113}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}}, {"type": "node", "name": "missing > currentLockedProfit", "source_mapping": {"start": 7148, "length": 29, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [133], "starting_column": 21, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}}, {"type": "node", "name": "missing > 0", "source_mapping": {"start": 7521, "length": 11, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [142], "starting_column": 21, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "accrue", "source_mapping": {"start": 5159, "length": 2553, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "accrue()"}}}}], "description": "SavingsVest.accrue() (contracts/savings/SavingsVest.sol#104-148) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp - lastUpdate < updateDelay && ! accessControlManager.isGovernorOrGuardian(msg.sender) (contracts/savings/SavingsVest.sol#105)\n\t- missing > currentLockedProfit (contracts/savings/SavingsVest.sol#133)\n\t- missing > 0 (contracts/savings/SavingsVest.sol#142)\n", "markdown": "[SavingsVest.accrue()](contracts/savings/SavingsVest.sol#L104-L148) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp - lastUpdate < updateDelay && ! accessControlManager.isGovernorOrGuardian(msg.sender)](contracts/savings/SavingsVest.sol#L105)\n\t- [missing > currentLockedProfit](contracts/savings/SavingsVest.sol#L133)\n\t- [missing > 0](contracts/savings/SavingsVest.sol#L142)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L104-L148", "id": "507b756b448ad4a02a293261a1e9f54c06f8f8ed71e45b828c395f635fda27d1", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "lockedProfit", "source_mapping": {"start": 7774, "length": 908, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "lockedProfit()"}}, {"type": "node", "name": "block.timestamp >= _lastUpdate + _vestingPeriod", "source_mapping": {"start": 8147, "length": 47, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [159], "starting_column": 17, "ending_column": 64}, "type_specific_fields": {"parent": {"type": "function", "name": "lockedProfit", "source_mapping": {"start": 7774, "length": 908, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "lockedProfit()"}}}}], "description": "SavingsVest.lockedProfit() (contracts/savings/SavingsVest.sol#151-168) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp >= _lastUpdate + _vestingPeriod (contracts/savings/SavingsVest.sol#159)\n", "markdown": "[SavingsVest.lockedProfit()](contracts/savings/SavingsVest.sol#L151-L168) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp >= _lastUpdate + _vestingPeriod](contracts/savings/SavingsVest.sol#L159)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L151-L168", "id": "7bb9485dd335c0ff76beeb1cc2be75548226168d92a025c319a6e4d7a8ed232c", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "estimatedAPR", "source_mapping": {"start": 9844, "length": 442, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "estimatedAPR()"}}, {"type": "node", "name": "lockedProfit() == 0", "source_mapping": {"start": 9976, "length": 19, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [188], "starting_column": 13, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "estimatedAPR", "source_mapping": {"start": 9844, "length": 442, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "estimatedAPR()"}}}}, {"type": "node", "name": "currentlyVestingProfit != 0 && weightedAssets != 0", "source_mapping": {"start": 10140, "length": 50, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [192], "starting_column": 13, "ending_column": 63}, "type_specific_fields": {"parent": {"type": "function", "name": "estimatedAPR", "source_mapping": {"start": 9844, "length": 442, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "estimatedAPR()"}}}}], "description": "SavingsVest.estimatedAPR() (contracts/savings/SavingsVest.sol#186-194) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- lockedProfit() == 0 (contracts/savings/SavingsVest.sol#188)\n\t- currentlyVestingProfit != 0 && weightedAssets != 0 (contracts/savings/SavingsVest.sol#192)\n", "markdown": "[SavingsVest.estimatedAPR()](contracts/savings/SavingsVest.sol#L186-L194) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [lockedProfit() == 0](contracts/savings/SavingsVest.sol#L188)\n\t- [currentlyVestingProfit != 0 && weightedAssets != 0](contracts/savings/SavingsVest.sol#L192)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L186-L194", "id": "a7dbe89358194fcea8b5990d1b48989182e93a12f9e4c13d7c4038dc35b1b701", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_redeem", "source_mapping": {"start": 5081, "length": 2406, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Redeemer", "source_mapping": {"start": 963, "length": 11072, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,address,uint256,uint256[],address[])"}}, {"type": "node", "name": "block.timestamp > deadline", "source_mapping": {"start": 5468, "length": 26, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [113], "starting_column": 13, "ending_column": 39}, "type_specific_fields": {"parent": {"type": "function", "name": "_redeem", "source_mapping": {"start": 5081, "length": 2406, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Redeemer", "source_mapping": {"start": 963, "length": 11072, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "_redeem(uint256,address,uint256,uint256[],address[])"}}}}], "description": "Redeemer._redeem(uint256,address,uint256,uint256[],address[]) (contracts/transmuter/facets/Redeemer.sol#103-145) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > deadline (contracts/transmuter/facets/Redeemer.sol#113)\n", "markdown": "[Redeemer._redeem(uint256,address,uint256,uint256[],address[])](contracts/transmuter/facets/Redeemer.sol#L103-L145) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > deadline](contracts/transmuter/facets/Redeemer.sol#L113)\n", "first_markdown_element": "contracts/transmuter/facets/Redeemer.sol#L103-L145", "id": "1d1d334cfbbd9085699eac0fed346c66331c2a9ef754650ec669d25697c75360", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getMintBurn", "source_mapping": {"start": 24492, "length": 753, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper", "source_mapping": {"start": 2469, "length": 28288, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580], "starting_column": 1, "ending_column": 2}}, "signature": "_getMintBurn(address,address,uint256)"}}, {"type": "node", "name": "deadline != 0 && block.timestamp > deadline", "source_mapping": {"start": 24676, "length": 43, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [464], "starting_column": 13, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "_getMintBurn", "source_mapping": {"start": 24492, "length": 753, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper", "source_mapping": {"start": 2469, "length": 28288, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580], "starting_column": 1, "ending_column": 2}}, "signature": "_getMintBurn(address,address,uint256)"}}}}], "description": "Swapper._getMintBurn(address,address,uint256) (contracts/transmuter/facets/Swapper.sol#459-476) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- deadline != 0 && block.timestamp > deadline (contracts/transmuter/facets/Swapper.sol#464)\n", "markdown": "[Swapper._getMintBurn(address,address,uint256)](contracts/transmuter/facets/Swapper.sol#L459-L476) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [deadline != 0 && block.timestamp > deadline](contracts/transmuter/facets/Swapper.sol#L464)\n", "first_markdown_element": "contracts/transmuter/facets/Swapper.sol#L459-L476", "id": "4e8b356c3439f92fe8a7992789932f706d46cd834e03d2973b62b0f9ec078b6f", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "_getMint", "source_mapping": {"start": 25340, "length": 434, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [479, 480, 481, 482, 483, 484, 485, 486, 487, 488], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper", "source_mapping": {"start": 2469, "length": 28288, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580], "starting_column": 1, "ending_column": 2}}, "signature": "_getMint(address,uint256)"}}, {"type": "node", "name": "deadline != 0 && block.timestamp > deadline", "source_mapping": {"start": 25501, "length": 43, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [483], "starting_column": 13, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "_getMint", "source_mapping": {"start": 25340, "length": 434, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [479, 480, 481, 482, 483, 484, 485, 486, 487, 488], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper", "source_mapping": {"start": 2469, "length": 28288, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580], "starting_column": 1, "ending_column": 2}}, "signature": "_getMint(address,uint256)"}}}}], "description": "Swapper._getMint(address,uint256) (contracts/transmuter/facets/Swapper.sol#479-488) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- deadline != 0 && block.timestamp > deadline (contracts/transmuter/facets/Swapper.sol#483)\n", "markdown": "[Swapper._getMint(address,uint256)](contracts/transmuter/facets/Swapper.sol#L479-L488) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [deadline != 0 && block.timestamp > deadline](contracts/transmuter/facets/Swapper.sol#L483)\n", "first_markdown_element": "contracts/transmuter/facets/Swapper.sol#L479-L488", "id": "1594ae973dc30a59f9db2a39c0d6f69dbfd07dee694120f51eea1522b4d130d8", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "readChainlinkFeed", "source_mapping": {"start": 9304, "length": 631, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibOracle", "source_mapping": {"start": 503, "length": 10831, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213], "starting_column": 1, "ending_column": 2}}, "signature": "readChainlinkFeed(uint256,AggregatorV3Interface,uint8,uint256,uint32)"}}, {"type": "node", "name": "ratio <= 0 || block.timestamp - updatedAt > stalePeriod", "source_mapping": {"start": 9603, "length": 55, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [182], "starting_column": 13, "ending_column": 68}, "type_specific_fields": {"parent": {"type": "function", "name": "readChainlinkFeed", "source_mapping": {"start": 9304, "length": 631, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibOracle", "source_mapping": {"start": 503, "length": 10831, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213], "starting_column": 1, "ending_column": 2}}, "signature": "readChainlinkFeed(uint256,AggregatorV3Interface,uint8,uint256,uint32)"}}}}], "description": "LibOracle.readChainlinkFeed(uint256,AggregatorV3Interface,uint8,uint256,uint32) (contracts/transmuter/libraries/LibOracle.sol#174-186) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- ratio <= 0 || block.timestamp - updatedAt > stalePeriod (contracts/transmuter/libraries/LibOracle.sol#182)\n", "markdown": "[LibOracle.readChainlinkFeed(uint256,AggregatorV3Interface,uint8,uint256,uint32)](contracts/transmuter/libraries/LibOracle.sol#L174-L186) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [ratio <= 0 || block.timestamp - updatedAt > stalePeriod](contracts/transmuter/libraries/LibOracle.sol#L182)\n", "first_markdown_element": "contracts/transmuter/libraries/LibOracle.sol#L174-L186", "id": "8b6d24089ac8fd29b79373625f332f69c2d6d3240a03b730f2745573e6f15321", "check": "timestamp", "impact": "Low", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "fallback", "source_mapping": {"start": 1167, "length": 1329, "filename_relative": "contracts/transmuter/DiamondProxy.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/DiamondProxy.sol", "filename_short": "contracts/transmuter/DiamondProxy.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondProxy", "source_mapping": {"start": 472, "length": 2026, "filename_relative": "contracts/transmuter/DiamondProxy.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/DiamondProxy.sol", "filename_short": "contracts/transmuter/DiamondProxy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58], "starting_column": 1, "ending_column": 2}}, "signature": "fallback()"}}, {"type": "node", "name": "", "source_mapping": {"start": 1474, "length": 1016, "filename_relative": "contracts/transmuter/DiamondProxy.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/DiamondProxy.sol", "filename_short": "contracts/transmuter/DiamondProxy.sol", "is_dependency": false, "lines": [35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "fallback", "source_mapping": {"start": 1167, "length": 1329, "filename_relative": "contracts/transmuter/DiamondProxy.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/DiamondProxy.sol", "filename_short": "contracts/transmuter/DiamondProxy.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondProxy", "source_mapping": {"start": 472, "length": 2026, "filename_relative": "contracts/transmuter/DiamondProxy.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/DiamondProxy.sol", "filename_short": "contracts/transmuter/DiamondProxy.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58], "starting_column": 1, "ending_column": 2}}, "signature": "fallback()"}}}}], "description": "DiamondProxy.fallback() (contracts/transmuter/DiamondProxy.sol#27-57) uses assembly\n\t- INLINE ASM (contracts/transmuter/DiamondProxy.sol#35-56)\n", "markdown": "[DiamondProxy.fallback()](contracts/transmuter/DiamondProxy.sol#L27-L57) uses assembly\n\t- [INLINE ASM](contracts/transmuter/DiamondProxy.sol#L35-L56)\n", "first_markdown_element": "contracts/transmuter/DiamondProxy.sol#L27-L57", "id": "d3e9f038e38969cd4b3869f1254efb3012891d490eb3f00732e9d5f7e96212d7", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "facets", "source_mapping": {"start": 500, "length": 2088, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondLoupe", "source_mapping": {"start": 421, "length": 4816, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}, "signature": "facets()"}}, {"type": "node", "name": "", "source_mapping": {"start": 2396, "length": 72, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [54, 55, 56], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "facets", "source_mapping": {"start": 500, "length": 2088, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondLoupe", "source_mapping": {"start": 421, "length": 4816, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}, "signature": "facets()"}}}}, {"type": "node", "name": "", "source_mapping": {"start": 2523, "length": 59, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [59, 60, 61], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "facets", "source_mapping": {"start": 500, "length": 2088, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondLoupe", "source_mapping": {"start": 421, "length": 4816, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}, "signature": "facets()"}}}}], "description": "DiamondLoupe.facets() (contracts/transmuter/facets/DiamondLoupe.sol#17-62) uses assembly\n\t- INLINE ASM (contracts/transmuter/facets/DiamondLoupe.sol#54-56)\n\t- INLINE ASM (contracts/transmuter/facets/DiamondLoupe.sol#59-61)\n", "markdown": "[DiamondLoupe.facets()](contracts/transmuter/facets/DiamondLoupe.sol#L17-L62) uses assembly\n\t- [INLINE ASM](contracts/transmuter/facets/DiamondLoupe.sol#L54-L56)\n\t- [INLINE ASM](contracts/transmuter/facets/DiamondLoupe.sol#L59-L61)\n", "first_markdown_element": "contracts/transmuter/facets/DiamondLoupe.sol#L17-L62", "id": "3a8c095923076f770c48e143828ad3df139b9cc737850f8cb9acae3559185c28", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "facetFunctionSelectors", "source_mapping": {"start": 2628, "length": 870, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondLoupe", "source_mapping": {"start": 421, "length": 4816, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}, "signature": "facetFunctionSelectors(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 3414, "length": 78, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [82, 83, 84], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "facetFunctionSelectors", "source_mapping": {"start": 2628, "length": 870, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondLoupe", "source_mapping": {"start": 421, "length": 4816, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}, "signature": "facetFunctionSelectors(address)"}}}}], "description": "DiamondLoupe.facetFunctionSelectors(address) (contracts/transmuter/facets/DiamondLoupe.sol#65-85) uses assembly\n\t- INLINE ASM (contracts/transmuter/facets/DiamondLoupe.sol#82-84)\n", "markdown": "[DiamondLoupe.facetFunctionSelectors(address)](contracts/transmuter/facets/DiamondLoupe.sol#L65-L85) uses assembly\n\t- [INLINE ASM](contracts/transmuter/facets/DiamondLoupe.sol#L82-L84)\n", "first_markdown_element": "contracts/transmuter/facets/DiamondLoupe.sol#L65-L85", "id": "997fa525b3a4ab282360327852f5f1303637447332108cba6b7510bcc10b061f", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "facetAddresses", "source_mapping": {"start": 3538, "length": 1418, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondLoupe", "source_mapping": {"start": 421, "length": 4816, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}, "signature": "facetAddresses()"}}, {"type": "node", "name": "", "source_mapping": {"start": 4883, "length": 67, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [116, 117, 118], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "facetAddresses", "source_mapping": {"start": 3538, "length": 1418, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondLoupe", "source_mapping": {"start": 421, "length": 4816, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}, "signature": "facetAddresses()"}}}}], "description": "DiamondLoupe.facetAddresses() (contracts/transmuter/facets/DiamondLoupe.sol#88-119) uses assembly\n\t- INLINE ASM (contracts/transmuter/facets/DiamondLoupe.sol#116-118)\n", "markdown": "[DiamondLoupe.facetAddresses()](contracts/transmuter/facets/DiamondLoupe.sol#L88-L119) uses assembly\n\t- [INLINE ASM](contracts/transmuter/facets/DiamondLoupe.sol#L116-L118)\n", "first_markdown_element": "contracts/transmuter/facets/DiamondLoupe.sol#L88-L119", "id": "ce15dfa16f061c916ae3194cf45fc8a1ff57b21ce9561d820bbaebce78c4cf5e", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_revertBytes", "source_mapping": {"start": 2708, "length": 274, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "_revertBytes(bytes)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2851, "length": 79, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [62, 63, 64], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "_revertBytes", "source_mapping": {"start": 2708, "length": 274, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [59, 60, 61, 62, 63, 64, 65, 66, 67], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "_revertBytes(bytes)"}}}}], "description": "RewardHandler._revertBytes(bytes) (contracts/transmuter/facets/RewardHandler.sol#59-67) uses assembly\n\t- INLINE ASM (contracts/transmuter/facets/RewardHandler.sol#62-64)\n", "markdown": "[RewardHandler._revertBytes(bytes)](contracts/transmuter/facets/RewardHandler.sol#L59-L67) uses assembly\n\t- [INLINE ASM](contracts/transmuter/facets/RewardHandler.sol#L62-L64)\n", "first_markdown_element": "contracts/transmuter/facets/RewardHandler.sol#L59-L67", "id": "267c70033910245c8bcd162b7052f8b963b8cbb8d3bc07580ada69b18c3ebcb4", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_initializeDiamondCut", "source_mapping": {"start": 2931, "length": 605, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibDiamond", "source_mapping": {"start": 430, "length": 7761, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 1, "ending_column": 2}}, "signature": "_initializeDiamondCut(address,bytes)"}}, {"type": "node", "name": "", "source_mapping": {"start": 3268, "length": 144, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [70, 71, 72, 73], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "_initializeDiamondCut", "source_mapping": {"start": 2931, "length": 605, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibDiamond", "source_mapping": {"start": 430, "length": 7761, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 1, "ending_column": 2}}, "signature": "_initializeDiamondCut(address,bytes)"}}}}], "description": "LibDiamond._initializeDiamondCut(address,bytes) (contracts/transmuter/libraries/LibDiamond.sol#62-78) uses assembly\n\t- INLINE ASM (contracts/transmuter/libraries/LibDiamond.sol#70-73)\n", "markdown": "[LibDiamond._initializeDiamondCut(address,bytes)](contracts/transmuter/libraries/LibDiamond.sol#L62-L78) uses assembly\n\t- [INLINE ASM](contracts/transmuter/libraries/LibDiamond.sol#L70-L73)\n", "first_markdown_element": "contracts/transmuter/libraries/LibDiamond.sol#L62-L78", "id": "5ccd6fc3720550e840d236a67f08c282ec3e17a9e2c4151fab8a8519c74a5963", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_enforceHasContractCode", "source_mapping": {"start": 7924, "length": 265, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169, 170, 171], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibDiamond", "source_mapping": {"start": 430, "length": 7761, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 1, "ending_column": 2}}, "signature": "_enforceHasContractCode(address)"}}, {"type": "node", "name": "", "source_mapping": {"start": 8029, "length": 71, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [165, 166, 167], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "_enforceHasContractCode", "source_mapping": {"start": 7924, "length": 265, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [163, 164, 165, 166, 167, 168, 169, 170, 171], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibDiamond", "source_mapping": {"start": 430, "length": 7761, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 1, "ending_column": 2}}, "signature": "_enforceHasContractCode(address)"}}}}], "description": "LibDiamond._enforceHasContractCode(address) (contracts/transmuter/libraries/LibDiamond.sol#163-171) uses assembly\n\t- INLINE ASM (contracts/transmuter/libraries/LibDiamond.sol#165-167)\n", "markdown": "[LibDiamond._enforceHasContractCode(address)](contracts/transmuter/libraries/LibDiamond.sol#L163-L171) uses assembly\n\t- [INLINE ASM](contracts/transmuter/libraries/LibDiamond.sol#L165-L167)\n", "first_markdown_element": "contracts/transmuter/libraries/LibDiamond.sol#L163-L171", "id": "5e4bc8d1374a76372e7ea79ffc38300c3ff7088fcac08ee7336c9c92cbf1d5c9", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "diamondStorage", "source_mapping": {"start": 450, "length": 197, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibStorage", "source_mapping": {"start": 243, "length": 1205, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "starting_column": 1, "ending_column": 2}}, "signature": "diamondStorage()"}}, {"type": "node", "name": "", "source_mapping": {"start": 589, "length": 52, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [15, 16, 17], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "diamondStorage", "source_mapping": {"start": 450, "length": 197, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [13, 14, 15, 16, 17, 18], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibStorage", "source_mapping": {"start": 243, "length": 1205, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "starting_column": 1, "ending_column": 2}}, "signature": "diamondStorage()"}}}}], "description": "LibStorage.diamondStorage() (contracts/transmuter/libraries/LibStorage.sol#13-18) uses assembly\n\t- INLINE ASM (contracts/transmuter/libraries/LibStorage.sol#15-17)\n", "markdown": "[LibStorage.diamondStorage()](contracts/transmuter/libraries/LibStorage.sol#L13-L18) uses assembly\n\t- [INLINE ASM](contracts/transmuter/libraries/LibStorage.sol#L15-L17)\n", "first_markdown_element": "contracts/transmuter/libraries/LibStorage.sol#L13-L18", "id": "207eef0d7d47f07e4bec4f84b205520db53da8e9256d67ebb6a2db9a2ff86fcd", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "transmuterStorage", "source_mapping": {"start": 824, "length": 206, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibStorage", "source_mapping": {"start": 243, "length": 1205, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "starting_column": 1, "ending_column": 2}}, "signature": "transmuterStorage()"}}, {"type": "node", "name": "", "source_mapping": {"start": 972, "length": 52, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [24, 25, 26], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "transmuterStorage", "source_mapping": {"start": 824, "length": 206, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibStorage", "source_mapping": {"start": 243, "length": 1205, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "starting_column": 1, "ending_column": 2}}, "signature": "transmuterStorage()"}}}}], "description": "LibStorage.transmuterStorage() (contracts/transmuter/libraries/LibStorage.sol#22-27) uses assembly\n\t- INLINE ASM (contracts/transmuter/libraries/LibStorage.sol#24-26)\n", "markdown": "[LibStorage.transmuterStorage()](contracts/transmuter/libraries/LibStorage.sol#L22-L27) uses assembly\n\t- [INLINE ASM](contracts/transmuter/libraries/LibStorage.sol#L24-L26)\n", "first_markdown_element": "contracts/transmuter/libraries/LibStorage.sol#L22-L27", "id": "1016e1548ab764b98f0bacccf9bbb412d133b216608aef4fe70685446901ae48", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "implementationStorage", "source_mapping": {"start": 1226, "length": 220, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibStorage", "source_mapping": {"start": 243, "length": 1205, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "starting_column": 1, "ending_column": 2}}, "signature": "implementationStorage()"}}, {"type": "node", "name": "", "source_mapping": {"start": 1387, "length": 53, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [33, 34, 35], "starting_column": 9, "ending_column": 10}, "type_specific_fields": {"parent": {"type": "function", "name": "implementationStorage", "source_mapping": {"start": 1226, "length": 220, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [31, 32, 33, 34, 35, 36], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibStorage", "source_mapping": {"start": 243, "length": 1205, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "starting_column": 1, "ending_column": 2}}, "signature": "implementationStorage()"}}}}], "description": "LibStorage.implementationStorage() (contracts/transmuter/libraries/LibStorage.sol#31-36) uses assembly\n\t- INLINE ASM (contracts/transmuter/libraries/LibStorage.sol#33-35)\n", "markdown": "[LibStorage.implementationStorage()](contracts/transmuter/libraries/LibStorage.sol#L31-L36) uses assembly\n\t- [INLINE ASM](contracts/transmuter/libraries/LibStorage.sol#L33-L35)\n", "first_markdown_element": "contracts/transmuter/libraries/LibStorage.sol#L31-L36", "id": "53ed163d0733115c6b32d0ee24797ed609a92cf8514628ebc26e355fa27a2be6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "verifyCallResult", "source_mapping": {"start": 6622, "length": 742, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 7121, "length": 154, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [186, 187, 188, 189], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "verifyCallResult", "source_mapping": {"start": 6622, "length": 742, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "verifyCallResult(bool,bytes,string)"}}}}], "description": "AddressUpgradeable.verifyCallResult(bool,bytes,string) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#174-194) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#186-189)\n", "markdown": "[AddressUpgradeable.verifyCallResult(bool,bytes,string)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L174-L194) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L186-L189)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L174-L194", "id": "57c93013543b1555a6b8bd2c084dfc3ecb505f0aa6f57c67037ff39df93920b6", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2281, "length": 166, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [66, 67, 68, 69, 70], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "", "source_mapping": {"start": 3016, "length": 300, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [86, 87, 88, 89, 90, 91, 92, 93], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "", "source_mapping": {"start": 3684, "length": 371, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1679, "length": 3925, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "MathUpgradeable", "source_mapping": {"start": 202, "length": 8635, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "MathUpgradeable.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#55-135) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#66-70)\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#86-93)\n\t- INLINE ASM (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#100-109)\n", "markdown": "[MathUpgradeable.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L66-L70)\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L86-L93)\n\t- [INLINE ASM](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L100-L109)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L55-L135", "id": "eb7fc1d015df84fd39e386d4f4360b409e4375b3501e52d9825a5f98ce00bbbe", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "verifyCallResult", "source_mapping": {"start": 7561, "length": 742, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 194, "length": 8111, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "verifyCallResult(bool,bytes,string)"}}, {"type": "node", "name": "", "source_mapping": {"start": 8060, "length": 154, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [213, 214, 215, 216], "starting_column": 17, "ending_column": 18}, "type_specific_fields": {"parent": {"type": "function", "name": "verifyCallResult", "source_mapping": {"start": 7561, "length": 742, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 194, "length": 8111, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "verifyCallResult(bool,bytes,string)"}}}}], "description": "Address.verifyCallResult(bool,bytes,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#201-221) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/Address.sol#213-216)\n", "markdown": "[Address.verifyCallResult(bool,bytes,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L201-L221) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts/contracts/utils/Address.sol#L213-L216)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L201-L221", "id": "5139a0f430f9606276218f1a344f55f129f272d8424d2a62bc51cd479169cc8f", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}, {"type": "node", "name": "", "source_mapping": {"start": 2270, "length": 166, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [66, 67, 68, 69, 70], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "", "source_mapping": {"start": 3005, "length": 300, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [86, 87, 88, 89, 90, 91, 92, 93], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}, {"type": "node", "name": "", "source_mapping": {"start": 3673, "length": 371, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [100, 101, 102, 103, 104, 105, 106, 107, 108, 109], "starting_column": 13, "ending_column": 14}, "type_specific_fields": {"parent": {"type": "function", "name": "mulDiv", "source_mapping": {"start": 1668, "length": 3925, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Math", "source_mapping": {"start": 202, "length": 8624, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226], "starting_column": 1, "ending_column": 2}}, "signature": "mulDiv(uint256,uint256,uint256)"}}}}], "description": "Math.mulDiv(uint256,uint256,uint256) (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#55-135) uses assembly\n\t- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#66-70)\n\t- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#86-93)\n\t- INLINE ASM (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#100-109)\n", "markdown": "[Math.mulDiv(uint256,uint256,uint256)](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135) uses assembly\n\t- [INLINE ASM](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L66-L70)\n\t- [INLINE ASM](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L86-L93)\n\t- [INLINE ASM](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L100-L109)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L55-L135", "id": "7e83789b7fdf85c99f53166a05c1b4143db346cde3563c70541c446a9754907d", "check": "assembly", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IAccessControlManager.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IAccessControlManager.sol", "filename_short": "contracts/interfaces/IAccessControlManager.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IAgToken.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IAgToken.sol", "filename_short": "contracts/interfaces/IAgToken.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/interfaces/IDiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IDiamondCut.sol", "filename_short": "contracts/interfaces/IDiamondCut.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/interfaces/IDiamondEtherscan.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IDiamondEtherscan.sol", "filename_short": "contracts/interfaces/IDiamondEtherscan.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/interfaces/IDiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IDiamondLoupe.sol", "filename_short": "contracts/interfaces/IDiamondLoupe.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IGetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IGetters.sol", "filename_short": "contracts/interfaces/IGetters.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IManager.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IManager.sol", "filename_short": "contracts/interfaces/IManager.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IRedeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IRedeemer.sol", "filename_short": "contracts/interfaces/IRedeemer.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IRewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IRewardHandler.sol", "filename_short": "contracts/interfaces/IRewardHandler.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/ISetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/ISetters.sol", "filename_short": "contracts/interfaces/ISetters.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 3731, "length": 24, "filename_relative": "contracts/interfaces/ITransmuter.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/ITransmuter.sol", "filename_short": "contracts/interfaces/ITransmuter.sol", "is_dependency": false, "lines": [36], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/ITransmuterOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/ITransmuterOracle.sol", "filename_short": "contracts/interfaces/ITransmuterOracle.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 112, "length": 24, "filename_relative": "contracts/interfaces/external/IERC4626.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/IERC4626.sol", "filename_short": "contracts/interfaces/external/IERC4626.sol", "is_dependency": false, "lines": [5], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/chainlink/AggregatorV3Interface.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/chainlink/AggregatorV3Interface.sol", "filename_short": "contracts/interfaces/external/chainlink/AggregatorV3Interface.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/coinbase/ICbETH.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/coinbase/ICbETH.sol", "filename_short": "contracts/interfaces/external/coinbase/ICbETH.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/frax/ISfrxETH.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/frax/ISfrxETH.sol", "filename_short": "contracts/interfaces/external/frax/ISfrxETH.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/keyring/IKeyringGuard.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/keyring/IKeyringGuard.sol", "filename_short": "contracts/interfaces/external/keyring/IKeyringGuard.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/lido/IStETH.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/lido/IStETH.sol", "filename_short": "contracts/interfaces/external/lido/IStETH.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/interfaces/external/permit2/IPermit2.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/permit2/IPermit2.sol", "filename_short": "contracts/interfaces/external/permit2/IPermit2.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/rocketPool/IRETH.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/rocketPool/IRETH.sol", "filename_short": "contracts/interfaces/external/rocketPool/IRETH.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/utils/Constants.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/utils/Constants.sol", "filename_short": "contracts/utils/Constants.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/external/pyth/IPyth.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/pyth/IPyth.sol", "filename_short": "contracts/interfaces/external/pyth/IPyth.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 107, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 105, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 106, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 118, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 110, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 114, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 115, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 86, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 103, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 90, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol", "filename_short": "lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 106, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 110, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol", "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 114, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 115, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 103, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 107, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}, {"type": "pragma", "name": "^0.8.1", "source_mapping": {"start": 101, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".1"]}}, {"type": "pragma", "name": "^0.8.1", "source_mapping": {"start": 101, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".1"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 3732, "length": 24, "filename_relative": "contracts/savings/BaseSavings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/BaseSavings.sol", "filename_short": "contracts/savings/BaseSavings.sol", "is_dependency": false, "lines": [36], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/transmuter/DiamondProxy.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/DiamondProxy.sol", "filename_short": "contracts/transmuter/DiamondProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/Storage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Storage.sol", "filename_short": "contracts/transmuter/Storage.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/configs/Test.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Test.sol", "filename_short": "contracts/transmuter/configs/Test.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/AccessControlModifiers.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/AccessControlModifiers.sol", "filename_short": "contracts/transmuter/facets/AccessControlModifiers.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/transmuter/facets/DiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondCut.sol", "filename_short": "contracts/transmuter/facets/DiamondCut.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/transmuter/facets/DiamondEtherscan.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondEtherscan.sol", "filename_short": "contracts/transmuter/facets/DiamondEtherscan.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/SettersGuardian.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGuardian.sol", "filename_short": "contracts/transmuter/facets/SettersGuardian.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibDiamondEtherscan.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamondEtherscan.sol", "filename_short": "contracts/transmuter/libraries/LibDiamondEtherscan.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibGetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibGetters.sol", "filename_short": "contracts/transmuter/libraries/LibGetters.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibHelpers.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibHelpers.sol", "filename_short": "contracts/transmuter/libraries/LibHelpers.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibManager.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibManager.sol", "filename_short": "contracts/transmuter/libraries/LibManager.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibWhitelist.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibWhitelist.sol", "filename_short": "contracts/transmuter/libraries/LibWhitelist.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/utils/AccessControl.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/utils/AccessControl.sol", "filename_short": "contracts/utils/AccessControl.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/utils/Errors.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/utils/Errors.sol", "filename_short": "contracts/utils/Errors.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}, {"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 113, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Different versions of Solidity are used:\n\t- Version used: ['>=0.5.0', '^0.8.0', '^0.8.1', '^0.8.19', '^0.8.2']\n\t- >=0.5.0 (contracts/interfaces/IAccessControlManager.sol#3)\n\t- >=0.5.0 (contracts/interfaces/IAgToken.sol#3)\n\t- >=0.5.0 (contracts/interfaces/IDiamondCut.sol#3)\n\t- >=0.5.0 (contracts/interfaces/IDiamondEtherscan.sol#3)\n\t- >=0.5.0 (contracts/interfaces/IDiamondLoupe.sol#3)\n\t- >=0.5.0 (contracts/interfaces/IGetters.sol#3)\n\t- >=0.5.0 (contracts/interfaces/IManager.sol#3)\n\t- >=0.5.0 (contracts/interfaces/IRedeemer.sol#3)\n\t- >=0.5.0 (contracts/interfaces/IRewardHandler.sol#3)\n\t- >=0.5.0 (contracts/interfaces/ISetters.sol#3)\n\t- >=0.5.0 (contracts/interfaces/ISwapper.sol#3)\n\t- >=0.5.0 (contracts/interfaces/ITransmuter.sol#36)\n\t- >=0.5.0 (contracts/interfaces/ITransmuterOracle.sol#3)\n\t- >=0.5.0 (contracts/interfaces/external/IERC4626.sol#5)\n\t- >=0.5.0 (contracts/interfaces/external/chainlink/AggregatorV3Interface.sol#3)\n\t- >=0.5.0 (contracts/interfaces/external/coinbase/ICbETH.sol#3)\n\t- >=0.5.0 (contracts/interfaces/external/frax/ISfrxETH.sol#3)\n\t- >=0.5.0 (contracts/interfaces/external/keyring/IKeyringGuard.sol#3)\n\t- >=0.5.0 (contracts/interfaces/external/lido/IStETH.sol#3)\n\t- >=0.5.0 (contracts/interfaces/external/permit2/IPermit2.sol#2)\n\t- >=0.5.0 (contracts/interfaces/external/rocketPool/IRETH.sol#3)\n\t- >=0.5.0 (contracts/utils/Constants.sol#3)\n\t- ^0.8.0 (contracts/interfaces/external/pyth/IPyth.sol#2)\n\t- ^0.8.0 (contracts/transmuter/libraries/LibDiamond.sol#3)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#4)\n\t- ^0.8.0 (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#4)\n\t- ^0.8.1 (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#4)\n\t- ^0.8.1 (lib/openzeppelin-contracts/contracts/utils/Address.sol#4)\n\t- ^0.8.19 (contracts/savings/BaseSavings.sol#36)\n\t- ^0.8.19 (contracts/savings/Savings.sol#3)\n\t- ^0.8.19 (contracts/savings/SavingsVest.sol#3)\n\t- ^0.8.19 (contracts/transmuter/DiamondProxy.sol#3)\n\t- ^0.8.19 (contracts/transmuter/Layout.sol#3)\n\t- ^0.8.19 (contracts/transmuter/Storage.sol#3)\n\t- ^0.8.19 (contracts/transmuter/configs/FakeGnosis.sol#3)\n\t- ^0.8.19 (contracts/transmuter/configs/Production.sol#3)\n\t- ^0.8.19 (contracts/transmuter/configs/Test.sol#3)\n\t- ^0.8.19 (contracts/transmuter/facets/AccessControlModifiers.sol#3)\n\t- ^0.8.19 (contracts/transmuter/facets/DiamondCut.sol#3)\n\t- ^0.8.19 (contracts/transmuter/facets/DiamondEtherscan.sol#3)\n\t- ^0.8.19 (contracts/transmuter/facets/DiamondLoupe.sol#3)\n\t- ^0.8.19 (contracts/transmuter/facets/Getters.sol#3)\n\t- ^0.8.19 (contracts/transmuter/facets/Redeemer.sol#3)\n\t- ^0.8.19 (contracts/transmuter/facets/RewardHandler.sol#3)\n\t- ^0.8.19 (contracts/transmuter/facets/SettersGovernor.sol#3)\n\t- ^0.8.19 (contracts/transmuter/facets/SettersGuardian.sol#3)\n\t- ^0.8.19 (contracts/transmuter/facets/Swapper.sol#3)\n\t- ^0.8.19 (contracts/transmuter/libraries/LibDiamondEtherscan.sol#3)\n\t- ^0.8.19 (contracts/transmuter/libraries/LibGetters.sol#3)\n\t- ^0.8.19 (contracts/transmuter/libraries/LibHelpers.sol#3)\n\t- ^0.8.19 (contracts/transmuter/libraries/LibManager.sol#3)\n\t- ^0.8.19 (contracts/transmuter/libraries/LibOracle.sol#3)\n\t- ^0.8.19 (contracts/transmuter/libraries/LibSetters.sol#3)\n\t- ^0.8.19 (contracts/transmuter/libraries/LibStorage.sol#3)\n\t- ^0.8.19 (contracts/transmuter/libraries/LibWhitelist.sol#3)\n\t- ^0.8.19 (contracts/utils/AccessControl.sol#3)\n\t- ^0.8.19 (contracts/utils/Errors.sol#3)\n\t- ^0.8.2 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#4)\n", "markdown": "Different versions of Solidity are used:\n\t- Version used: ['>=0.5.0', '^0.8.0', '^0.8.1', '^0.8.19', '^0.8.2']\n\t- [>=0.5.0](contracts/interfaces/IAccessControlManager.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/IAgToken.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/IDiamondCut.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/IDiamondEtherscan.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/IDiamondLoupe.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/IGetters.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/IManager.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/IRedeemer.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/IRewardHandler.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/ISetters.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/ISwapper.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/ITransmuter.sol#L36)\n\t- [>=0.5.0](contracts/interfaces/ITransmuterOracle.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/external/IERC4626.sol#L5)\n\t- [>=0.5.0](contracts/interfaces/external/chainlink/AggregatorV3Interface.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/external/coinbase/ICbETH.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/external/frax/ISfrxETH.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/external/keyring/IKeyringGuard.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/external/lido/IStETH.sol#L3)\n\t- [>=0.5.0](contracts/interfaces/external/permit2/IPermit2.sol#L2)\n\t- [>=0.5.0](contracts/interfaces/external/rocketPool/IRETH.sol#L3)\n\t- [>=0.5.0](contracts/utils/Constants.sol#L3)\n\t- [^0.8.0](contracts/interfaces/external/pyth/IPyth.sol#L2)\n\t- [^0.8.0](contracts/transmuter/libraries/LibDiamond.sol#L3)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L4)\n\t- [^0.8.0](lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#L4)\n\t- [^0.8.1](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L4)\n\t- [^0.8.1](lib/openzeppelin-contracts/contracts/utils/Address.sol#L4)\n\t- [^0.8.19](contracts/savings/BaseSavings.sol#L36)\n\t- [^0.8.19](contracts/savings/Savings.sol#L3)\n\t- [^0.8.19](contracts/savings/SavingsVest.sol#L3)\n\t- [^0.8.19](contracts/transmuter/DiamondProxy.sol#L3)\n\t- [^0.8.19](contracts/transmuter/Layout.sol#L3)\n\t- [^0.8.19](contracts/transmuter/Storage.sol#L3)\n\t- [^0.8.19](contracts/transmuter/configs/FakeGnosis.sol#L3)\n\t- [^0.8.19](contracts/transmuter/configs/Production.sol#L3)\n\t- [^0.8.19](contracts/transmuter/configs/Test.sol#L3)\n\t- [^0.8.19](contracts/transmuter/facets/AccessControlModifiers.sol#L3)\n\t- [^0.8.19](contracts/transmuter/facets/DiamondCut.sol#L3)\n\t- [^0.8.19](contracts/transmuter/facets/DiamondEtherscan.sol#L3)\n\t- [^0.8.19](contracts/transmuter/facets/DiamondLoupe.sol#L3)\n\t- [^0.8.19](contracts/transmuter/facets/Getters.sol#L3)\n\t- [^0.8.19](contracts/transmuter/facets/Redeemer.sol#L3)\n\t- [^0.8.19](contracts/transmuter/facets/RewardHandler.sol#L3)\n\t- [^0.8.19](contracts/transmuter/facets/SettersGovernor.sol#L3)\n\t- [^0.8.19](contracts/transmuter/facets/SettersGuardian.sol#L3)\n\t- [^0.8.19](contracts/transmuter/facets/Swapper.sol#L3)\n\t- [^0.8.19](contracts/transmuter/libraries/LibDiamondEtherscan.sol#L3)\n\t- [^0.8.19](contracts/transmuter/libraries/LibGetters.sol#L3)\n\t- [^0.8.19](contracts/transmuter/libraries/LibHelpers.sol#L3)\n\t- [^0.8.19](contracts/transmuter/libraries/LibManager.sol#L3)\n\t- [^0.8.19](contracts/transmuter/libraries/LibOracle.sol#L3)\n\t- [^0.8.19](contracts/transmuter/libraries/LibSetters.sol#L3)\n\t- [^0.8.19](contracts/transmuter/libraries/LibStorage.sol#L3)\n\t- [^0.8.19](contracts/transmuter/libraries/LibWhitelist.sol#L3)\n\t- [^0.8.19](contracts/utils/AccessControl.sol#L3)\n\t- [^0.8.19](contracts/utils/Errors.sol#L3)\n\t- [^0.8.2](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#L4)\n", "first_markdown_element": "contracts/interfaces/IAccessControlManager.sol#L3", "id": "08400598ec1a3975c4917a95613fca97a95985cd551e148c220b44b93758aa6c", "check": "pragma", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_quoteFees", "source_mapping": {"start": 13897, "length": 9750, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Swapper", "source_mapping": {"start": 2469, "length": 28288, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580], "starting_column": 1, "ending_column": 2}}, "signature": "_quoteFees(Collateral,QuoteType,uint256)"}}], "description": "Swapper._quoteFees(Collateral,QuoteType,uint256) (contracts/transmuter/facets/Swapper.sol#274-445) has a high cyclomatic complexity (16).\n", "markdown": "[Swapper._quoteFees(Collateral,QuoteType,uint256)](contracts/transmuter/facets/Swapper.sol#L274-L445) has a high cyclomatic complexity (16).\n", "first_markdown_element": "contracts/transmuter/facets/Swapper.sol#L274-L445", "id": "a4d88148d524f10bde4af960caea4a9e0f1b0b6375b3766c770926832014fe76", "check": "cyclomatic-complexity", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "checkFees", "source_mapping": {"start": 10936, "length": 3068, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "checkFees(uint64[],int64[],ActionType)"}}], "description": "LibSetters.checkFees(uint64[],int64[],ActionType) (contracts/transmuter/libraries/LibSetters.sol#217-266) has a high cyclomatic complexity (13).\n", "markdown": "[LibSetters.checkFees(uint64[],int64[],ActionType)](contracts/transmuter/libraries/LibSetters.sol#L217-L266) has a high cyclomatic complexity (13).\n", "first_markdown_element": "contracts/transmuter/libraries/LibSetters.sol#L217-L266", "id": "e1c0d1205611e34878e96d1e3bbd353f4495704cc66cf46476cec676ad6870cd", "check": "cyclomatic-complexity", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IAccessControlManager.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IAccessControlManager.sol", "filename_short": "contracts/interfaces/IAccessControlManager.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/IAccessControlManager.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/IAccessControlManager.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/IAccessControlManager.sol#L3", "id": "aa4db969c5564ff67a6f444dd0abf465844f343d464830ab295b5cdab5a13601", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IAgToken.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IAgToken.sol", "filename_short": "contracts/interfaces/IAgToken.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/IAgToken.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/IAgToken.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/IAgToken.sol#L3", "id": "4a3fbecfc933a84aee6857cf7189432e909a6b418830df7c732710411f263351", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/interfaces/IDiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IDiamondCut.sol", "filename_short": "contracts/interfaces/IDiamondCut.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/IDiamondCut.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/IDiamondCut.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/IDiamondCut.sol#L3", "id": "32b559b069b35328b75583cdb054b8d5dada34a1f670a09e1bb9e3582561aa17", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/interfaces/IDiamondEtherscan.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IDiamondEtherscan.sol", "filename_short": "contracts/interfaces/IDiamondEtherscan.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/IDiamondEtherscan.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/IDiamondEtherscan.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/IDiamondEtherscan.sol#L3", "id": "3b5e205d9af724e4fae80c20339bfa9c06a0a649ded61b0292e9da1438a07595", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/interfaces/IDiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IDiamondLoupe.sol", "filename_short": "contracts/interfaces/IDiamondLoupe.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/IDiamondLoupe.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/IDiamondLoupe.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/IDiamondLoupe.sol#L3", "id": "ac8c696c71aabd07358e6c48c016678ffbba15e1ef8a568af91c50f65ae392bc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IGetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IGetters.sol", "filename_short": "contracts/interfaces/IGetters.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/IGetters.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/IGetters.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/IGetters.sol#L3", "id": "288e48638c87d5dbf480b05116387b7b811e61805bd6bf0b38c350b359687bf6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IManager.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IManager.sol", "filename_short": "contracts/interfaces/IManager.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/IManager.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/IManager.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/IManager.sol#L3", "id": "2f88a8fed81611744cac852d76e6c5d3eb0177251bc9be33c16ebf7c1fe6d023", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IRedeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IRedeemer.sol", "filename_short": "contracts/interfaces/IRedeemer.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/IRedeemer.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/IRedeemer.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/IRedeemer.sol#L3", "id": "7b050dbfe92676b0c9f8567f4bd35a08527e045bb092f7d64ff2cd1cf72b39da", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/IRewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IRewardHandler.sol", "filename_short": "contracts/interfaces/IRewardHandler.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/IRewardHandler.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/IRewardHandler.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/IRewardHandler.sol#L3", "id": "d09cda00980155247edaba8750d8f7bab752b70a5320836b16bf55429219fd9f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/ISetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/ISetters.sol", "filename_short": "contracts/interfaces/ISetters.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/ISetters.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/ISetters.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/ISetters.sol#L3", "id": "b65665435036cb2c8438660ea35b9b19e6ef7986c38026551ee2e4a74329b3a7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/ISwapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/ISwapper.sol", "filename_short": "contracts/interfaces/ISwapper.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/ISwapper.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/ISwapper.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/ISwapper.sol#L3", "id": "2a25de72173efa05186757d907c3902a21c401863992ffbe4b4168a817f25b8d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 3731, "length": 24, "filename_relative": "contracts/interfaces/ITransmuter.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/ITransmuter.sol", "filename_short": "contracts/interfaces/ITransmuter.sol", "is_dependency": false, "lines": [36], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/ITransmuter.sol#36) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/ITransmuter.sol#L36) allows old versions\n", "first_markdown_element": "contracts/interfaces/ITransmuter.sol#L36", "id": "1664f831d98937101ac698a7084f3841eab2c8fbfa08e987fb3c26f624903807", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/ITransmuterOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/ITransmuterOracle.sol", "filename_short": "contracts/interfaces/ITransmuterOracle.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/ITransmuterOracle.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/ITransmuterOracle.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/ITransmuterOracle.sol#L3", "id": "e753129ba3dd3833f1c0d395dc843bc68b3831ddb16506ef7f162428c8bc11d3", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 112, "length": 24, "filename_relative": "contracts/interfaces/external/IERC4626.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/IERC4626.sol", "filename_short": "contracts/interfaces/external/IERC4626.sol", "is_dependency": false, "lines": [5], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/external/IERC4626.sol#5) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/external/IERC4626.sol#L5) allows old versions\n", "first_markdown_element": "contracts/interfaces/external/IERC4626.sol#L5", "id": "53038657de33af8655046c5fe18b9f7e13d49e22712da4953c84be4478e6bd0f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/chainlink/AggregatorV3Interface.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/chainlink/AggregatorV3Interface.sol", "filename_short": "contracts/interfaces/external/chainlink/AggregatorV3Interface.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/external/chainlink/AggregatorV3Interface.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/external/chainlink/AggregatorV3Interface.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/external/chainlink/AggregatorV3Interface.sol#L3", "id": "68e017c93f1bd041eb1cd7df7ff464e73edc6b8a1a2cfd003b1de62f7aeaec24", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/coinbase/ICbETH.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/coinbase/ICbETH.sol", "filename_short": "contracts/interfaces/external/coinbase/ICbETH.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/external/coinbase/ICbETH.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/external/coinbase/ICbETH.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/external/coinbase/ICbETH.sol#L3", "id": "81baa6eaf7c7f3f1f1e9923ab87e70b199b5c88d0abfdb2a0330c5aed747d089", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/frax/ISfrxETH.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/frax/ISfrxETH.sol", "filename_short": "contracts/interfaces/external/frax/ISfrxETH.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/external/frax/ISfrxETH.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/external/frax/ISfrxETH.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/external/frax/ISfrxETH.sol#L3", "id": "4f4f0731dae7e877e003a2084d6379bb1033f5d0f4f89b6a401bdf0569c1d5bd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/keyring/IKeyringGuard.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/keyring/IKeyringGuard.sol", "filename_short": "contracts/interfaces/external/keyring/IKeyringGuard.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/external/keyring/IKeyringGuard.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/external/keyring/IKeyringGuard.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/external/keyring/IKeyringGuard.sol#L3", "id": "0ec9168bece65ddc3f98720488daaa693d67ca9477c7ad92bc59d40ec7e0dd8b", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/lido/IStETH.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/lido/IStETH.sol", "filename_short": "contracts/interfaces/external/lido/IStETH.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/external/lido/IStETH.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/external/lido/IStETH.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/external/lido/IStETH.sol#L3", "id": "24bdebae237110b891d9ede1572acbe4d7e673b3f8195c2a87aea4e0489920e7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 32, "length": 24, "filename_relative": "contracts/interfaces/external/permit2/IPermit2.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/permit2/IPermit2.sol", "filename_short": "contracts/interfaces/external/permit2/IPermit2.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/external/permit2/IPermit2.sol#2) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/external/permit2/IPermit2.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/external/permit2/IPermit2.sol#L2", "id": "424aa50ee1b11c7cc67ba0130e105cc83151b496b947a02c6fc64a45227b660d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 39, "length": 23, "filename_relative": "contracts/interfaces/external/pyth/IPyth.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/pyth/IPyth.sol", "filename_short": "contracts/interfaces/external/pyth/IPyth.sol", "is_dependency": false, "lines": [2], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/interfaces/external/pyth/IPyth.sol#2) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/interfaces/external/pyth/IPyth.sol#L2) allows old versions\n", "first_markdown_element": "contracts/interfaces/external/pyth/IPyth.sol#L2", "id": "4d1521835047a6eda69ff8690c389be8e84563d73d144f1056a6c6201f2087ce", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/interfaces/external/rocketPool/IRETH.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/external/rocketPool/IRETH.sol", "filename_short": "contracts/interfaces/external/rocketPool/IRETH.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/interfaces/external/rocketPool/IRETH.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/interfaces/external/rocketPool/IRETH.sol#L3) allows old versions\n", "first_markdown_element": "contracts/interfaces/external/rocketPool/IRETH.sol#L3", "id": "6056a8be4c53cac8c45a0f2d4463a91a994f7352a4cc5002f7552a814f0945b2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 3732, "length": 24, "filename_relative": "contracts/savings/BaseSavings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/BaseSavings.sol", "filename_short": "contracts/savings/BaseSavings.sol", "is_dependency": false, "lines": [36], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/savings/BaseSavings.sol#36) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/savings/BaseSavings.sol#L36) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/savings/BaseSavings.sol#L36", "id": "f862e950df2513dc0d0051b7296cbe087141bc803464ee454aef83cad1c5e0b8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/savings/Savings.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/savings/Savings.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/savings/Savings.sol#L3", "id": "694987970252ee06fb36f5fee56641f9304faff5a60ab8b085d89982ac457992", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/savings/SavingsVest.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/savings/SavingsVest.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L3", "id": "1e209e697fc8a73160ccf38a9f4ecbb012ae34b9749175a5e25fd6206e82c529", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/transmuter/DiamondProxy.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/DiamondProxy.sol", "filename_short": "contracts/transmuter/DiamondProxy.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/DiamondProxy.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/DiamondProxy.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/DiamondProxy.sol#L3", "id": "78e957343fae2e3185beda3eecb831565d3128c42a7eddc3c7a5bedb4c408e35", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/Layout.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/Layout.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/Layout.sol#L3", "id": "61c88bdc4eee1b016bd06ae6790a10722f2850e8c92285e1709195fc70ea2a75", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/Storage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Storage.sol", "filename_short": "contracts/transmuter/Storage.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/Storage.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/Storage.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/Storage.sol#L3", "id": "f5dc60d1cb41804a5b64fc4de1c22eb69e89c4265df4214bba46839a0c19b17f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/configs/FakeGnosis.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/configs/FakeGnosis.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/configs/FakeGnosis.sol#L3", "id": "19f05488b1341d719100abf4d8ad5441c4fb1f0f3faeb2a828699b374e0794f2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/configs/Production.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/configs/Production.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/configs/Production.sol#L3", "id": "7e2d307e5ea707a119026319abf200657945097866d0577b626c21c69266022f", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/configs/Test.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Test.sol", "filename_short": "contracts/transmuter/configs/Test.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/configs/Test.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/configs/Test.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/configs/Test.sol#L3", "id": "2ed15c33ac5cea47cf45e4da60dd15534b1402054df3e55caf84be4b59440076", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/AccessControlModifiers.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/AccessControlModifiers.sol", "filename_short": "contracts/transmuter/facets/AccessControlModifiers.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/facets/AccessControlModifiers.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/facets/AccessControlModifiers.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/facets/AccessControlModifiers.sol#L3", "id": "44aa62b46d913d622605fd5ea73ab0db371eacb030db45d50dcf50931489ff64", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/transmuter/facets/DiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondCut.sol", "filename_short": "contracts/transmuter/facets/DiamondCut.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/facets/DiamondCut.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/facets/DiamondCut.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/facets/DiamondCut.sol#L3", "id": "2493c834e90322f289c64b0e8389af6ab8fa501f87cb18517c1896deed8f97c5", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/transmuter/facets/DiamondEtherscan.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondEtherscan.sol", "filename_short": "contracts/transmuter/facets/DiamondEtherscan.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/facets/DiamondEtherscan.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/facets/DiamondEtherscan.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/facets/DiamondEtherscan.sol#L3", "id": "4f2268d75ec816f6b3320b7f1625e121030d74fac7feff3019537c4ec34929f4", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/facets/DiamondLoupe.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/facets/DiamondLoupe.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/facets/DiamondLoupe.sol#L3", "id": "9e0c32cea327c3e5aea17948f0b8b578f2a1f60d01133a0f8b519e3541aee16c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/facets/Getters.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/facets/Getters.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/facets/Getters.sol#L3", "id": "6326972ab8211da3c19e1ab1fac35afb0e84e31392834af4ca32046b304165ff", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/facets/Redeemer.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/facets/Redeemer.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/facets/Redeemer.sol#L3", "id": "bbafc44dd289944597e9f181dba9c8ea4bc0d393f219ce7b77b5f46b360393ce", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/facets/RewardHandler.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/facets/RewardHandler.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/facets/RewardHandler.sol#L3", "id": "381dbb543a0407ae4e60d8ac5780d19da701f66c77d4f0563386bfc37d562dec", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/facets/SettersGovernor.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/facets/SettersGovernor.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/facets/SettersGovernor.sol#L3", "id": "97552597d0450d1d0b3b1fea80154f090104153f87f97c19f00e8dc251549c1d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/SettersGuardian.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGuardian.sol", "filename_short": "contracts/transmuter/facets/SettersGuardian.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/facets/SettersGuardian.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/facets/SettersGuardian.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/facets/SettersGuardian.sol#L3", "id": "51d1e98e8a5018c777bde6bdae0220f2a3940500cf2aa7ab3ba45df8e37b3caa", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/facets/Swapper.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Swapper.sol", "filename_short": "contracts/transmuter/facets/Swapper.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/facets/Swapper.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/facets/Swapper.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/facets/Swapper.sol#L3", "id": "b79b968e9e7eca7bf8ebb3b0d7a7e4ec170361521b77cc7b6539f55f426a7a4b", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 33, "length": 23, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (contracts/transmuter/libraries/LibDiamond.sol#3) allows old versions\n", "markdown": "Pragma version[^0.8.0](contracts/transmuter/libraries/LibDiamond.sol#L3) allows old versions\n", "first_markdown_element": "contracts/transmuter/libraries/LibDiamond.sol#L3", "id": "f2bcd38246e973f2276c3908ee9045bf1c6a2548bfe7619dc6d0fae62b912be1", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 33, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibDiamondEtherscan.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamondEtherscan.sol", "filename_short": "contracts/transmuter/libraries/LibDiamondEtherscan.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/libraries/LibDiamondEtherscan.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/libraries/LibDiamondEtherscan.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/libraries/LibDiamondEtherscan.sol#L3", "id": "5242fb47a65f4158e66a81cb7f2951a88ca8d4c7482f379c01569a7a4f4a9c20", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibGetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibGetters.sol", "filename_short": "contracts/transmuter/libraries/LibGetters.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/libraries/LibGetters.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/libraries/LibGetters.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/libraries/LibGetters.sol#L3", "id": "2929edd4a73ae9c69da30b1656b69605faf9b6a8c842ab4f90967ffcc07e42b6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 37, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibHelpers.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibHelpers.sol", "filename_short": "contracts/transmuter/libraries/LibHelpers.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/libraries/LibHelpers.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/libraries/LibHelpers.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/libraries/LibHelpers.sol#L3", "id": "b5057b820ff5750c6121049df4c9f87bb47d1ad8c2ad54dc9a5f8acb51271933", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibManager.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibManager.sol", "filename_short": "contracts/transmuter/libraries/LibManager.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/libraries/LibManager.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/libraries/LibManager.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/libraries/LibManager.sol#L3", "id": "5e646a65c3dd3fa9307ebb07323adb4cffa9b1412c79071ed9af2e941545327d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/libraries/LibOracle.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/libraries/LibOracle.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/libraries/LibOracle.sol#L3", "id": "360b5dfd6399e68f07104e43a72d0eafab54436c4de66aac62fd8df9f75855d8", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/libraries/LibSetters.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/libraries/LibSetters.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/libraries/LibSetters.sol#L3", "id": "8e0b0574acb5e3a59adc549781a8ef4c2f2b4faebb819e8ad8ac7183dcbdc1fa", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibStorage.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibStorage.sol", "filename_short": "contracts/transmuter/libraries/LibStorage.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/libraries/LibStorage.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/libraries/LibStorage.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/libraries/LibStorage.sol#L3", "id": "1ce859666d0da230794383be53568e5b97db283848bb82a95d9f32c511f23d11", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/transmuter/libraries/LibWhitelist.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibWhitelist.sol", "filename_short": "contracts/transmuter/libraries/LibWhitelist.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/transmuter/libraries/LibWhitelist.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/transmuter/libraries/LibWhitelist.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/transmuter/libraries/LibWhitelist.sol#L3", "id": "8b8b023e3c39e6e437ebb5bb507b1c20278507b657ba5e71af9c9a8e7b97254c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/utils/AccessControl.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/utils/AccessControl.sol", "filename_short": "contracts/utils/AccessControl.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/utils/AccessControl.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/utils/AccessControl.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/utils/AccessControl.sol#L3", "id": "6b00be8a36bb9d35c485b650508fd261388ec8b5c2a1c876d7b1cb538482cc4e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": ">=0.5.0", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/utils/Constants.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/utils/Constants.sol", "filename_short": "contracts/utils/Constants.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", ">=", "0.5", ".0"]}}], "description": "Pragma version>=0.5.0 (contracts/utils/Constants.sol#3) allows old versions\n", "markdown": "Pragma version[>=0.5.0](contracts/utils/Constants.sol#L3) allows old versions\n", "first_markdown_element": "contracts/utils/Constants.sol#L3", "id": "e268bd8709dceb67f990e146300cd3e6aa963b432eb780adb74f34bf168fdf52", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.19", "source_mapping": {"start": 38, "length": 24, "filename_relative": "contracts/utils/Errors.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/utils/Errors.sol", "filename_short": "contracts/utils/Errors.sol", "is_dependency": false, "lines": [3], "starting_column": 1, "ending_column": 25}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".19"]}}], "description": "Pragma version^0.8.19 (contracts/utils/Errors.sol#3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "markdown": "Pragma version[^0.8.19](contracts/utils/Errors.sol#L3) necessitates a version too recent to be trusted. Consider deploying with 0.8.18.\n", "first_markdown_element": "contracts/utils/Errors.sol#L3", "id": "67f7a2a8fd9779863f8171e9bcf16b4fad8c771c151fb8a5d9901cfe9f846d43", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 107, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4626Upgradeable.sol#L4", "id": "a06b866bf7ca0b28b4b6bc821e12db7f16fdeccc8dff1e4a71a80838e61ade96", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.2", "source_mapping": {"start": 113, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".2"]}}], "description": "Pragma version^0.8.2 (lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.2](lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol#L4", "id": "8be444abb9ed46b8889a3858866e7bf2e94828e5631eda402c53023dff48826c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 105, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L4", "id": "22dba562319da6da3e4547efc8396bdc3cc9d1a5fe7009c205478bcac73ce763", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 106, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol#L4", "id": "4d48bcc89ace9931c0a5d8cb320b3ada8d92c2518f538096032ac397298ac293", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 118, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L4", "id": "b60311f03f5126c14a840b31104c48e96d19af6a613be809632c7aaa2c2bd3dc", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 110, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20MetadataUpgradeable.sol#L4", "id": "531cd63d1f4a2d7b20764c3382715bf03d0d7c33a6a144460abec008d45edb33", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 114, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L4", "id": "fa77f7ab8d51d10b27ddba63280c556784fc944b1bcdb63a96302cc28ae81e1d", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 115, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol#L4", "id": "1a89064cf116dede9cc0cfb1f0941c6d7fd2ed808f6f9b3d86295798500505a6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.1", "source_mapping": {"start": 101, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".1"]}}], "description": "Pragma version^0.8.1 (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.1](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L4", "id": "bec71a47fce884647f875078cf6fe494a15ec604695691e9b4c7dfa466be6bb2", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 86, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L4", "id": "e8af6746140a51dd3bbde9c00157a6307d7d6d079629938bb7efa62ef44dd3dd", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 103, "length": 23, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol#L4", "id": "6958586f85987545e2a2570dca16bcfd4ca564b7387b83c61dec68c4e76eba50", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 90, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol", "filename_short": "lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol#L4", "id": "d0fb2fd8e4047dfeca4c3901c871221f21fa83a7f70633a122955c74c11fe35e", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 106, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol#L4", "id": "b5f918dd207ecf7ae9a5e203e727350df7f4c0d12c219ba753f659e9218dce46", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 110, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol", "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol#L4", "id": "98bb1566da653895af32d96d70431965372f7057a62ec056831def71ec26a9e0", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 114, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L4", "id": "744e910d12e4410ebcc1f3bbf4ee674e57b5810aa86af36b1f8ce871cf6236a7", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 115, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol#L4", "id": "471993919ff49d63a0492ea743b4e68d3ece0a275b4c3b37adbe8f8a454cbc79", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.1", "source_mapping": {"start": 101, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".1"]}}], "description": "Pragma version^0.8.1 (lib/openzeppelin-contracts/contracts/utils/Address.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.1](lib/openzeppelin-contracts/contracts/utils/Address.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L4", "id": "84365357528b0c8be3876e3ef8d18e1e9f211531691821a5e44345b7ca12c310", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 103, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts/contracts/utils/math/Math.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol#L4", "id": "e516c46857ed15c43d44c5f417fc8c8142247757b52233a198f262437f22a210", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "pragma", "name": "^0.8.0", "source_mapping": {"start": 107, "length": 23, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol", "is_dependency": true, "lines": [4], "starting_column": 1, "ending_column": 24}, "type_specific_fields": {"directive": ["solidity", "^", "0.8", ".0"]}}], "description": "Pragma version^0.8.0 (lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#4) allows old versions\n", "markdown": "Pragma version[^0.8.0](lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#L4) allows old versions\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol#L4", "id": "978e9a5aeb85a36f9ce3a553ebbd1ec159ccaf32bd77018f04143d8384f9886c", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [], "description": "solc-0.8.19 is not recommended for deployment\n", "markdown": "solc-0.8.19 is not recommended for deployment\n", "first_markdown_element": "", "id": "bc0e6f5edf86fec0e8668af5b6535a97ff60d9ff435d7796649d79d0b5e89ed6", "check": "solc-version", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sellRewards", "source_mapping": {"start": 1049, "length": 1605, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "sellRewards(uint256,bytes)"}}, {"type": "node", "name": "(success,result) = ONE_INCH_ROUTER.call(payload)", "source_mapping": {"start": 1975, "length": 67, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [42], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "sellRewards", "source_mapping": {"start": 1049, "length": 1605, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "RewardHandler", "source_mapping": {"start": 517, "length": 2467, "filename_relative": "contracts/transmuter/facets/RewardHandler.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/RewardHandler.sol", "filename_short": "contracts/transmuter/facets/RewardHandler.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68], "starting_column": 1, "ending_column": 2}}, "signature": "sellRewards(uint256,bytes)"}}}}], "description": "Low level call in RewardHandler.sellRewards(uint256,bytes) (contracts/transmuter/facets/RewardHandler.sol#29-56):\n\t- (success,result) = ONE_INCH_ROUTER.call(payload) (contracts/transmuter/facets/RewardHandler.sol#42)\n", "markdown": "Low level call in [RewardHandler.sellRewards(uint256,bytes)](contracts/transmuter/facets/RewardHandler.sol#L29-L56):\n\t- [(success,result) = ONE_INCH_ROUTER.call(payload)](contracts/transmuter/facets/RewardHandler.sol#L42)\n", "first_markdown_element": "contracts/transmuter/facets/RewardHandler.sol#L29-L56", "id": "a89a0d34b7be1ff2f5eda831e56a2e951318e57d84c7592cedd3f72bd3ada2c3", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "_initializeDiamondCut", "source_mapping": {"start": 2931, "length": 605, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibDiamond", "source_mapping": {"start": 430, "length": 7761, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 1, "ending_column": 2}}, "signature": "_initializeDiamondCut(address,bytes)"}}, {"type": "node", "name": "(success,error) = _init.delegatecall(_calldata)", "source_mapping": {"start": 3124, "length": 66, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [67], "starting_column": 9, "ending_column": 75}, "type_specific_fields": {"parent": {"type": "function", "name": "_initializeDiamondCut", "source_mapping": {"start": 2931, "length": 605, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibDiamond", "source_mapping": {"start": 430, "length": 7761, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 1, "ending_column": 2}}, "signature": "_initializeDiamondCut(address,bytes)"}}}}], "description": "Low level call in LibDiamond._initializeDiamondCut(address,bytes) (contracts/transmuter/libraries/LibDiamond.sol#62-78):\n\t- (success,error) = _init.delegatecall(_calldata) (contracts/transmuter/libraries/LibDiamond.sol#67)\n", "markdown": "Low level call in [LibDiamond._initializeDiamondCut(address,bytes)](contracts/transmuter/libraries/LibDiamond.sol#L62-L78):\n\t- [(success,error) = _init.delegatecall(_calldata)](contracts/transmuter/libraries/LibDiamond.sol#L67)\n", "first_markdown_element": "contracts/transmuter/libraries/LibDiamond.sol#L62-L78", "id": "3826a60ef35842fa17aecd24929f188477adc92b5a375383e115620ffa73bda5", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2423, "length": 312, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2588, "length": 52, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [63], "starting_column": 9, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2423, "length": 312, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in AddressUpgradeable.sendValue(address,uint256) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#60-65):\n\t- (success) = recipient.call{value: amount}() (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#63)\n", "markdown": "Low level call in [AddressUpgradeable.sendValue(address,uint256)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L60-L65):\n\t- [(success) = recipient.call{value: amount}()](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L63)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L60-L65", "id": "96eddec51db1f6eb929cde8948fbb2f347f55e0c47fbc7eebdd6bed68c9ee127", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4959, "length": 499, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 5310, "length": 73, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [137], "starting_column": 9, "ending_column": 82}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4959, "length": 499, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#128-139):\n\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#137)\n", "markdown": "Low level call in [AddressUpgradeable.functionCallWithValue(address,bytes,uint256,string)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L128-L139):\n\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L137)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L128-L139", "id": "1db96a6d3a56abf61b8cab871089195754999fe0dcd492ae3a4c184b22701ce6", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 6016, "length": 386, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 6262, "length": 65, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [164], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 6016, "length": 386, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "AddressUpgradeable", "source_mapping": {"start": 194, "length": 7172, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in AddressUpgradeable.functionStaticCall(address,bytes,string) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#157-166):\n\t- (success,returndata) = target.staticcall(data) (lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#164)\n", "markdown": "Low level call in [AddressUpgradeable.functionStaticCall(address,bytes,string)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L157-L166):\n\t- [(success,returndata) = target.staticcall(data)](lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L164)\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol#L157-L166", "id": "b257cc6dc76cc88d3fc3da1106421f6e23aafe7aac77448809fe6c8bd6d9f17b", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "sendValue", "source_mapping": {"start": 2412, "length": 312, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 194, "length": 8111, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "sendValue(address,uint256)"}}, {"type": "node", "name": "(success) = recipient.call{value: amount}()", "source_mapping": {"start": 2577, "length": 52, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [63], "starting_column": 9, "ending_column": 61}, "type_specific_fields": {"parent": {"type": "function", "name": "sendValue", "source_mapping": {"start": 2412, "length": 312, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [60, 61, 62, 63, 64, 65], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 194, "length": 8111, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "sendValue(address,uint256)"}}}}], "description": "Low level call in Address.sendValue(address,uint256) (lib/openzeppelin-contracts/contracts/utils/Address.sol#60-65):\n\t- (success) = recipient.call{value: amount}() (lib/openzeppelin-contracts/contracts/utils/Address.sol#63)\n", "markdown": "Low level call in [Address.sendValue(address,uint256)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L60-L65):\n\t- [(success) = recipient.call{value: amount}()](lib/openzeppelin-contracts/contracts/utils/Address.sol#L63)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L60-L65", "id": "345c977def6ce640e3f241c91d36188c81d551b6e574f50991f8be4163b23e0f", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4948, "length": 499, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 194, "length": 8111, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}, {"type": "node", "name": "(success,returndata) = target.call{value: value}(data)", "source_mapping": {"start": 5299, "length": 73, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [137], "starting_column": 9, "ending_column": 82}, "type_specific_fields": {"parent": {"type": "function", "name": "functionCallWithValue", "source_mapping": {"start": 4948, "length": 499, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 194, "length": 8111, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "functionCallWithValue(address,bytes,uint256,string)"}}}}], "description": "Low level call in Address.functionCallWithValue(address,bytes,uint256,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#128-139):\n\t- (success,returndata) = target.call{value: value}(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#137)\n", "markdown": "Low level call in [Address.functionCallWithValue(address,bytes,uint256,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L128-L139):\n\t- [(success,returndata) = target.call{value: value}(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L137)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L128-L139", "id": "cd10cc278d8bc19b60f92e25a8f45fe73159ebe5c032389d08bf7610d8684ee2", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 6005, "length": 386, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 194, "length": 8111, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "functionStaticCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.staticcall(data)", "source_mapping": {"start": 6251, "length": 65, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [164], "starting_column": 9, "ending_column": 74}, "type_specific_fields": {"parent": {"type": "function", "name": "functionStaticCall", "source_mapping": {"start": 6005, "length": 386, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [157, 158, 159, 160, 161, 162, 163, 164, 165, 166], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 194, "length": 8111, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "functionStaticCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionStaticCall(address,bytes,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#157-166):\n\t- (success,returndata) = target.staticcall(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#164)\n", "markdown": "Low level call in [Address.functionStaticCall(address,bytes,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L157-L166):\n\t- [(success,returndata) = target.staticcall(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L164)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L157-L166", "id": "b3e4a3629db154c7fee30fb7fc6419fc42fceb30b7fb21e1556dbe55a4cd1e4f", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6954, "length": 387, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [184, 185, 186, 187, 188, 189, 190, 191, 192, 193], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 194, "length": 8111, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "functionDelegateCall(address,bytes,string)"}}, {"type": "node", "name": "(success,returndata) = target.delegatecall(data)", "source_mapping": {"start": 7199, "length": 67, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [191], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "functionDelegateCall", "source_mapping": {"start": 6954, "length": 387, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [184, 185, 186, 187, 188, 189, 190, 191, 192, 193], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Address", "source_mapping": {"start": 194, "length": 8111, "filename_relative": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/utils/Address.sol", "filename_short": "lib/openzeppelin-contracts/contracts/utils/Address.sol", "is_dependency": true, "lines": [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "functionDelegateCall(address,bytes,string)"}}}}], "description": "Low level call in Address.functionDelegateCall(address,bytes,string) (lib/openzeppelin-contracts/contracts/utils/Address.sol#184-193):\n\t- (success,returndata) = target.delegatecall(data) (lib/openzeppelin-contracts/contracts/utils/Address.sol#191)\n", "markdown": "Low level call in [Address.functionDelegateCall(address,bytes,string)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L184-L193):\n\t- [(success,returndata) = target.delegatecall(data)](lib/openzeppelin-contracts/contracts/utils/Address.sol#L191)\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/utils/Address.sol#L184-L193", "id": "ef5ed7e466a32e8efa5668de7a9d79475c2438f70f97bfb6d723e703c1f9a575", "check": "low-level-calls", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_accessControlManager", "source_mapping": {"start": 2764, "length": 43, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [58], "starting_column": 9, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 2735, "length": 537, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,IERC20MetadataUpgradeable,string,string,uint256)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter Savings.initialize(IAccessControlManager,IERC20MetadataUpgradeable,string,string,uint256)._accessControlManager (contracts/savings/Savings.sol#58) is not in mixedCase\n", "markdown": "Parameter [Savings.initialize(IAccessControlManager,IERC20MetadataUpgradeable,string,string,uint256)._accessControlManager](contracts/savings/Savings.sol#L58) is not in mixedCase\n", "first_markdown_element": "contracts/savings/Savings.sol#L58", "id": "2bcede776164ed262bc0a92768fbe84f26be6886b0a9e33580629c278c5c25de", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_totalAssets", "source_mapping": {"start": 10731, "length": 20, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [217], "starting_column": 35, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "computeUpdatedAssets", "source_mapping": {"start": 10701, "length": 161, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [217, 218, 219], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}, "signature": "computeUpdatedAssets(uint256,uint256)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter Savings.computeUpdatedAssets(uint256,uint256)._totalAssets (contracts/savings/Savings.sol#217) is not in mixedCase\n", "markdown": "Parameter [Savings.computeUpdatedAssets(uint256,uint256)._totalAssets](contracts/savings/Savings.sol#L217) is not in mixedCase\n", "first_markdown_element": "contracts/savings/Savings.sol#L217", "id": "2b196f367de358c8a514f664e70259bcc968a2ccdddf0e09f9c373ae8490328c", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "__gap", "source_mapping": {"start": 1192, "length": 25, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}}, "additional_fields": {"target": "variable", "convention": "mixedCase"}}], "description": "Variable Savings.__gap (contracts/savings/Savings.sol#32) is not in mixedCase\n", "markdown": "Variable [Savings.__gap](contracts/savings/Savings.sol#L32) is not in mixedCase\n", "first_markdown_element": "contracts/savings/Savings.sol#L32", "id": "1ff4eaaa73da312d0b60c08b16b25e74f872f13a2c581d21faaaa65f3f67817b", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_accessControlManager", "source_mapping": {"start": 3325, "length": 43, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [72], "starting_column": 9, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 3296, "length": 681, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,IERC20MetadataUpgradeable,ITransmuter,string,string,uint256)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter SavingsVest.initialize(IAccessControlManager,IERC20MetadataUpgradeable,ITransmuter,string,string,uint256)._accessControlManager (contracts/savings/SavingsVest.sol#72) is not in mixedCase\n", "markdown": "Parameter [SavingsVest.initialize(IAccessControlManager,IERC20MetadataUpgradeable,ITransmuter,string,string,uint256)._accessControlManager](contracts/savings/SavingsVest.sol#L72) is not in mixedCase\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L72", "id": "c79c23710ff77566e3855a70db98f00a8d8260402c38ba1754e7c98f6ab191d8", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_transmuter", "source_mapping": {"start": 3420, "length": 23, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [74], "starting_column": 9, "ending_column": 32}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 3296, "length": 681, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,IERC20MetadataUpgradeable,ITransmuter,string,string,uint256)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter SavingsVest.initialize(IAccessControlManager,IERC20MetadataUpgradeable,ITransmuter,string,string,uint256)._transmuter (contracts/savings/SavingsVest.sol#74) is not in mixedCase\n", "markdown": "Parameter [SavingsVest.initialize(IAccessControlManager,IERC20MetadataUpgradeable,ITransmuter,string,string,uint256)._transmuter](contracts/savings/SavingsVest.sol#L74) is not in mixedCase\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L74", "id": "a27ffecdab10a4ef67d538cb1417fdf51b5ffaba9d7662d87df3f98c42c438cc", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_surplusManager", "source_mapping": {"start": 10757, "length": 23, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [201], "starting_column": 32, "ending_column": 55}, "type_specific_fields": {"parent": {"type": "function", "name": "setSurplusManager", "source_mapping": {"start": 10730, "length": 176, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [201, 202, 203, 204], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}, "signature": "setSurplusManager(address)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter SavingsVest.setSurplusManager(address)._surplusManager (contracts/savings/SavingsVest.sol#201) is not in mixedCase\n", "markdown": "Parameter [SavingsVest.setSurplusManager(address)._surplusManager](contracts/savings/SavingsVest.sol#L201) is not in mixedCase\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L201", "id": "8ef4355ae8cd226f5d384181b13af1344440a54d0b1a9a3a4d8f372fa14ec0c7", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "__gap", "source_mapping": {"start": 1804, "length": 25, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [48], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}}, "additional_fields": {"target": "variable", "convention": "mixedCase"}}], "description": "Variable SavingsVest.__gap (contracts/savings/SavingsVest.sol#48) is not in mixedCase\n", "markdown": "Variable [SavingsVest.__gap](contracts/savings/SavingsVest.sol#L48) is not in mixedCase\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L48", "id": "37182377650065184639ded0fbdf21b295a51195ac1663f8d74e45b36be3b913", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "__gap1", "source_mapping": {"start": 973, "length": 101, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [21], "starting_column": 5, "ending_column": 106}, "type_specific_fields": {"parent": {"type": "contract", "name": "Layout", "source_mapping": {"start": 903, "length": 2094, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}}, "additional_fields": {"target": "variable", "convention": "mixedCase"}}], "description": "Variable Layout.__gap1 (contracts/transmuter/Layout.sol#21) is not in mixedCase\n", "markdown": "Variable [Layout.__gap1](contracts/transmuter/Layout.sol#L21) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/Layout.sol#L21", "id": "a2cae2f57e7dfff55f8525d96051d2398a3e27c16ebbb55b25256f6517748175", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "__gap2", "source_mapping": {"start": 1206, "length": 101, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [24], "starting_column": 5, "ending_column": 106}, "type_specific_fields": {"parent": {"type": "contract", "name": "Layout", "source_mapping": {"start": 903, "length": 2094, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}}, "additional_fields": {"target": "variable", "convention": "mixedCase"}}], "description": "Variable Layout.__gap2 (contracts/transmuter/Layout.sol#24) is not in mixedCase\n", "markdown": "Variable [Layout.__gap2](contracts/transmuter/Layout.sol#L24) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/Layout.sol#L24", "id": "d8535d40615b0cd09935556bc5890b04542181b87c25dfc55fafd70399eda70f", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "__gap3", "source_mapping": {"start": 2600, "length": 100, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [38], "starting_column": 5, "ending_column": 105}, "type_specific_fields": {"parent": {"type": "contract", "name": "Layout", "source_mapping": {"start": 903, "length": 2094, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}}, "additional_fields": {"target": "variable", "convention": "mixedCase"}}], "description": "Variable Layout.__gap3 (contracts/transmuter/Layout.sol#38) is not in mixedCase\n", "markdown": "Variable [Layout.__gap3](contracts/transmuter/Layout.sol#L38) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/Layout.sol#L38", "id": "49031ae3954a75ef1455e688db6850c5dfaaf4f6282b48122e2a703b55191cda", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_accessControlManager", "source_mapping": {"start": 657, "length": 43, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [26], "starting_column": 9, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 628, "length": 3884, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FakeGnosis", "source_mapping": {"start": 602, "length": 3912, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address[],address[])"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter FakeGnosis.initialize(IAccessControlManager,address,address[],address[])._accessControlManager (contracts/transmuter/configs/FakeGnosis.sol#26) is not in mixedCase\n", "markdown": "Parameter [FakeGnosis.initialize(IAccessControlManager,address,address[],address[])._accessControlManager](contracts/transmuter/configs/FakeGnosis.sol#L26) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/configs/FakeGnosis.sol#L26", "id": "19e4ba9013efa3befc82af1c1512cbdf57e2e8a68565a5a0b2c2f9810b165821", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_agToken", "source_mapping": {"start": 710, "length": 16, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [27], "starting_column": 9, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 628, "length": 3884, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FakeGnosis", "source_mapping": {"start": 602, "length": 3912, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address[],address[])"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter FakeGnosis.initialize(IAccessControlManager,address,address[],address[])._agToken (contracts/transmuter/configs/FakeGnosis.sol#27) is not in mixedCase\n", "markdown": "Parameter [FakeGnosis.initialize(IAccessControlManager,address,address[],address[])._agToken](contracts/transmuter/configs/FakeGnosis.sol#L27) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/configs/FakeGnosis.sol#L27", "id": "bd102e58881cc7359c064566e9c46ce01e0cb2f6f3943bf2f27901deb9a2088f", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_collateralAddresses", "source_mapping": {"start": 736, "length": 37, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [28], "starting_column": 9, "ending_column": 46}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 628, "length": 3884, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FakeGnosis", "source_mapping": {"start": 602, "length": 3912, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address[],address[])"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter FakeGnosis.initialize(IAccessControlManager,address,address[],address[])._collateralAddresses (contracts/transmuter/configs/FakeGnosis.sol#28) is not in mixedCase\n", "markdown": "Parameter [FakeGnosis.initialize(IAccessControlManager,address,address[],address[])._collateralAddresses](contracts/transmuter/configs/FakeGnosis.sol#L28) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/configs/FakeGnosis.sol#L28", "id": "de73da31b40d74d4d3d786f4647e9fc6951ab6e705922ebf241bf8385d6b38b0", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_oracleAddresses", "source_mapping": {"start": 783, "length": 33, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [29], "starting_column": 9, "ending_column": 42}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 628, "length": 3884, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "FakeGnosis", "source_mapping": {"start": 602, "length": 3912, "filename_relative": "contracts/transmuter/configs/FakeGnosis.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/FakeGnosis.sol", "filename_short": "contracts/transmuter/configs/FakeGnosis.sol", "is_dependency": false, "lines": [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address[],address[])"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter FakeGnosis.initialize(IAccessControlManager,address,address[],address[])._oracleAddresses (contracts/transmuter/configs/FakeGnosis.sol#29) is not in mixedCase\n", "markdown": "Parameter [FakeGnosis.initialize(IAccessControlManager,address,address[],address[])._oracleAddresses](contracts/transmuter/configs/FakeGnosis.sol#L29) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/configs/FakeGnosis.sol#L29", "id": "29b84a48faf5e527d93bd1b78ef4b3d695584a3f83ad0f45bfc7047c324e3fef", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_accessControlManager", "source_mapping": {"start": 838, "length": 43, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [29], "starting_column": 9, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter Production.initialize(IAccessControlManager,address,address)._accessControlManager (contracts/transmuter/configs/Production.sol#29) is not in mixedCase\n", "markdown": "Parameter [Production.initialize(IAccessControlManager,address,address)._accessControlManager](contracts/transmuter/configs/Production.sol#L29) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/configs/Production.sol#L29", "id": "80ba346cdc184c609f6e4afcc8514a08ae5dc496dbcd15cc2f3ebc03ee2990f5", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_agToken", "source_mapping": {"start": 891, "length": 16, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [30], "starting_column": 9, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter Production.initialize(IAccessControlManager,address,address)._agToken (contracts/transmuter/configs/Production.sol#30) is not in mixedCase\n", "markdown": "Parameter [Production.initialize(IAccessControlManager,address,address)._agToken](contracts/transmuter/configs/Production.sol#L30) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/configs/Production.sol#L30", "id": "e714298ecc85031cef449f1b2a518c56f6ab36112318f8ec5cab6359d0fc1c18", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_accessControlManager", "source_mapping": {"start": 547, "length": 43, "filename_relative": "contracts/transmuter/configs/Test.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Test.sol", "filename_short": "contracts/transmuter/configs/Test.sol", "is_dependency": false, "lines": [22], "starting_column": 9, "ending_column": 52}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 518, "length": 7233, "filename_relative": "contracts/transmuter/configs/Test.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Test.sol", "filename_short": "contracts/transmuter/configs/Test.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Test", "source_mapping": {"start": 498, "length": 7255, "filename_relative": "contracts/transmuter/configs/Test.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Test.sol", "filename_short": "contracts/transmuter/configs/Test.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,CollateralSetup,CollateralSetup,CollateralSetup)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter Test.initialize(IAccessControlManager,address,CollateralSetup,CollateralSetup,CollateralSetup)._accessControlManager (contracts/transmuter/configs/Test.sol#22) is not in mixedCase\n", "markdown": "Parameter [Test.initialize(IAccessControlManager,address,CollateralSetup,CollateralSetup,CollateralSetup)._accessControlManager](contracts/transmuter/configs/Test.sol#L22) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/configs/Test.sol#L22", "id": "be8971ff3930abe1fe7f1a18a82598b0472ee41876c6997bffa9f6a337bdabf8", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_agToken", "source_mapping": {"start": 600, "length": 16, "filename_relative": "contracts/transmuter/configs/Test.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Test.sol", "filename_short": "contracts/transmuter/configs/Test.sol", "is_dependency": false, "lines": [23], "starting_column": 9, "ending_column": 25}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 518, "length": 7233, "filename_relative": "contracts/transmuter/configs/Test.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Test.sol", "filename_short": "contracts/transmuter/configs/Test.sol", "is_dependency": false, "lines": [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Test", "source_mapping": {"start": 498, "length": 7255, "filename_relative": "contracts/transmuter/configs/Test.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Test.sol", "filename_short": "contracts/transmuter/configs/Test.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,CollateralSetup,CollateralSetup,CollateralSetup)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter Test.initialize(IAccessControlManager,address,CollateralSetup,CollateralSetup,CollateralSetup)._agToken (contracts/transmuter/configs/Test.sol#23) is not in mixedCase\n", "markdown": "Parameter [Test.initialize(IAccessControlManager,address,CollateralSetup,CollateralSetup,CollateralSetup)._agToken](contracts/transmuter/configs/Test.sol#L23) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/configs/Test.sol#L23", "id": "efcbc44fe37a9d5f2e4fe7cbecb17d576bd9d921ded9ef22e1a0c4f2eecbae88", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_diamondCut", "source_mapping": {"start": 605, "length": 31, "filename_relative": "contracts/transmuter/facets/DiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondCut.sol", "filename_short": "contracts/transmuter/facets/DiamondCut.sol", "is_dependency": false, "lines": [19], "starting_column": 9, "ending_column": 40}, "type_specific_fields": {"parent": {"type": "function", "name": "diamondCut", "source_mapping": {"start": 576, "length": 215, "filename_relative": "contracts/transmuter/facets/DiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondCut.sol", "filename_short": "contracts/transmuter/facets/DiamondCut.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondCut", "source_mapping": {"start": 479, "length": 314, "filename_relative": "contracts/transmuter/facets/DiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondCut.sol", "filename_short": "contracts/transmuter/facets/DiamondCut.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 2}}, "signature": "diamondCut(FacetCut[],address,bytes)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter DiamondCut.diamondCut(FacetCut[],address,bytes)._diamondCut (contracts/transmuter/facets/DiamondCut.sol#19) is not in mixedCase\n", "markdown": "Parameter [DiamondCut.diamondCut(FacetCut[],address,bytes)._diamondCut](contracts/transmuter/facets/DiamondCut.sol#L19) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/facets/DiamondCut.sol#L19", "id": "fa4a3f2f5ceff41d04446d7697604eda1eaa225c308623f08d445e1f357a7ff1", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_init", "source_mapping": {"start": 646, "length": 13, "filename_relative": "contracts/transmuter/facets/DiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondCut.sol", "filename_short": "contracts/transmuter/facets/DiamondCut.sol", "is_dependency": false, "lines": [20], "starting_column": 9, "ending_column": 22}, "type_specific_fields": {"parent": {"type": "function", "name": "diamondCut", "source_mapping": {"start": 576, "length": 215, "filename_relative": "contracts/transmuter/facets/DiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondCut.sol", "filename_short": "contracts/transmuter/facets/DiamondCut.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondCut", "source_mapping": {"start": 479, "length": 314, "filename_relative": "contracts/transmuter/facets/DiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondCut.sol", "filename_short": "contracts/transmuter/facets/DiamondCut.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 2}}, "signature": "diamondCut(FacetCut[],address,bytes)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter DiamondCut.diamondCut(FacetCut[],address,bytes)._init (contracts/transmuter/facets/DiamondCut.sol#20) is not in mixedCase\n", "markdown": "Parameter [DiamondCut.diamondCut(FacetCut[],address,bytes)._init](contracts/transmuter/facets/DiamondCut.sol#L20) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/facets/DiamondCut.sol#L20", "id": "520697748b47981ec8f7b92bc69b1fc63f4354b7e8b52c3a7fbded3c3941cbfc", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_calldata", "source_mapping": {"start": 669, "length": 24, "filename_relative": "contracts/transmuter/facets/DiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondCut.sol", "filename_short": "contracts/transmuter/facets/DiamondCut.sol", "is_dependency": false, "lines": [21], "starting_column": 9, "ending_column": 33}, "type_specific_fields": {"parent": {"type": "function", "name": "diamondCut", "source_mapping": {"start": 576, "length": 215, "filename_relative": "contracts/transmuter/facets/DiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondCut.sol", "filename_short": "contracts/transmuter/facets/DiamondCut.sol", "is_dependency": false, "lines": [18, 19, 20, 21, 22, 23, 24], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondCut", "source_mapping": {"start": 479, "length": 314, "filename_relative": "contracts/transmuter/facets/DiamondCut.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondCut.sol", "filename_short": "contracts/transmuter/facets/DiamondCut.sol", "is_dependency": false, "lines": [16, 17, 18, 19, 20, 21, 22, 23, 24, 25], "starting_column": 1, "ending_column": 2}}, "signature": "diamondCut(FacetCut[],address,bytes)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter DiamondCut.diamondCut(FacetCut[],address,bytes)._calldata (contracts/transmuter/facets/DiamondCut.sol#21) is not in mixedCase\n", "markdown": "Parameter [DiamondCut.diamondCut(FacetCut[],address,bytes)._calldata](contracts/transmuter/facets/DiamondCut.sol#L21) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/facets/DiamondCut.sol#L21", "id": "bb5bdc824700e65f958320f10dc0883fa644bf3f1415c556891f2fa953f4e512", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_implementation", "source_mapping": {"start": 639, "length": 23, "filename_relative": "contracts/transmuter/facets/DiamondEtherscan.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondEtherscan.sol", "filename_short": "contracts/transmuter/facets/DiamondEtherscan.sol", "is_dependency": false, "lines": [16], "starting_column": 37, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "setDummyImplementation", "source_mapping": {"start": 607, "length": 155, "filename_relative": "contracts/transmuter/facets/DiamondEtherscan.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondEtherscan.sol", "filename_short": "contracts/transmuter/facets/DiamondEtherscan.sol", "is_dependency": false, "lines": [16, 17, 18], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondEtherscan", "source_mapping": {"start": 492, "length": 439, "filename_relative": "contracts/transmuter/facets/DiamondEtherscan.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondEtherscan.sol", "filename_short": "contracts/transmuter/facets/DiamondEtherscan.sol", "is_dependency": false, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24], "starting_column": 1, "ending_column": 2}}, "signature": "setDummyImplementation(address)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter DiamondEtherscan.setDummyImplementation(address)._implementation (contracts/transmuter/facets/DiamondEtherscan.sol#16) is not in mixedCase\n", "markdown": "Parameter [DiamondEtherscan.setDummyImplementation(address)._implementation](contracts/transmuter/facets/DiamondEtherscan.sol#L16) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/facets/DiamondEtherscan.sol#L16", "id": "dcfd4c7521da2e256bbb301c88a4a09bc757fac6611e8d732fc9bd78e014ef36", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_facet", "source_mapping": {"start": 2669, "length": 14, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [66], "starting_column": 9, "ending_column": 23}, "type_specific_fields": {"parent": {"type": "function", "name": "facetFunctionSelectors", "source_mapping": {"start": 2628, "length": 870, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondLoupe", "source_mapping": {"start": 421, "length": 4816, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}, "signature": "facetFunctionSelectors(address)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter DiamondLoupe.facetFunctionSelectors(address)._facet (contracts/transmuter/facets/DiamondLoupe.sol#66) is not in mixedCase\n", "markdown": "Parameter [DiamondLoupe.facetFunctionSelectors(address)._facet](contracts/transmuter/facets/DiamondLoupe.sol#L66) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/facets/DiamondLoupe.sol#L66", "id": "ac5f4e4a5303076c0adcc045062b8c57100123d02882b40d9e97407c55bfa4bf", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_functionSelector", "source_mapping": {"start": 5018, "length": 24, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [122], "starting_column": 27, "ending_column": 51}, "type_specific_fields": {"parent": {"type": "function", "name": "facetAddress", "source_mapping": {"start": 4996, "length": 239, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [122, 123, 124, 125], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondLoupe", "source_mapping": {"start": 421, "length": 4816, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}, "signature": "facetAddress(bytes4)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter DiamondLoupe.facetAddress(bytes4)._functionSelector (contracts/transmuter/facets/DiamondLoupe.sol#122) is not in mixedCase\n", "markdown": "Parameter [DiamondLoupe.facetAddress(bytes4)._functionSelector](contracts/transmuter/facets/DiamondLoupe.sol#L122) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/facets/DiamondLoupe.sol#L122", "id": "527085943da5d4c0bf65bf2a747d81909b1de71d5755d89787e16e6a24872521", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_newAccessControlManager", "source_mapping": {"start": 1714, "length": 32, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [39], "starting_column": 38, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "setAccessControlManager", "source_mapping": {"start": 1681, "length": 189, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "SettersGovernor", "source_mapping": {"start": 721, "length": 3835, "filename_relative": "contracts/transmuter/facets/SettersGovernor.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/SettersGovernor.sol", "filename_short": "contracts/transmuter/facets/SettersGovernor.sol", "is_dependency": false, "lines": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101], "starting_column": 1, "ending_column": 2}}, "signature": "setAccessControlManager(address)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter SettersGovernor.setAccessControlManager(address)._newAccessControlManager (contracts/transmuter/facets/SettersGovernor.sol#39) is not in mixedCase\n", "markdown": "Parameter [SettersGovernor.setAccessControlManager(address)._newAccessControlManager](contracts/transmuter/facets/SettersGovernor.sol#L39) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/facets/SettersGovernor.sol#L39", "id": "2b48b029fb7dbb3926897399e951e01d6ee13c484b31aa46864e9c0b75e7154d", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_diamondCut", "source_mapping": {"start": 1416, "length": 29, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [33], "starting_column": 25, "ending_column": 54}, "type_specific_fields": {"parent": {"type": "function", "name": "diamondCut", "source_mapping": {"start": 1396, "length": 1104, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibDiamond", "source_mapping": {"start": 430, "length": 7761, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 1, "ending_column": 2}}, "signature": "diamondCut(FacetCut[],address,bytes)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter LibDiamond.diamondCut(FacetCut[],address,bytes)._diamondCut (contracts/transmuter/libraries/LibDiamond.sol#33) is not in mixedCase\n", "markdown": "Parameter [LibDiamond.diamondCut(FacetCut[],address,bytes)._diamondCut](contracts/transmuter/libraries/LibDiamond.sol#L33) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/libraries/LibDiamond.sol#L33", "id": "f972d989ab1a018fc040c463c752a2023a75019906d6859073b5652a5feaf9ca", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_init", "source_mapping": {"start": 1447, "length": 13, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [33], "starting_column": 56, "ending_column": 69}, "type_specific_fields": {"parent": {"type": "function", "name": "diamondCut", "source_mapping": {"start": 1396, "length": 1104, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibDiamond", "source_mapping": {"start": 430, "length": 7761, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 1, "ending_column": 2}}, "signature": "diamondCut(FacetCut[],address,bytes)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter LibDiamond.diamondCut(FacetCut[],address,bytes)._init (contracts/transmuter/libraries/LibDiamond.sol#33) is not in mixedCase\n", "markdown": "Parameter [LibDiamond.diamondCut(FacetCut[],address,bytes)._init](contracts/transmuter/libraries/LibDiamond.sol#L33) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/libraries/LibDiamond.sol#L33", "id": "7f7fa3fe51d4c02dfa830a85b2bfaf3770db6dcd137bdc7fa01a19b91ddedc89", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_calldata", "source_mapping": {"start": 1462, "length": 22, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [33], "starting_column": 71, "ending_column": 93}, "type_specific_fields": {"parent": {"type": "function", "name": "diamondCut", "source_mapping": {"start": 1396, "length": 1104, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibDiamond", "source_mapping": {"start": 430, "length": 7761, "filename_relative": "contracts/transmuter/libraries/LibDiamond.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibDiamond.sol", "filename_short": "contracts/transmuter/libraries/LibDiamond.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172], "starting_column": 1, "ending_column": 2}}, "signature": "diamondCut(FacetCut[],address,bytes)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter LibDiamond.diamondCut(FacetCut[],address,bytes)._calldata (contracts/transmuter/libraries/LibDiamond.sol#33) is not in mixedCase\n", "markdown": "Parameter [LibDiamond.diamondCut(FacetCut[],address,bytes)._calldata](contracts/transmuter/libraries/LibDiamond.sol#L33) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/libraries/LibDiamond.sol#L33", "id": "9bf9d7fbd7ce40e5a7cfd34b1fddf781bd8d19890341344942294a172e654368", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_quoteAmount", "source_mapping": {"start": 9340, "length": 20, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [175], "starting_column": 9, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "function", "name": "readChainlinkFeed", "source_mapping": {"start": 9304, "length": 631, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibOracle", "source_mapping": {"start": 503, "length": 10831, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213], "starting_column": 1, "ending_column": 2}}, "signature": "readChainlinkFeed(uint256,AggregatorV3Interface,uint8,uint256,uint32)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter LibOracle.readChainlinkFeed(uint256,AggregatorV3Interface,uint8,uint256,uint32)._quoteAmount (contracts/transmuter/libraries/LibOracle.sol#175) is not in mixedCase\n", "markdown": "Parameter [LibOracle.readChainlinkFeed(uint256,AggregatorV3Interface,uint8,uint256,uint32)._quoteAmount](contracts/transmuter/libraries/LibOracle.sol#L175) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/libraries/LibOracle.sol#L175", "id": "f535477d40cc454fe786195ab63e0e010d268fad864b9f61430cdc93ea01f248", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_quoteAmount", "source_mapping": {"start": 10078, "length": 20, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [190], "starting_column": 9, "ending_column": 29}, "type_specific_fields": {"parent": {"type": "function", "name": "readPythFeed", "source_mapping": {"start": 10047, "length": 967, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibOracle", "source_mapping": {"start": 503, "length": 10831, "filename_relative": "contracts/transmuter/libraries/LibOracle.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibOracle.sol", "filename_short": "contracts/transmuter/libraries/LibOracle.sol", "is_dependency": false, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213], "starting_column": 1, "ending_column": 2}}, "signature": "readPythFeed(uint256,bytes32,address,uint8,uint32)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter LibOracle.readPythFeed(uint256,bytes32,address,uint8,uint32)._quoteAmount (contracts/transmuter/libraries/LibOracle.sol#190) is not in mixedCase\n", "markdown": "Parameter [LibOracle.readPythFeed(uint256,bytes32,address,uint8,uint32)._quoteAmount](contracts/transmuter/libraries/LibOracle.sol#L190) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/libraries/LibOracle.sol#L190", "id": "d06c4ecae2e6ee23c44e7f3fe6c72cafb7b8e95702a14e0552064cc9faf9de15", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "_newAccessControlManager", "source_mapping": {"start": 2113, "length": 46, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [41], "starting_column": 38, "ending_column": 84}, "type_specific_fields": {"parent": {"type": "function", "name": "setAccessControlManager", "source_mapping": {"start": 2080, "length": 408, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [41, 42, 43, 44, 45, 46], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "LibSetters", "source_mapping": {"start": 599, "length": 13407, "filename_relative": "contracts/transmuter/libraries/LibSetters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/libraries/LibSetters.sol", "filename_short": "contracts/transmuter/libraries/LibSetters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267], "starting_column": 1, "ending_column": 2}}, "signature": "setAccessControlManager(IAccessControlManager)"}}}, "additional_fields": {"target": "parameter", "convention": "mixedCase"}}], "description": "Parameter LibSetters.setAccessControlManager(IAccessControlManager)._newAccessControlManager (contracts/transmuter/libraries/LibSetters.sol#41) is not in mixedCase\n", "markdown": "Parameter [LibSetters.setAccessControlManager(IAccessControlManager)._newAccessControlManager](contracts/transmuter/libraries/LibSetters.sol#L41) is not in mixedCase\n", "first_markdown_element": "contracts/transmuter/libraries/LibSetters.sol#L41", "id": "423a8888b690c0074a1e2a84354808a0bf3b73827f38678bc55c87b1bb989dd0", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "__gapAccessControl", "source_mapping": {"start": 372, "length": 38, "filename_relative": "contracts/utils/AccessControl.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/utils/AccessControl.sol", "filename_short": "contracts/utils/AccessControl.sol", "is_dependency": false, "lines": [15], "starting_column": 5, "ending_column": 43}, "type_specific_fields": {"parent": {"type": "contract", "name": "AccessControl", "source_mapping": {"start": 228, "length": 1727, "filename_relative": "contracts/utils/AccessControl.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/utils/AccessControl.sol", "filename_short": "contracts/utils/AccessControl.sol", "is_dependency": false, "lines": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46], "starting_column": 1, "ending_column": 2}}}, "additional_fields": {"target": "variable", "convention": "mixedCase"}}], "description": "Variable AccessControl.__gapAccessControl (contracts/utils/AccessControl.sol#15) is not in mixedCase\n", "markdown": "Variable [AccessControl.__gapAccessControl](contracts/utils/AccessControl.sol#L15) is not in mixedCase\n", "first_markdown_element": "contracts/utils/AccessControl.sol#L15", "id": "9d2d7ad331185943a63d3b925b9d39a8d5854ca0558cb17f9507c118243daa4b", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "__ERC20_init", "source_mapping": {"start": 2116, "length": 147, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [55, 56, 57], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}, "signature": "__ERC20_init(string,string)"}, "additional_fields": {"target": "function", "convention": "mixedCase"}}], "description": "Function ERC20Upgradeable.__ERC20_init(string,string) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#55-57) is not in mixedCase\n", "markdown": "Function [ERC20Upgradeable.__ERC20_init(string,string)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L55-L57) is not in mixedCase\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L55-L57", "id": "8238dcf62f913fda66edd22ee2b08e732cfae65517418f334b31b357d5fb02c5", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "__ERC20_init_unchained", "source_mapping": {"start": 2269, "length": 159, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [59, 60, 61, 62], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}, "signature": "__ERC20_init_unchained(string,string)"}, "additional_fields": {"target": "function", "convention": "mixedCase"}}], "description": "Function ERC20Upgradeable.__ERC20_init_unchained(string,string) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#59-62) is not in mixedCase\n", "markdown": "Function [ERC20Upgradeable.__ERC20_init_unchained(string,string)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L59-L62) is not in mixedCase\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L59-L62", "id": "74c629176a16cccc0c00bada69b465bc625751ea0b6a6c34a6948576e5a63d53", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "__gap", "source_mapping": {"start": 13217, "length": 25, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [394], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC20Upgradeable", "source_mapping": {"start": 1482, "length": 11763, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol", "is_dependency": true, "lines": [36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395], "starting_column": 1, "ending_column": 2}}}, "additional_fields": {"target": "variable", "convention": "mixedCase"}}], "description": "Variable ERC20Upgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#394) is not in mixedCase\n", "markdown": "Variable [ERC20Upgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L394) is not in mixedCase\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol#L394", "id": "95b4f7519d8168eaf429605544f5939d63826ecdfb9fab9329b6802cbd21db77", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "__ERC4626_init", "source_mapping": {"start": 1596, "length": 133, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [35, 36, 37], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "__ERC4626_init(IERC20MetadataUpgradeable)"}, "additional_fields": {"target": "function", "convention": "mixedCase"}}], "description": "Function ERC4626Upgradeable.__ERC4626_init(IERC20MetadataUpgradeable) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#35-37) is not in mixedCase\n", "markdown": "Function [ERC4626Upgradeable.__ERC4626_init(IERC20MetadataUpgradeable)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L35-L37) is not in mixedCase\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L35-L37", "id": "c09411b8a15e9db76dfc57abdd05935845c9eaeab519cd0ae5f1b844675eb67c", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "__ERC4626_init_unchained", "source_mapping": {"start": 1735, "length": 126, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [39, 40, 41], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}, "signature": "__ERC4626_init_unchained(IERC20MetadataUpgradeable)"}, "additional_fields": {"target": "function", "convention": "mixedCase"}}], "description": "Function ERC4626Upgradeable.__ERC4626_init_unchained(IERC20MetadataUpgradeable) (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#39-41) is not in mixedCase\n", "markdown": "Function [ERC4626Upgradeable.__ERC4626_init_unchained(IERC20MetadataUpgradeable)](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L39-L41) is not in mixedCase\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L39-L41", "id": "e8c295ec7d30e3fec4886de1e8d0bcb5a0a944ed803c221f36588d9bf9aa8cac", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "__gap", "source_mapping": {"start": 9266, "length": 25, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [233], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "ERC4626Upgradeable", "source_mapping": {"start": 1286, "length": 8008, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol", "is_dependency": true, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234], "starting_column": 1, "ending_column": 2}}}, "additional_fields": {"target": "variable", "convention": "mixedCase"}}], "description": "Variable ERC4626Upgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#233) is not in mixedCase\n", "markdown": "Variable [ERC4626Upgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L233) is not in mixedCase\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol#L233", "id": "6ce2c4a1c1496651adf81305ebe54ee302f50908c0bcfdca3676ec709cc54158", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "DOMAIN_SEPARATOR", "source_mapping": {"start": 2200, "length": 60, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "is_dependency": true, "lines": [59], "starting_column": 5, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "contract", "name": "IERC20PermitUpgradeable", "source_mapping": {"start": 620, "length": 1642, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol", "is_dependency": true, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 1, "ending_column": 2}}, "signature": "DOMAIN_SEPARATOR()"}, "additional_fields": {"target": "function", "convention": "mixedCase"}}], "description": "Function IERC20PermitUpgradeable.DOMAIN_SEPARATOR() (lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#59) is not in mixedCase\n", "markdown": "Function [IERC20PermitUpgradeable.DOMAIN_SEPARATOR()](lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L59) is not in mixedCase\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/draft-IERC20PermitUpgradeable.sol#L59", "id": "125dfc7c7f2b3906a5391a5c33308280a9b2578cf6bba9c9acfe0f81566a4a45", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "__Context_init", "source_mapping": {"start": 711, "length": 59, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "is_dependency": true, "lines": [18, 19], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ContextUpgradeable", "source_mapping": {"start": 651, "length": 693, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "is_dependency": true, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "starting_column": 1, "ending_column": 2}}, "signature": "__Context_init()"}, "additional_fields": {"target": "function", "convention": "mixedCase"}}], "description": "Function ContextUpgradeable.__Context_init() (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#18-19) is not in mixedCase\n", "markdown": "Function [ContextUpgradeable.__Context_init()](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L18-L19) is not in mixedCase\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L18-L19", "id": "ec47067e22967ab37ddb79c5eae4c225b0c9f1e4e15f1452db70b0a6f86103e0", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "__Context_init_unchained", "source_mapping": {"start": 776, "length": 69, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "is_dependency": true, "lines": [21, 22], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "ContextUpgradeable", "source_mapping": {"start": 651, "length": 693, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "is_dependency": true, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "starting_column": 1, "ending_column": 2}}, "signature": "__Context_init_unchained()"}, "additional_fields": {"target": "function", "convention": "mixedCase"}}], "description": "Function ContextUpgradeable.__Context_init_unchained() (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#21-22) is not in mixedCase\n", "markdown": "Function [ContextUpgradeable.__Context_init_unchained()](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L21-L22) is not in mixedCase\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L21-L22", "id": "8629c89abc9e568d22212182eb038287fc4f676ff34add41294173d644b25bcb", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "__gap", "source_mapping": {"start": 1316, "length": 25, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "is_dependency": true, "lines": [36], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "ContextUpgradeable", "source_mapping": {"start": 651, "length": 693, "filename_relative": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "filename_short": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol", "is_dependency": true, "lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "starting_column": 1, "ending_column": 2}}}, "additional_fields": {"target": "variable", "convention": "mixedCase"}}], "description": "Variable ContextUpgradeable.__gap (lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#36) is not in mixedCase\n", "markdown": "Variable [ContextUpgradeable.__gap](lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L36) is not in mixedCase\n", "first_markdown_element": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol#L36", "id": "36b0d7790b5ec0201a99f98a2f3b1afbd4248739c34889d0a9d08876f3462218", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "function", "name": "DOMAIN_SEPARATOR", "source_mapping": {"start": 2189, "length": 60, "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "is_dependency": true, "lines": [59], "starting_column": 5, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "contract", "name": "IERC20Permit", "source_mapping": {"start": 620, "length": 1631, "filename_relative": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "filename_absolute": "/root/angle/angle-transmuter/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "filename_short": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol", "is_dependency": true, "lines": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "starting_column": 1, "ending_column": 2}}, "signature": "DOMAIN_SEPARATOR()"}, "additional_fields": {"target": "function", "convention": "mixedCase"}}], "description": "Function IERC20Permit.DOMAIN_SEPARATOR() (lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#59) is not in mixedCase\n", "markdown": "Function [IERC20Permit.DOMAIN_SEPARATOR()](lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L59) is not in mixedCase\n", "first_markdown_element": "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol#L59", "id": "9a77c79a6cf40e2f151723e49ba63d30100a56d0f72688e58cdf4a550a6ff843", "check": "naming-convention", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "xRedemptionCurve", "source_mapping": {"start": 1901, "length": 32, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [31], "starting_column": 5, "ending_column": 37}, "type_specific_fields": {"parent": {"type": "contract", "name": "Layout", "source_mapping": {"start": 903, "length": 2094, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}}}, {"type": "variable", "name": "yRedemptionCurve", "source_mapping": {"start": 1999, "length": 31, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 36}, "type_specific_fields": {"parent": {"type": "contract", "name": "Layout", "source_mapping": {"start": 903, "length": 2094, "filename_relative": "contracts/transmuter/Layout.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/Layout.sol", "filename_short": "contracts/transmuter/Layout.sol", "is_dependency": false, "lines": [19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "starting_column": 1, "ending_column": 2}}}}], "description": "Variable Layout.xRedemptionCurve (contracts/transmuter/Layout.sol#31) is too similar to Layout.yRedemptionCurve (contracts/transmuter/Layout.sol#32)\n", "markdown": "Variable [Layout.xRedemptionCurve](contracts/transmuter/Layout.sol#L31) is too similar to [Layout.yRedemptionCurve](contracts/transmuter/Layout.sol#L32)\n", "first_markdown_element": "contracts/transmuter/Layout.sol#L31", "id": "d2d718295311d844d6e1aaccccb053c1aa9b35d32f0636327e7dee6e2327690a", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "xBurnFeeC3M", "source_mapping": {"start": 4511, "length": 45, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [114], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}}, {"type": "variable", "name": "yBurnFeeC3M", "source_mapping": {"start": 4732, "length": 43, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [119], "starting_column": 13, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}}], "description": "Variable Production.initialize(IAccessControlManager,address,address).xBurnFeeC3M (contracts/transmuter/configs/Production.sol#114) is too similar to Production.initialize(IAccessControlManager,address,address).yBurnFeeC3M (contracts/transmuter/configs/Production.sol#119)\n", "markdown": "Variable [Production.initialize(IAccessControlManager,address,address).xBurnFeeC3M](contracts/transmuter/configs/Production.sol#L114) is too similar to [Production.initialize(IAccessControlManager,address,address).yBurnFeeC3M](contracts/transmuter/configs/Production.sol#L119)\n", "first_markdown_element": "contracts/transmuter/configs/Production.sol#L114", "id": "a211ef68a5b7e8a801547ab1f96727a38a5f513dedb5314a4f1c3428869767ef", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "xBurnFeeEuroc", "source_mapping": {"start": 2040, "length": 47, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [56], "starting_column": 13, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}}, {"type": "variable", "name": "yBurnFeeEuroc", "source_mapping": {"start": 2269, "length": 45, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [61], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}}], "description": "Variable Production.initialize(IAccessControlManager,address,address).xBurnFeeEuroc (contracts/transmuter/configs/Production.sol#56) is too similar to Production.initialize(IAccessControlManager,address,address).yBurnFeeEuroc (contracts/transmuter/configs/Production.sol#61)\n", "markdown": "Variable [Production.initialize(IAccessControlManager,address,address).xBurnFeeEuroc](contracts/transmuter/configs/Production.sol#L56) is too similar to [Production.initialize(IAccessControlManager,address,address).yBurnFeeEuroc](contracts/transmuter/configs/Production.sol#L61)\n", "first_markdown_element": "contracts/transmuter/configs/Production.sol#L56", "id": "dce641292244c8414b1ff1ea2279b01e23d7f19bcf56e1aa143b94a2cc4732fb", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "xMintFeeC3M", "source_mapping": {"start": 4049, "length": 45, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [104], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}}, {"type": "variable", "name": "yMintFeeC3M", "source_mapping": {"start": 4265, "length": 43, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [109], "starting_column": 13, "ending_column": 56}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}}], "description": "Variable Production.initialize(IAccessControlManager,address,address).xMintFeeC3M (contracts/transmuter/configs/Production.sol#104) is too similar to Production.initialize(IAccessControlManager,address,address).yMintFeeC3M (contracts/transmuter/configs/Production.sol#109)\n", "markdown": "Variable [Production.initialize(IAccessControlManager,address,address).xMintFeeC3M](contracts/transmuter/configs/Production.sol#L104) is too similar to [Production.initialize(IAccessControlManager,address,address).yMintFeeC3M](contracts/transmuter/configs/Production.sol#L109)\n", "first_markdown_element": "contracts/transmuter/configs/Production.sol#L104", "id": "4c5c642ca75e87ca390363011003862496a54b186f94232d22a6bd0b6664194b", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "xMintFeeEuroc", "source_mapping": {"start": 1574, "length": 47, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [46], "starting_column": 13, "ending_column": 60}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}}, {"type": "variable", "name": "yMintFeeEuroc", "source_mapping": {"start": 1798, "length": 45, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [51], "starting_column": 13, "ending_column": 58}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}}], "description": "Variable Production.initialize(IAccessControlManager,address,address).xMintFeeEuroc (contracts/transmuter/configs/Production.sol#46) is too similar to Production.initialize(IAccessControlManager,address,address).yMintFeeEuroc (contracts/transmuter/configs/Production.sol#51)\n", "markdown": "Variable [Production.initialize(IAccessControlManager,address,address).xMintFeeEuroc](contracts/transmuter/configs/Production.sol#L46) is too similar to [Production.initialize(IAccessControlManager,address,address).yMintFeeEuroc](contracts/transmuter/configs/Production.sol#L51)\n", "first_markdown_element": "contracts/transmuter/configs/Production.sol#L46", "id": "5df79b28179b408b9ad8ee21d6213d7072e00199707adcfa344888ecc3ff953c", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "_facetFunctionSelectors", "source_mapping": {"start": 2722, "length": 39, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [67], "starting_column": 39, "ending_column": 78}, "type_specific_fields": {"parent": {"type": "function", "name": "facetFunctionSelectors", "source_mapping": {"start": 2628, "length": 870, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "DiamondLoupe", "source_mapping": {"start": 421, "length": 4816, "filename_relative": "contracts/transmuter/facets/DiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/DiamondLoupe.sol", "filename_short": "contracts/transmuter/facets/DiamondLoupe.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126], "starting_column": 1, "ending_column": 2}}, "signature": "facetFunctionSelectors(address)"}}}}, {"type": "variable", "name": "facetFunctionSelectors_", "source_mapping": {"start": 751, "length": 39, "filename_relative": "contracts/interfaces/IDiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IDiamondLoupe.sol", "filename_short": "contracts/interfaces/IDiamondLoupe.sol", "is_dependency": false, "lines": [20], "starting_column": 76, "ending_column": 115}, "type_specific_fields": {"parent": {"type": "function", "name": "facetFunctionSelectors", "source_mapping": {"start": 680, "length": 112, "filename_relative": "contracts/interfaces/IDiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IDiamondLoupe.sol", "filename_short": "contracts/interfaces/IDiamondLoupe.sol", "is_dependency": false, "lines": [20], "starting_column": 5, "ending_column": 117}, "type_specific_fields": {"parent": {"type": "contract", "name": "IDiamondLoupe", "source_mapping": {"start": 308, "length": 994, "filename_relative": "contracts/interfaces/IDiamondLoupe.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/interfaces/IDiamondLoupe.sol", "filename_short": "contracts/interfaces/IDiamondLoupe.sol", "is_dependency": false, "lines": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], "starting_column": 1, "ending_column": 2}}, "signature": "facetFunctionSelectors(address)"}}}}], "description": "Variable DiamondLoupe.facetFunctionSelectors(address)._facetFunctionSelectors (contracts/transmuter/facets/DiamondLoupe.sol#67) is too similar to IDiamondLoupe.facetFunctionSelectors(address).facetFunctionSelectors_ (contracts/interfaces/IDiamondLoupe.sol#20)\n", "markdown": "Variable [DiamondLoupe.facetFunctionSelectors(address)._facetFunctionSelectors](contracts/transmuter/facets/DiamondLoupe.sol#L67) is too similar to [IDiamondLoupe.facetFunctionSelectors(address).facetFunctionSelectors_](contracts/interfaces/IDiamondLoupe.sol#L20)\n", "first_markdown_element": "contracts/transmuter/facets/DiamondLoupe.sol#L67", "id": "e81225cd054991b01055250aa210fdb0225b61797229723dcb1c39bf9328855b", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "xRedemptionCurve", "source_mapping": {"start": 2520, "length": 32, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [71], "starting_column": 18, "ending_column": 50}, "type_specific_fields": {"parent": {"type": "function", "name": "getRedemptionFees", "source_mapping": {"start": 2444, "length": 275, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [68, 69, 70, 71, 72, 73, 74, 75], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Getters", "source_mapping": {"start": 660, "length": 7063, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 1, "ending_column": 2}}, "signature": "getRedemptionFees()"}}}}, {"type": "variable", "name": "yRedemptionCurve", "source_mapping": {"start": 2554, "length": 31, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [71], "starting_column": 52, "ending_column": 83}, "type_specific_fields": {"parent": {"type": "function", "name": "getRedemptionFees", "source_mapping": {"start": 2444, "length": 275, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [68, 69, 70, 71, 72, 73, 74, 75], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Getters", "source_mapping": {"start": 660, "length": 7063, "filename_relative": "contracts/transmuter/facets/Getters.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Getters.sol", "filename_short": "contracts/transmuter/facets/Getters.sol", "is_dependency": false, "lines": [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186], "starting_column": 1, "ending_column": 2}}, "signature": "getRedemptionFees()"}}}}], "description": "Variable Getters.getRedemptionFees().xRedemptionCurve (contracts/transmuter/facets/Getters.sol#71) is too similar to Getters.getRedemptionFees().yRedemptionCurve (contracts/transmuter/facets/Getters.sol#71)\n", "markdown": "Variable [Getters.getRedemptionFees().xRedemptionCurve](contracts/transmuter/facets/Getters.sol#L71) is too similar to [Getters.getRedemptionFees().yRedemptionCurve](contracts/transmuter/facets/Getters.sol#L71)\n", "first_markdown_element": "contracts/transmuter/facets/Getters.sol#L71", "id": "0ae4ca707bd16f695d170fdf141341c81b50784c74aa2cb23bf5d117449f7216", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "xRedemptionCurveMem", "source_mapping": {"start": 8485, "length": 57, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [165], "starting_column": 13, "ending_column": 70}, "type_specific_fields": {"parent": {"type": "function", "name": "_quoteRedemptionCurve", "source_mapping": {"start": 7701, "length": 1840, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Redeemer", "source_mapping": {"start": 963, "length": 11072, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "_quoteRedemptionCurve(uint256)"}}}}, {"type": "variable", "name": "yRedemptionCurveMem", "source_mapping": {"start": 8232, "length": 56, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [161], "starting_column": 9, "ending_column": 65}, "type_specific_fields": {"parent": {"type": "function", "name": "_quoteRedemptionCurve", "source_mapping": {"start": 7701, "length": 1840, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Redeemer", "source_mapping": {"start": 963, "length": 11072, "filename_relative": "contracts/transmuter/facets/Redeemer.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/facets/Redeemer.sol", "filename_short": "contracts/transmuter/facets/Redeemer.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "_quoteRedemptionCurve(uint256)"}}}}], "description": "Variable Redeemer._quoteRedemptionCurve(uint256).xRedemptionCurveMem (contracts/transmuter/facets/Redeemer.sol#165) is too similar to Redeemer._quoteRedemptionCurve(uint256).yRedemptionCurveMem (contracts/transmuter/facets/Redeemer.sol#161)\n", "markdown": "Variable [Redeemer._quoteRedemptionCurve(uint256).xRedemptionCurveMem](contracts/transmuter/facets/Redeemer.sol#L165) is too similar to [Redeemer._quoteRedemptionCurve(uint256).yRedemptionCurveMem](contracts/transmuter/facets/Redeemer.sol#L161)\n", "first_markdown_element": "contracts/transmuter/facets/Redeemer.sol#L165", "id": "18ccf273663cd5a776ece3529a1fcd36b1dfb93b95550a3786ff216978039b7e", "check": "similar-names", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}, {"type": "node", "name": "LibSetters.adjustStablecoins(euroc,8851136430000000000000000,true)", "source_mapping": {"start": 8103, "length": 68, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [201], "starting_column": 9, "ending_column": 77}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}}], "description": "Production.initialize(IAccessControlManager,address,address) (contracts/transmuter/configs/Production.sol#28-221) uses literals with too many digits:\n\t- LibSetters.adjustStablecoins(euroc,8851136430000000000000000,true) (contracts/transmuter/configs/Production.sol#201)\n", "markdown": "[Production.initialize(IAccessControlManager,address,address)](contracts/transmuter/configs/Production.sol#L28-L221) uses literals with too many digits:\n\t- [LibSetters.adjustStablecoins(euroc,8851136430000000000000000,true)](contracts/transmuter/configs/Production.sol#L201)\n", "first_markdown_element": "contracts/transmuter/configs/Production.sol#L28-L221", "id": "d361a26544f2a94594b4a32955bb346084b09bdea1c99922b4fe3107aed9600e", "check": "too-many-digits", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}, {"type": "node", "name": "LibSetters.adjustStablecoins(bc3m,4192643570000000000000000,true)", "source_mapping": {"start": 8181, "length": 67, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [202], "starting_column": 9, "ending_column": 76}, "type_specific_fields": {"parent": {"type": "function", "name": "initialize", "source_mapping": {"start": 809, "length": 8285, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 5, "ending_column": 6}, "type_specific_fields": {"parent": {"type": "contract", "name": "Production", "source_mapping": {"start": 783, "length": 8313, "filename_relative": "contracts/transmuter/configs/Production.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/transmuter/configs/Production.sol", "filename_short": "contracts/transmuter/configs/Production.sol", "is_dependency": false, "lines": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222], "starting_column": 1, "ending_column": 2}}, "signature": "initialize(IAccessControlManager,address,address)"}}}}], "description": "Production.initialize(IAccessControlManager,address,address) (contracts/transmuter/configs/Production.sol#28-221) uses literals with too many digits:\n\t- LibSetters.adjustStablecoins(bc3m,4192643570000000000000000,true) (contracts/transmuter/configs/Production.sol#202)\n", "markdown": "[Production.initialize(IAccessControlManager,address,address)](contracts/transmuter/configs/Production.sol#L28-L221) uses literals with too many digits:\n\t- [LibSetters.adjustStablecoins(bc3m,4192643570000000000000000,true)](contracts/transmuter/configs/Production.sol#L202)\n", "first_markdown_element": "contracts/transmuter/configs/Production.sol#L28-L221", "id": "16827e1d769556c5a2fbc204f9bce14cea5c12926c94be9a6241bbac56e2b81a", "check": "too-many-digits", "impact": "Informational", "confidence": "Medium"}, {"elements": [{"type": "variable", "name": "__gap", "source_mapping": {"start": 1192, "length": 25, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [32], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "Savings", "source_mapping": {"start": 258, "length": 11785, "filename_relative": "contracts/savings/Savings.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/Savings.sol", "filename_short": "contracts/savings/Savings.sol", "is_dependency": false, "lines": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247], "starting_column": 1, "ending_column": 2}}], "description": "Savings.__gap (contracts/savings/Savings.sol#32) is never used in Savings (contracts/savings/Savings.sol#10-247)\n", "markdown": "[Savings.__gap](contracts/savings/Savings.sol#L32) is never used in [Savings](contracts/savings/Savings.sol#L10-L247)\n", "first_markdown_element": "contracts/savings/Savings.sol#L32", "id": "f918d5b14527a0eb6d93e52a2cd00c593823622033e09a2e312bc776f69b7367", "check": "unused-state", "impact": "Informational", "confidence": "High"}, {"elements": [{"type": "variable", "name": "__gap", "source_mapping": {"start": 1804, "length": 25, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [48], "starting_column": 5, "ending_column": 30}, "type_specific_fields": {"parent": {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}}}, {"type": "contract", "name": "SavingsVest", "source_mapping": {"start": 523, "length": 11070, "filename_relative": "contracts/savings/SavingsVest.sol", "filename_absolute": "/root/angle/angle-transmuter/contracts/savings/SavingsVest.sol", "filename_short": "contracts/savings/SavingsVest.sol", "is_dependency": false, "lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221], "starting_column": 1, "ending_column": 2}}], "description": "SavingsVest.__gap (contracts/savings/SavingsVest.sol#48) is never used in SavingsVest (contracts/savings/SavingsVest.sol#15-221)\n", "markdown": "[SavingsVest.__gap](contracts/savings/SavingsVest.sol#L48) is never used in [SavingsVest](contracts/savings/SavingsVest.sol#L15-L221)\n", "first_markdown_element": "contracts/savings/SavingsVest.sol#L48", "id": "121b8144c570f773f5c57fa20d03f2aad07d3bb93147daefdec4ff07381f37e0", "check": "unused-state", "impact": "Informational", "confidence": "High"}] \ No newline at end of file diff --git a/test/mock/MockLib.sol b/test/mock/MockLib.sol index 9ea7a11b..0e6cabd6 100644 --- a/test/mock/MockLib.sol +++ b/test/mock/MockLib.sol @@ -4,6 +4,8 @@ pragma solidity ^0.8.19; import { LibHelpers } from "../../contracts/transmuter/libraries/LibHelpers.sol"; import { LibManager } from "../../contracts/transmuter/libraries/LibManager.sol"; +import { LibStorage } from "../../contracts/transmuter/libraries/LibStorage.sol"; +import { ImplementationStorage } from "../../contracts/transmuter/Storage.sol"; contract MockLib { function convertDecimalTo(uint256 amount, uint8 fromDecimals, uint8 toDecimals) external pure returns (uint256) { @@ -27,6 +29,10 @@ contract MockLib { return LibHelpers.piecewiseLinear(x, xArray, yArray); } + function implementationStorage() external pure returns (ImplementationStorage memory) { + return LibStorage.implementationStorage(); + } + function transferRecipient(bytes memory config) external view returns (address) { return LibManager.transferRecipient(config); } diff --git a/test/units/Libraries.t.sol b/test/units/Libraries.t.sol index 2ae22da5..f089b64f 100644 --- a/test/units/Libraries.t.sol +++ b/test/units/Libraries.t.sol @@ -101,6 +101,16 @@ contract LibrariesTest is Fixture { assertEq(mockLib.piecewiseLinear(6, xArray1, yArray1), 7); } + /*////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + LIBSTORAGE TESTS + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/ + + function test_CorrectImplementationStorage() public { + ImplementationStorage memory ims = mockLib.implementationStorage(); + + assertEq(ims.implementation, address(0)); + } + /*////////////////////////////////////////////////////////////////////////////////////////////////////////////////// LIBMANAGER TESTS //////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/ diff --git a/yarn.lock b/yarn.lock index 53c96bfd..20ec8d88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,30 +2,6 @@ # yarn lockfile v1 -"@angleprotocol/sdk@3.0.43": - version "3.0.43" - resolved "https://registry.yarnpkg.com/@angleprotocol/sdk/-/sdk-3.0.43.tgz#259960fbade0f97e78d5a9cda91c5d3fdb7bab26" - integrity sha512-sfum690o87uu0x5jRcbu5TRQQHDzhvX12JqFvP6lnL8CJ6kphPUP18Hw+GJpX7RBAkdZ7gGavqJBMYXBy7fr9g== - dependencies: - "@typechain/ethers-v5" "^10.0.0" - "@types/lodash" "^4.14.180" - ethers "^5.6.4" - graphql "^15.7.1" - graphql-request "^3.6.1" - jsbi "^4.3.0" - keccak256 "^1.0.6" - lodash "^4.17.21" - merkletreejs "^0.3.9" - tiny-invariant "^1.1.0" - typechain "^8.0.0" - -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0": version "7.16.7" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz" @@ -38,7 +14,7 @@ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== -"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": +"@babel/highlight@^7.16.7": version "7.16.10" resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz" integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== @@ -47,11718 +23,482 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/runtime@^7.4.4": - version "7.17.2" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz" - integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== - dependencies: - regenerator-runtime "^0.13.4" - -"@ensdomains/address-encoder@^0.1.7": - version "0.1.9" - resolved "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.1.9.tgz" - integrity sha512-E2d2gP4uxJQnDu2Kfg1tHNspefzbLT8Tyjrm5sEuim32UkU2sm5xL4VXtgc2X33fmPEw9+jUMpGs4veMbf+PYg== +"@solidity-parser/parser@^0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.16.0.tgz#1fb418c816ca1fc3a1e94b08bcfe623ec4e1add4" + integrity sha512-ESipEcHyRHg4Np4SqBCfcXwyxxna1DgFVz69bgpLV8vzl/NP1DtcKsJ4dJZXWQhY/Z4J2LeKBiOkOVZn9ct33Q== dependencies: - bech32 "^1.1.3" - blakejs "^1.1.0" - bn.js "^4.11.8" - bs58 "^4.0.1" - crypto-addr-codec "^0.1.7" - nano-base32 "^1.0.1" - ripemd160 "^2.0.2" + antlr4ts "^0.5.0-alpha.4" -"@ensdomains/ens@0.4.5", "@ensdomains/ens@^0.4.4": - version "0.4.5" - resolved "https://registry.npmjs.org/@ensdomains/ens/-/ens-0.4.5.tgz" - integrity sha512-JSvpj1iNMFjK6K+uVl4unqMoa9rf5jopb8cya5UGBWz23Nw8hSNT7efgUx4BTlAPAgpNlEioUfeTyQ6J9ZvTVw== +ajv@^6.12.6: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: - bluebird "^3.5.2" - eth-ens-namehash "^2.0.8" - solc "^0.4.20" - testrpc "0.0.1" - web3-utils "^1.0.0-beta.31" + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" -"@ensdomains/ensjs@^2.0.1": - version "2.1.0" - resolved "https://registry.npmjs.org/@ensdomains/ensjs/-/ensjs-2.1.0.tgz" - integrity sha512-GRbGPT8Z/OJMDuxs75U/jUNEC0tbL0aj7/L/QQznGYKm/tiasp+ndLOaoULy9kKJFC0TBByqfFliEHDgoLhyog== +ajv@^8.0.1: + version "8.10.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz" + integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== dependencies: - "@babel/runtime" "^7.4.4" - "@ensdomains/address-encoder" "^0.1.7" - "@ensdomains/ens" "0.4.5" - "@ensdomains/resolver" "0.2.4" - content-hash "^2.5.2" - eth-ens-namehash "^2.0.8" - ethers "^5.0.13" - js-sha3 "^0.8.0" - -"@ensdomains/resolver@0.2.4", "@ensdomains/resolver@^0.2.4": - version "0.2.4" - resolved "https://registry.npmjs.org/@ensdomains/resolver/-/resolver-0.2.4.tgz" - integrity sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA== + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -"@ethereum-waffle/chai@^3.4.4": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/chai/-/chai-3.4.4.tgz#16c4cc877df31b035d6d92486dfdf983df9138ff" - integrity sha512-/K8czydBtXXkcM9X6q29EqEkc5dN3oYenyH2a9hF7rGAApAJUpH8QBtojxOY/xQ2up5W332jqgxwp0yPiYug1g== +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: - "@ethereum-waffle/provider" "^3.4.4" - ethers "^5.5.2" + color-convert "^1.9.0" -"@ethereum-waffle/compiler@^3.4.4": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/compiler/-/compiler-3.4.4.tgz#d568ee0f6029e68b5c645506079fbf67d0dfcf19" - integrity sha512-RUK3axJ8IkD5xpWjWoJgyHclOeEzDLQFga6gKpeGxiS/zBu+HB0W2FvsrrLalTFIaPw/CGYACRBSIxqiCqwqTQ== +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@resolver-engine/imports" "^0.3.3" - "@resolver-engine/imports-fs" "^0.3.3" - "@typechain/ethers-v5" "^2.0.0" - "@types/mkdirp" "^0.5.2" - "@types/node-fetch" "^2.5.5" - ethers "^5.0.1" - mkdirp "^0.5.1" - node-fetch "^2.6.1" - solc "^0.6.3" - ts-generator "^0.1.1" - typechain "^3.0.0" + color-convert "^2.0.1" -"@ethereum-waffle/ens@^3.4.4": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/ens/-/ens-3.4.4.tgz#db97ea2c9decbb70b9205d53de2ccbd6f3182ba1" - integrity sha512-0m4NdwWxliy3heBYva1Wr4WbJKLnwXizmy5FfSSr5PMbjI7SIGCdCB59U7/ZzY773/hY3bLnzLwvG5mggVjJWg== - dependencies: - "@ensdomains/ens" "^0.4.4" - "@ensdomains/resolver" "^0.2.4" - ethers "^5.5.2" +antlr4@^4.11.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/antlr4/-/antlr4-4.12.0.tgz#e2323fbb057c77068a174914b0533398aeaba56a" + integrity sha512-23iB5IzXJZRZeK9TigzUyrNc9pSmNqAerJRBcNq1ETrmttMWRgaYZzC561IgEO3ygKsDJTYDTozABXa4b/fTQQ== -"@ethereum-waffle/mock-contract@^3.4.4": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/mock-contract/-/mock-contract-3.4.4.tgz#fc6ffa18813546f4950a69f5892d4dd54b2c685a" - integrity sha512-Mp0iB2YNWYGUV+VMl5tjPsaXKbKo8MDH9wSJ702l9EBjdxFf/vBvnMBAC1Fub1lLtmD0JHtp1pq+mWzg/xlLnA== - dependencies: - "@ethersproject/abi" "^5.5.0" - ethers "^5.5.2" +antlr4ts@^0.5.0-alpha.4: + version "0.5.0-alpha.4" + resolved "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz" + integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== -"@ethereum-waffle/provider@^3.4.4": - version "3.4.4" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/provider/-/provider-3.4.4.tgz#398fc1f7eb91cc2df7d011272eacba8af0c7fffb" - integrity sha512-GK8oKJAM8+PKy2nK08yDgl4A80mFuI8zBkE0C9GqTRYQqvuxIyXoLmJ5NZU9lIwyWVv5/KsoA11BgAv2jXE82g== - dependencies: - "@ethereum-waffle/ens" "^3.4.4" - ethers "^5.5.2" - ganache-core "^2.13.2" - patch-package "^6.2.2" - postinstall-postinstall "^2.1.0" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -"@ethereumjs/common@^2.3.0", "@ethereumjs/common@^2.4.0", "@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.1": - version "2.6.2" - resolved "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.2.tgz" - integrity sha512-vDwye5v0SVeuDky4MtKsu+ogkH2oFUV8pBKzH/eNBzT8oI91pKa8WyzDuYuxOQsgNgv5R34LfFDh2aaw3H4HbQ== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.4" +ast-parents@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/ast-parents/-/ast-parents-0.0.1.tgz#508fd0f05d0c48775d9eccda2e174423261e8dd3" + integrity sha512-XHusKxKz3zoYk1ic8Un640joHbFMhbqneyoZfoKnEGtf2ey9Uh/IdpcQplODdO/kENaMIWsD0nJm4+wX3UNLHA== -"@ethereumjs/tx@^3.2.1", "@ethereumjs/tx@^3.3.2": - version "3.5.0" - resolved "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.0.tgz" - integrity sha512-/+ZNbnJhQhXC83Xuvy6I9k4jT5sXiV0tMR9C+AzSSpcCV64+NB8dTE1m3x98RYMqb8+TLYWA+HML4F5lfXTlJw== - dependencies: - "@ethereumjs/common" "^2.6.1" - ethereumjs-util "^7.1.4" +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -"@ethersproject/abi@5.0.0-beta.153": - version "5.0.0-beta.153" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.0-beta.153.tgz#43a37172b33794e4562999f6e2d555b7599a8eee" - integrity sha512-aXweZ1Z7vMNzJdLpR1CZUAIgnwjrZeUSvN9syCwlBaEBUFJmFY+HHnfuTI5vIhVs/mRkfJVrbEyl51JZQqyjAg== - dependencies: - "@ethersproject/address" ">=5.0.0-beta.128" - "@ethersproject/bignumber" ">=5.0.0-beta.130" - "@ethersproject/bytes" ">=5.0.0-beta.129" - "@ethersproject/constants" ">=5.0.0-beta.128" - "@ethersproject/hash" ">=5.0.0-beta.128" - "@ethersproject/keccak256" ">=5.0.0-beta.127" - "@ethersproject/logger" ">=5.0.0-beta.129" - "@ethersproject/properties" ">=5.0.0-beta.131" - "@ethersproject/strings" ">=5.0.0-beta.130" +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -"@ethersproject/abi@5.0.7": - version "5.0.7" - resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.7.tgz" - integrity sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw== +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: - "@ethersproject/address" "^5.0.4" - "@ethersproject/bignumber" "^5.0.7" - "@ethersproject/bytes" "^5.0.4" - "@ethersproject/constants" "^5.0.4" - "@ethersproject/hash" "^5.0.4" - "@ethersproject/keccak256" "^5.0.3" - "@ethersproject/logger" "^5.0.5" - "@ethersproject/properties" "^5.0.3" - "@ethersproject/strings" "^5.0.4" + balanced-match "^1.0.0" -"@ethersproject/abi@5.5.0", "@ethersproject/abi@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.5.0.tgz" - integrity sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w== - dependencies: - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/hash" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/strings" "^5.5.0" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -"@ethersproject/abi@5.6.3", "@ethersproject/abi@^5.6.3": - version "5.6.3" - resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.6.3.tgz" - integrity sha512-CxKTdoZY4zDJLWXG6HzNH6znWK0M79WzzxHegDoecE3+K32pzfHOzuXg2/oGSTecZynFgpkjYXNPOqXVJlqClw== +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: - "@ethersproject/address" "^5.6.1" - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/constants" "^5.6.1" - "@ethersproject/hash" "^5.6.1" - "@ethersproject/keccak256" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.1" + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.9", "@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== +chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" + ansi-styles "^4.1.0" + supports-color "^7.1.0" -"@ethersproject/abstract-provider@5.5.1", "@ethersproject/abstract-provider@^5.5.0": - version "5.5.1" - resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz" - integrity sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg== +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/networks" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - "@ethersproject/web" "^5.5.0" + color-name "1.1.3" -"@ethersproject/abstract-provider@5.6.1", "@ethersproject/abstract-provider@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.6.1.tgz" - integrity sha512-BxlIgogYJtp1FS8Muvj8YfdClk3unZH0vRMVX791Z9INBNT/kuACZ9GzaY1Y4yFq+YSy6/w4gzj3HCRKrK9hsQ== +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/networks" "^5.6.3" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/transactions" "^5.6.2" - "@ethersproject/web" "^5.6.1" + color-name "~1.1.4" -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -"@ethersproject/abstract-signer@5.5.0", "@ethersproject/abstract-signer@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz" - integrity sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA== - dependencies: - "@ethersproject/abstract-provider" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -"@ethersproject/abstract-signer@5.6.2", "@ethersproject/abstract-signer@^5.6.2": - version "5.6.2" - resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.6.2.tgz" - integrity sha512-n1r6lttFBG0t2vNiI3HoWaS/KdOt8xyDjzlP2cuevlWLG6EX0OwcKLyG/Kp/cuwNxdy/ous+R/DEMdTUwWQIjQ== - dependencies: - "@ethersproject/abstract-provider" "^5.6.1" - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== +cosmiconfig@^8.0.0: + version "8.1.3" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.1.3.tgz#0e614a118fcc2d9e5afc2f87d53cd09931015689" + integrity sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw== dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" -"@ethersproject/address@5.5.0", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.5.0.tgz" - integrity sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw== - dependencies: - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/rlp" "^5.5.0" +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -"@ethersproject/address@5.6.1", "@ethersproject/address@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.6.1.tgz" - integrity sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q== +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/keccak256" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/rlp" "^5.6.1" + is-arrayish "^0.2.1" -"@ethersproject/address@5.7.0", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -"@ethersproject/base64@5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.5.0.tgz" - integrity sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA== - dependencies: - "@ethersproject/bytes" "^5.5.0" +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -"@ethersproject/base64@5.6.1", "@ethersproject/base64@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.6.1.tgz" - integrity sha512-qB76rjop6a0RIYYMiB4Eh/8n+Hxu2NIZm8S/Q7kNo5pmZfXhHGHmS4MinUainiBC54SCyRnwzL+KZjj8zbsSsw== - dependencies: - "@ethersproject/bytes" "^5.6.1" +fast-diff@^1.1.2, fast-diff@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.5.0", "@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -"@ethersproject/basex@5.5.0", "@ethersproject/basex@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.5.0.tgz" - integrity sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/properties" "^5.5.0" +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -"@ethersproject/basex@5.6.1", "@ethersproject/basex@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.6.1.tgz" - integrity sha512-a52MkVz4vuBXR06nvflPMotld1FJWSj2QT0985v7P/emPZO00PucFAkbcmq2vpVU7Ts7umKiSI6SppiLykVWsA== +glob@^8.0.3: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== dependencies: - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/properties" "^5.6.0" + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -"@ethersproject/bignumber@5.5.0", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.5.0.tgz" - integrity sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - bn.js "^4.11.9" +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -"@ethersproject/bignumber@5.6.2", "@ethersproject/bignumber@^5.6.2": - version "5.6.2" - resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.6.2.tgz" - integrity sha512-v7+EEUbhGqT3XJ9LMPsKvXYHFc8eHxTowFCG/HgJErmq4XHJ2WR7aeyICg3uTOAQ7Icn0GFHAohXEhxQHq4Ubw== - dependencies: - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - bn.js "^5.2.1" +ignore@^5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" + parent-module "^1.0.0" + resolve-from "^4.0.0" -"@ethersproject/bytes@5.5.0", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.5.0.tgz" - integrity sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog== +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: - "@ethersproject/logger" "^5.5.0" + once "^1.3.0" + wrappy "1" -"@ethersproject/bytes@5.6.1", "@ethersproject/bytes@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.6.1.tgz" - integrity sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g== - dependencies: - "@ethersproject/logger" "^5.6.0" +inherits@2: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -"@ethersproject/constants@5.5.0", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.5.0.tgz" - integrity sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ== - dependencies: - "@ethersproject/bignumber" "^5.5.0" +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -"@ethersproject/constants@5.6.1", "@ethersproject/constants@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.6.1.tgz" - integrity sha512-QSq9WVnZbxXYFftrjSjZDUshp6/eKp6qrtdBtUCm0QxCV5z1fG/w3kdlcsjMCQuQHUnAclKoK7XpXMezhRDOLg== - dependencies: - "@ethersproject/bignumber" "^5.6.2" +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -"@ethersproject/constants@5.7.0", "@ethersproject/constants@>=5.0.0-beta.128", "@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: - "@ethersproject/bignumber" "^5.7.0" + argparse "^2.0.1" -"@ethersproject/contracts@5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.5.0.tgz" - integrity sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg== - dependencies: - "@ethersproject/abi" "^5.5.0" - "@ethersproject/abstract-provider" "^5.5.0" - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" +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== -"@ethersproject/contracts@5.6.2": - version "5.6.2" - resolved "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.6.2.tgz" - integrity sha512-hguUA57BIKi6WY0kHvZp6PwPlWF87MCeB4B7Z7AbUpTxfFXFdn/3b0GmjZPagIHS+3yhcBJDnuEfU4Xz+Ks/8g== - dependencies: - "@ethersproject/abi" "^5.6.3" - "@ethersproject/abstract-provider" "^5.6.1" - "@ethersproject/abstract-signer" "^5.6.2" - "@ethersproject/address" "^5.6.1" - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/constants" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/transactions" "^5.6.2" +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -"@ethersproject/contracts@5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -"@ethersproject/hash@5.5.0", "@ethersproject/hash@^5.0.4", "@ethersproject/hash@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.5.0.tgz" - integrity sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg== - dependencies: - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/strings" "^5.5.0" +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== -"@ethersproject/hash@5.6.1", "@ethersproject/hash@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.6.1.tgz" - integrity sha512-L1xAHurbaxG8VVul4ankNX5HgQ8PNCTrnVXEiFnE9xoRnaUcgfD12tZINtDinSllxPLCtGwguQxJ5E6keE84pA== - dependencies: - "@ethersproject/abstract-signer" "^5.6.2" - "@ethersproject/address" "^5.6.1" - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/keccak256" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.1" +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= -"@ethersproject/hash@5.7.0", "@ethersproject/hash@>=5.0.0-beta.128", "@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -"@ethersproject/hdnode@5.5.0", "@ethersproject/hdnode@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.5.0.tgz" - integrity sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q== - dependencies: - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/basex" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/pbkdf2" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/sha2" "^5.5.0" - "@ethersproject/signing-key" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - "@ethersproject/wordlists" "^5.5.0" - -"@ethersproject/hdnode@5.6.2", "@ethersproject/hdnode@^5.6.2": - version "5.6.2" - resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.6.2.tgz" - integrity sha512-tERxW8Ccf9CxW2db3WsN01Qao3wFeRsfYY9TCuhmG0xNpl2IO8wgXU3HtWIZ49gUWPggRy4Yg5axU0ACaEKf1Q== - dependencies: - "@ethersproject/abstract-signer" "^5.6.2" - "@ethersproject/basex" "^5.6.1" - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/pbkdf2" "^5.6.1" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/sha2" "^5.6.1" - "@ethersproject/signing-key" "^5.6.2" - "@ethersproject/strings" "^5.6.1" - "@ethersproject/transactions" "^5.6.2" - "@ethersproject/wordlists" "^5.6.1" - -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/json-wallets@5.5.0", "@ethersproject/json-wallets@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz" - integrity sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ== - dependencies: - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/address" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/hdnode" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/pbkdf2" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/random" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/json-wallets@5.6.1", "@ethersproject/json-wallets@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.6.1.tgz" - integrity sha512-KfyJ6Zwz3kGeX25nLihPwZYlDqamO6pfGKNnVMWWfEVVp42lTfCZVXXy5Ie8IZTN0HKwAngpIPi7gk4IJzgmqQ== - dependencies: - "@ethersproject/abstract-signer" "^5.6.2" - "@ethersproject/address" "^5.6.1" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/hdnode" "^5.6.2" - "@ethersproject/keccak256" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/pbkdf2" "^5.6.1" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/random" "^5.6.1" - "@ethersproject/strings" "^5.6.1" - "@ethersproject/transactions" "^5.6.2" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.5.0", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.5.0.tgz" - integrity sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg== - dependencies: - "@ethersproject/bytes" "^5.5.0" - js-sha3 "0.8.0" - -"@ethersproject/keccak256@5.6.1", "@ethersproject/keccak256@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.6.1.tgz" - integrity sha512-bB7DQHCTRDooZZdL3lk9wpL0+XuG3XLGHLh3cePnybsO3V0rdCAOQGpn/0R3aODmnTOOkCATJiD2hnL+5bwthA== - dependencies: - "@ethersproject/bytes" "^5.6.1" - js-sha3 "0.8.0" - -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@5.5.0", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.5.0.tgz" - integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== - -"@ethersproject/logger@5.6.0", "@ethersproject/logger@^5.6.0": - version "5.6.0" - resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.6.0.tgz" - integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg== - -"@ethersproject/logger@5.7.0", "@ethersproject/logger@>=5.0.0-beta.129", "@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - -"@ethersproject/networks@5.5.2", "@ethersproject/networks@^5.5.0": - version "5.5.2" - resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.5.2.tgz" - integrity sha512-NEqPxbGBfy6O3x4ZTISb90SjEDkWYDUbEeIFhJly0F7sZjoQMnj5KYzMSkMkLKZ+1fGpx00EDpHQCy6PrDupkQ== - dependencies: - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/networks@5.6.3", "@ethersproject/networks@^5.6.3": - version "5.6.3" - resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.6.3.tgz" - integrity sha512-QZxRH7cA5Ut9TbXwZFiCyuPchdWi87ZtVNHWZd0R6YFgYtes2jQ3+bsslJ0WdyDe0i6QumqtoYqvY3rrQFRZOQ== - dependencies: - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/pbkdf2@5.5.0", "@ethersproject/pbkdf2@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz" - integrity sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/sha2" "^5.5.0" - -"@ethersproject/pbkdf2@5.6.1", "@ethersproject/pbkdf2@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.6.1.tgz" - integrity sha512-k4gRQ+D93zDRPNUfmduNKq065uadC2YjMP/CqwwX5qG6R05f47boq6pLZtV/RnC4NZAYOPH1Cyo54q0c9sshRQ== - dependencies: - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/sha2" "^5.6.1" - -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - -"@ethersproject/properties@5.5.0", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.5.0.tgz" - integrity sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA== - dependencies: - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/properties@5.6.0", "@ethersproject/properties@^5.6.0": - version "5.6.0" - resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.6.0.tgz" - integrity sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg== - dependencies: - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/properties@5.7.0", "@ethersproject/properties@>=5.0.0-beta.131", "@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/providers@5.5.3": - version "5.5.3" - resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.5.3.tgz" - integrity sha512-ZHXxXXXWHuwCQKrgdpIkbzMNJMvs+9YWemanwp1fA7XZEv7QlilseysPvQe0D7Q7DlkJX/w/bGA1MdgK2TbGvA== - dependencies: - "@ethersproject/abstract-provider" "^5.5.0" - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/address" "^5.5.0" - "@ethersproject/basex" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/hash" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/networks" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/random" "^5.5.0" - "@ethersproject/rlp" "^5.5.0" - "@ethersproject/sha2" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - "@ethersproject/web" "^5.5.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/providers@5.6.8": - version "5.6.8" - resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.6.8.tgz" - integrity sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w== - dependencies: - "@ethersproject/abstract-provider" "^5.6.1" - "@ethersproject/abstract-signer" "^5.6.2" - "@ethersproject/address" "^5.6.1" - "@ethersproject/base64" "^5.6.1" - "@ethersproject/basex" "^5.6.1" - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/constants" "^5.6.1" - "@ethersproject/hash" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/networks" "^5.6.3" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/random" "^5.6.1" - "@ethersproject/rlp" "^5.6.1" - "@ethersproject/sha2" "^5.6.1" - "@ethersproject/strings" "^5.6.1" - "@ethersproject/transactions" "^5.6.2" - "@ethersproject/web" "^5.6.1" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/providers@5.7.1", "@ethersproject/providers@^5.7.1": - version "5.7.1" - resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.1.tgz" - integrity sha512-vZveG/DLyo+wk4Ga1yx6jSEHrLPgmTt+dFv0dv8URpVCRf0jVhalps1jq/emN/oXnMRsC7cQgAF32DcXLL7BPQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/providers@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.5.1", "@ethersproject/random@^5.5.0": - version "5.5.1" - resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.5.1.tgz" - integrity sha512-YaU2dQ7DuhL5Au7KbcQLHxcRHfgyNgvFV4sQOo0HrtW3Zkrc9ctWNz8wXQ4uCSfSDsqX2vcjhroxU5RQRV0nqA== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/random@5.6.1", "@ethersproject/random@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.6.1.tgz" - integrity sha512-/wtPNHwbmng+5yi3fkipA8YBT59DdkGRoC2vWk09Dci/q5DlgnMkhIycjHlavrvrjJBkFjO/ueLyT+aUDfc4lA== - dependencies: - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@5.5.0", "@ethersproject/rlp@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.5.0.tgz" - integrity sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/rlp@5.6.1", "@ethersproject/rlp@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.6.1.tgz" - integrity sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ== - dependencies: - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/sha2@5.5.0", "@ethersproject/sha2@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.5.0.tgz" - integrity sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - hash.js "1.1.7" - -"@ethersproject/sha2@5.6.1", "@ethersproject/sha2@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.6.1.tgz" - integrity sha512-5K2GyqcW7G4Yo3uenHegbXRPDgARpWUiXc6RiF7b6i/HXUoWlb7uCARh7BAHg7/qT/Q5ydofNwiZcim9qpjB6g== - dependencies: - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - hash.js "1.1.7" - -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz" - integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.5.0", "@ethersproject/signing-key@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.5.0.tgz" - integrity sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - bn.js "^4.11.9" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.6.2", "@ethersproject/signing-key@^5.6.2": - version "5.6.2" - resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.6.2.tgz" - integrity sha512-jVbu0RuP7EFpw82vHcL+GP35+KaNruVAZM90GxgQnGqB6crhBqW/ozBfFvdeImtmb4qPko0uxXjn8l9jpn0cwQ== - dependencies: - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.5.0.tgz" - integrity sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw== - dependencies: - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/sha2" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - -"@ethersproject/solidity@5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.6.1.tgz" - integrity sha512-KWqVLkUUoLBfL1iwdzUVlkNqAUIFMpbbeH0rgCfKmJp0vFtY4AsaN91gHKo9ZZLkC4UOm3cI3BmMV4N53BOq4g== - dependencies: - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/keccak256" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/sha2" "^5.6.1" - "@ethersproject/strings" "^5.6.1" - -"@ethersproject/solidity@5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz" - integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/strings@5.5.0", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.5.0.tgz" - integrity sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/strings@5.6.1", "@ethersproject/strings@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.6.1.tgz" - integrity sha512-2X1Lgk6Jyfg26MUnsHiT456U9ijxKUybz8IM1Vih+NJxYtXhmvKBcHOmvGqpFSVJ0nQ4ZCoIViR8XlRw1v/+Cw== - dependencies: - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/constants" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/strings@5.7.0", "@ethersproject/strings@>=5.0.0-beta.130", "@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@5.5.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.5.0.tgz" - integrity sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA== - dependencies: - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/rlp" "^5.5.0" - "@ethersproject/signing-key" "^5.5.0" - -"@ethersproject/transactions@5.6.2", "@ethersproject/transactions@^5.6.2": - version "5.6.2" - resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.6.2.tgz" - integrity sha512-BuV63IRPHmJvthNkkt9G70Ullx6AcM+SDc+a8Aw/8Yew6YwT51TcBKEp1P4oOQ/bP25I18JJr7rcFRgFtU9B2Q== - dependencies: - "@ethersproject/address" "^5.6.1" - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/constants" "^5.6.1" - "@ethersproject/keccak256" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/rlp" "^5.6.1" - "@ethersproject/signing-key" "^5.6.2" - -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/units@5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/units/-/units-5.5.0.tgz" - integrity sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag== - dependencies: - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/constants" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - -"@ethersproject/units@5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/units/-/units-5.6.1.tgz" - integrity sha512-rEfSEvMQ7obcx3KWD5EWWx77gqv54K6BKiZzKxkQJqtpriVsICrktIQmKl8ReNToPeIYPnFHpXvKpi068YFZXw== - dependencies: - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/constants" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/units@5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz" - integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/wallet@5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.5.0.tgz" - integrity sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q== - dependencies: - "@ethersproject/abstract-provider" "^5.5.0" - "@ethersproject/abstract-signer" "^5.5.0" - "@ethersproject/address" "^5.5.0" - "@ethersproject/bignumber" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/hash" "^5.5.0" - "@ethersproject/hdnode" "^5.5.0" - "@ethersproject/json-wallets" "^5.5.0" - "@ethersproject/keccak256" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/random" "^5.5.0" - "@ethersproject/signing-key" "^5.5.0" - "@ethersproject/transactions" "^5.5.0" - "@ethersproject/wordlists" "^5.5.0" - -"@ethersproject/wallet@5.6.2": - version "5.6.2" - resolved "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.6.2.tgz" - integrity sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg== - dependencies: - "@ethersproject/abstract-provider" "^5.6.1" - "@ethersproject/abstract-signer" "^5.6.2" - "@ethersproject/address" "^5.6.1" - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/hash" "^5.6.1" - "@ethersproject/hdnode" "^5.6.2" - "@ethersproject/json-wallets" "^5.6.1" - "@ethersproject/keccak256" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/random" "^5.6.1" - "@ethersproject/signing-key" "^5.6.2" - "@ethersproject/transactions" "^5.6.2" - "@ethersproject/wordlists" "^5.6.1" - -"@ethersproject/wallet@5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/web@5.5.1", "@ethersproject/web@^5.5.0": - version "5.5.1" - resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.5.1.tgz" - integrity sha512-olvLvc1CB12sREc1ROPSHTdFCdvMh0J5GSJYiQg2D0hdD4QmJDy8QYDb1CvoqD/bF1c++aeKv2sR5uduuG9dQg== - dependencies: - "@ethersproject/base64" "^5.5.0" - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - -"@ethersproject/web@5.6.1", "@ethersproject/web@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.6.1.tgz" - integrity sha512-/vSyzaQlNXkO1WV+RneYKqCJwualcUdx/Z3gseVovZP0wIlOFcCE1hkRhKBH8ImKbGQbMl9EAAyJFrJu7V0aqA== - dependencies: - "@ethersproject/base64" "^5.6.1" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.1" - -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/wordlists@5.5.0", "@ethersproject/wordlists@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.5.0.tgz" - integrity sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q== - dependencies: - "@ethersproject/bytes" "^5.5.0" - "@ethersproject/hash" "^5.5.0" - "@ethersproject/logger" "^5.5.0" - "@ethersproject/properties" "^5.5.0" - "@ethersproject/strings" "^5.5.0" - -"@ethersproject/wordlists@5.6.1", "@ethersproject/wordlists@^5.6.1": - version "5.6.1" - resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.6.1.tgz" - integrity sha512-wiPRgBpNbNwCQFoCr8bcWO8o5I810cqO6mkdtKfLKFlLxeCWcnzDi4Alu8iyNzlhYuS9npCwivMbRWF19dyblw== - dependencies: - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/hash" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.1" - -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@openzeppelin/contract-loader@^0.6.2": - version "0.6.3" - resolved "https://registry.npmjs.org/@openzeppelin/contract-loader/-/contract-loader-0.6.3.tgz" - integrity sha512-cOFIjBjwbGgZhDZsitNgJl0Ye1rd5yu/Yx5LMgeq3u0ZYzldm4uObzHDFq4gjDdoypvyORjjJa3BlFA7eAnVIg== - dependencies: - find-up "^4.1.0" - fs-extra "^8.1.0" - -"@openzeppelin/contracts-upgradeable@4.7.3": - version "4.7.3" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-4.7.3.tgz#f1d606e2827d409053f3e908ba4eb8adb1dd6995" - integrity sha512-+wuegAMaLcZnLCJIvrVUDzA9z/Wp93f0Dla/4jJvIhijRrPabjQbZe6fWiECLaJyfn5ci9fqf9vTw3xpQOad2A== - -"@openzeppelin/contracts@^4.7.3": - version "4.7.3" - resolved "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.7.3.tgz" - integrity sha512-dGRS0agJzu8ybo44pCIf3xBaPQN/65AIXNgK8+4gzKd5kbvlqyxryUYVLJv7fK98Seyd2hDZzVEHSWAh0Bt1Yw== - -"@openzeppelin/test-helpers@0.5.12": - version "0.5.12" - resolved "https://registry.npmjs.org/@openzeppelin/test-helpers/-/test-helpers-0.5.12.tgz" - integrity sha512-ZPhLmMb8PLGImYLen7YsPnni22i1bXHzrSiY7XZ7cgwuKvk4MRBunzfZ4xGTn/p+1V2/a1XHsjMRDKn7AMVb3Q== - dependencies: - "@openzeppelin/contract-loader" "^0.6.2" - "@truffle/contract" "^4.0.35" - ansi-colors "^3.2.3" - chai "^4.2.0" - chai-bn "^0.2.1" - ethjs-abi "^0.2.1" - lodash.flatten "^4.4.0" - semver "^5.6.0" - web3 "^1.2.5" - web3-utils "^1.2.5" - -"@openzeppelin/upgrades-core@^1.20.0": - version "1.20.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/upgrades-core/-/upgrades-core-1.20.0.tgz#0b9a7753dfe0b86370e113b48a1d241e92e57f5f" - integrity sha512-SYHguWgiVB5vqvIr8JrB+Dr6+Nbn1MnC+8NJJu42B7GwINM8u3IISAceGFD25g/jfWOAMxZwFqtkeoUCwITY0w== - dependencies: - cbor "^8.0.0" - chalk "^4.1.0" - compare-versions "^5.0.0" - debug "^4.1.1" - ethereumjs-util "^7.0.3" - proper-lockfile "^4.1.1" - solidity-ast "^0.4.15" - -"@resolver-engine/core@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@resolver-engine/core/-/core-0.3.3.tgz#590f77d85d45bc7ecc4e06c654f41345db6ca967" - integrity sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ== - dependencies: - debug "^3.1.0" - is-url "^1.2.4" - request "^2.85.0" - -"@resolver-engine/fs@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@resolver-engine/fs/-/fs-0.3.3.tgz#fbf83fa0c4f60154a82c817d2fe3f3b0c049a973" - integrity sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ== - dependencies: - "@resolver-engine/core" "^0.3.3" - debug "^3.1.0" - -"@resolver-engine/imports-fs@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz#4085db4b8d3c03feb7a425fbfcf5325c0d1e6c1b" - integrity sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA== - dependencies: - "@resolver-engine/fs" "^0.3.3" - "@resolver-engine/imports" "^0.3.3" - debug "^3.1.0" - -"@resolver-engine/imports@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@resolver-engine/imports/-/imports-0.3.3.tgz#badfb513bb3ff3c1ee9fd56073e3144245588bcc" - integrity sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q== - dependencies: - "@resolver-engine/core" "^0.3.3" - debug "^3.1.0" - hosted-git-info "^2.6.0" - path-browserify "^1.0.0" - url "^0.11.0" - -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - -"@solidity-parser/parser@^0.13.2": - version "0.13.2" - resolved "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.13.2.tgz" - integrity sha512-RwHnpRnfrnD2MSPveYoPh8nhofEvX7fgjHk1Oq+NNvCcLx4r1js91CO9o+F/F3fBzOCyvm8kKRTriFICX/odWw== - dependencies: - antlr4ts "^0.5.0-alpha.4" - -"@solidity-parser/parser@^0.14.1": - version "0.14.3" - resolved "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.3.tgz" - integrity sha512-29g2SZ29HtsqA58pLCtopI1P/cPy5/UAzlcAXO6T/CNJimG6yA8kx4NaseMyJULiC+TEs02Y9/yeHzClqoA0hw== - dependencies: - antlr4ts "^0.5.0-alpha.4" - -"@solidity-parser/parser@^0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.16.0.tgz#1fb418c816ca1fc3a1e94b08bcfe623ec4e1add4" - integrity sha512-ESipEcHyRHg4Np4SqBCfcXwyxxna1DgFVz69bgpLV8vzl/NP1DtcKsJ4dJZXWQhY/Z4J2LeKBiOkOVZn9ct33Q== - dependencies: - antlr4ts "^0.5.0-alpha.4" - -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== - dependencies: - defer-to-connect "^1.0.1" - -"@truffle/abi-utils@^0.2.9": - version "0.2.9" - resolved "https://registry.npmjs.org/@truffle/abi-utils/-/abi-utils-0.2.9.tgz" - integrity sha512-Nv4MGsA2vdI7G34nI0DfR/eSd5pbAUu+5EafYNqzgrS46y0LWhbIrSZ1NcM7cbhIrkpUn6OfNk49AjNM67TkSg== - dependencies: - change-case "3.0.2" - faker "^5.3.1" - fast-check "^2.12.1" - -"@truffle/blockchain-utils@^0.1.0": - version "0.1.0" - resolved "https://registry.npmjs.org/@truffle/blockchain-utils/-/blockchain-utils-0.1.0.tgz" - integrity sha512-9mzYXPQkjOc23rHQM1i630i3ackITWP1cxf3PvBObaAnGqwPCQuqtmZtNDPdvN+YpOLpBGpZIdYolI91xLdJNQ== - -"@truffle/codec@^0.11.27": - version "0.11.27" - resolved "https://registry.npmjs.org/@truffle/codec/-/codec-0.11.27.tgz" - integrity sha512-zPlbrGSZ975jscoJ4NhQpaJGwJXkasnpSoUAEjzppr6FCLKtutxssy6yfz4EUHaQDTg1SqxlVBfBhqYcrCyjvw== - dependencies: - "@truffle/abi-utils" "^0.2.9" - "@truffle/compile-common" "^0.7.28" - big.js "^5.2.2" - bn.js "^5.1.3" - cbor "^5.1.0" - debug "^4.3.1" - lodash.clonedeep "^4.5.0" - lodash.escaperegexp "^4.1.2" - lodash.partition "^4.6.0" - lodash.sum "^4.0.2" - semver "^7.3.4" - utf8 "^3.0.0" - web3-utils "1.5.3" - -"@truffle/compile-common@^0.7.28": - version "0.7.28" - resolved "https://registry.npmjs.org/@truffle/compile-common/-/compile-common-0.7.28.tgz" - integrity sha512-mZCEQ6fkOqbKYCJDT82q0vZCxOEsKRQ0zrPfKuSJEb0gF9DXIQcnMkyJpBSWzmyvien9/A7/jPiGQoC7PmNEUg== - dependencies: - "@truffle/error" "^0.1.0" - colors "1.4.0" - -"@truffle/contract-schema@^3.4.5": - version "3.4.5" - resolved "https://registry.npmjs.org/@truffle/contract-schema/-/contract-schema-3.4.5.tgz" - integrity sha512-heaGV9QWqef259HaF+0is/tsmhlZIbUSWhqvj0iwKmxoN92fghKijWwdVYhPIbsmGlrQuwPTZHSCnaOlO+gsFg== - dependencies: - ajv "^6.10.0" - debug "^4.3.1" - -"@truffle/contract@^4.0.35": - version "4.4.9" - resolved "https://registry.npmjs.org/@truffle/contract/-/contract-4.4.9.tgz" - integrity sha512-LSIxnpFDr824wUp4tiw2UHmDPr8io5UnzjlZX/QKuNIq+BB+JPRmkzItjwtvWzzIG3QOAGiqjtIgp1U6Mab/bw== - dependencies: - "@ensdomains/ensjs" "^2.0.1" - "@truffle/blockchain-utils" "^0.1.0" - "@truffle/contract-schema" "^3.4.5" - "@truffle/debug-utils" "^6.0.9" - "@truffle/error" "^0.1.0" - "@truffle/interface-adapter" "^0.5.11" - bignumber.js "^7.2.1" - debug "^4.3.1" - ethers "^4.0.32" - web3 "1.5.3" - web3-core-helpers "1.5.3" - web3-core-promievent "1.5.3" - web3-eth-abi "1.5.3" - web3-utils "1.5.3" - -"@truffle/debug-utils@^6.0.9": - version "6.0.9" - resolved "https://registry.npmjs.org/@truffle/debug-utils/-/debug-utils-6.0.9.tgz" - integrity sha512-CVKVsbEWE0TzmTdGcxEeQvNhTKxkojIRox3LWh2Z8ZARtPiWwYl/lmPqfugh1665xmc2NVLI9qyP4ygVFPkvIQ== - dependencies: - "@truffle/codec" "^0.11.27" - "@trufflesuite/chromafi" "^3.0.0" - bn.js "^5.1.3" - chalk "^2.4.2" - debug "^4.3.1" - highlightjs-solidity "^2.0.4" - -"@truffle/error@^0.1.0": - version "0.1.0" - resolved "https://registry.npmjs.org/@truffle/error/-/error-0.1.0.tgz" - integrity sha512-RbUfp5VreNhsa2Q4YbBjz18rOQI909pG32bghl1hulO7IpvcqTS+C3Ge5cNbiWQ1WGzy1wIeKLW0tmQtHFB7qg== - -"@truffle/interface-adapter@^0.5.11": - version "0.5.11" - resolved "https://registry.npmjs.org/@truffle/interface-adapter/-/interface-adapter-0.5.11.tgz" - integrity sha512-HXLm+r1KdT8nHzJht1iK6EnHBKIjSYHdDfebBMCqmRCsMoUXvUJ0KsIxvDG758MafB12pjx5gsNn4XzzfksSBQ== - dependencies: - bn.js "^5.1.3" - ethers "^4.0.32" - web3 "1.5.3" - -"@trufflesuite/chromafi@^3.0.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@trufflesuite/chromafi/-/chromafi-3.0.0.tgz" - integrity sha512-oqWcOqn8nT1bwlPPfidfzS55vqcIDdpfzo3HbU9EnUmcSTX+I8z0UyUFI3tZQjByVJulbzxHxUGS3ZJPwK/GPQ== - dependencies: - camelcase "^4.1.0" - chalk "^2.3.2" - cheerio "^1.0.0-rc.2" - detect-indent "^5.0.0" - highlight.js "^10.4.1" - lodash.merge "^4.6.2" - strip-ansi "^4.0.0" - strip-indent "^2.0.0" - -"@tsconfig/node10@^1.0.7": - version "1.0.8" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz" - integrity sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== - -"@tsconfig/node12@^1.0.7": - version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz" - integrity sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== - -"@tsconfig/node14@^1.0.0": - version "1.0.1" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz" - integrity sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== - -"@tsconfig/node16@^1.0.1": - version "1.0.2" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz" - integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== - -"@typechain/ethers-v5@^10.0.0": - version "10.0.0" - resolved "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.0.0.tgz" - integrity sha512-Kot7fwAqnH96ZbI8xrRgj5Kpv9yCEdjo7mxRqrH7bYpEgijT5MmuOo8IVsdhOu7Uog4ONg7k/d5UdbAtTKUgsA== - dependencies: - lodash "^4.17.15" - ts-essentials "^7.0.1" - -"@typechain/ethers-v5@^10.1.0": - version "10.1.0" - resolved "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.1.0.tgz" - integrity sha512-3LIb+eUpV3mNCrjUKT5oqp8PBsZYSnVrkfk6pY/ZM0boRs2mKxjFZ7bktx42vfDye8PPz3NxtW4DL5NsNsFqlg== - dependencies: - lodash "^4.17.15" - ts-essentials "^7.0.1" - -"@typechain/ethers-v5@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz#cd3ca1590240d587ca301f4c029b67bfccd08810" - integrity sha512-0xdCkyGOzdqh4h5JSf+zoWx85IusEjDcPIwNEHP8mrWSnCae4rvrqB+/gtpdNfX7zjlFlZiMeePn2r63EI3Lrw== - dependencies: - ethers "^5.0.2" - -"@types/bn.js@^4.11.3", "@types/bn.js@^4.11.5": - version "4.11.6" - resolved "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz" - integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== - dependencies: - "@types/node" "*" - -"@types/bn.js@^5.1.0": - version "5.1.0" - resolved "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.0.tgz" - integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== - dependencies: - "@types/node" "*" - -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/json-schema@^7.0.7": - version "7.0.9" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/lodash@^4.14.180": - version "4.14.181" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.181.tgz" - integrity sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag== - -"@types/minimatch@*": - version "5.1.2" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== - -"@types/mkdirp@^0.5.2": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.5.2.tgz#503aacfe5cc2703d5484326b1b27efa67a339c1f" - integrity sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg== - dependencies: - "@types/node" "*" - -"@types/mocha@^9.1.1": - version "9.1.1" - resolved "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.1.tgz" - integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== - -"@types/node-fetch@^2.5.5": - version "2.6.3" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.3.tgz#175d977f5e24d93ad0f57602693c435c57ad7e80" - integrity sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*": - version "17.0.21" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz" - integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== - -"@types/node@^12.12.6": - version "12.20.46" - resolved "https://registry.npmjs.org/@types/node/-/node-12.20.46.tgz" - integrity sha512-cPjLXj8d6anFPzFvOPxS3fvly3Shm5nTfl6g8X5smexixbuGUf7hfr21J5tX9JW+UPStp/5P5R8qrKL5IyVJ+A== - -"@types/pbkdf2@^3.0.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.0.tgz" - integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== - dependencies: - "@types/node" "*" - -"@types/prettier@^2.1.1": - version "2.4.4" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz" - integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA== - -"@types/resolve@^0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" - integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== - dependencies: - "@types/node" "*" - -"@types/secp256k1@^4.0.1": - version "4.0.3" - resolved "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.3.tgz" - integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^17.0.12": - version "17.0.12" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.12.tgz" - integrity sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@4.28.4": - version "4.28.4" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.4.tgz" - integrity sha512-s1oY4RmYDlWMlcV0kKPBaADn46JirZzvvH7c2CtAqxCY96S538JRBAzt83RrfkDheV/+G/vWNK0zek+8TB3Gmw== - dependencies: - "@typescript-eslint/experimental-utils" "4.28.4" - "@typescript-eslint/scope-manager" "4.28.4" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@4.28.4": - version "4.28.4" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.4.tgz" - integrity sha512-OglKWOQRWTCoqMSy6pm/kpinEIgdcXYceIcH3EKWUl4S8xhFtN34GQRaAvTIZB9DD94rW7d/U7tUg3SYeDFNHA== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.28.4" - "@typescript-eslint/types" "4.28.4" - "@typescript-eslint/typescript-estree" "4.28.4" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/parser@4.28.4": - version "4.28.4" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.4.tgz" - integrity sha512-4i0jq3C6n+og7/uCHiE6q5ssw87zVdpUj1k6VlVYMonE3ILdFApEzTWgppSRG4kVNB/5jxnH+gTeKLMNfUelQA== - dependencies: - "@typescript-eslint/scope-manager" "4.28.4" - "@typescript-eslint/types" "4.28.4" - "@typescript-eslint/typescript-estree" "4.28.4" - debug "^4.3.1" - -"@typescript-eslint/scope-manager@4.28.4": - version "4.28.4" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.4.tgz" - integrity sha512-ZJBNs4usViOmlyFMt9X9l+X0WAFcDH7EdSArGqpldXu7aeZxDAuAzHiMAeI+JpSefY2INHrXeqnha39FVqXb8w== - dependencies: - "@typescript-eslint/types" "4.28.4" - "@typescript-eslint/visitor-keys" "4.28.4" - -"@typescript-eslint/types@4.28.4": - version "4.28.4" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.4.tgz" - integrity sha512-3eap4QWxGqkYuEmVebUGULMskR6Cuoc/Wii0oSOddleP4EGx1tjLnZQ0ZP33YRoMDCs5O3j56RBV4g14T4jvww== - -"@typescript-eslint/typescript-estree@4.28.4": - version "4.28.4" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.4.tgz" - integrity sha512-z7d8HK8XvCRyN2SNp+OXC2iZaF+O2BTquGhEYLKLx5k6p0r05ureUtgEfo5f6anLkhCxdHtCf6rPM1p4efHYDQ== - dependencies: - "@typescript-eslint/types" "4.28.4" - "@typescript-eslint/visitor-keys" "4.28.4" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@4.28.4": - version "4.28.4" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.4.tgz" - integrity sha512-NIAXAdbz1XdOuzqkJHjNKXKj8QQ4cv5cxR/g0uQhCYf/6//XrmfpaYsM7PnBcNbfvTDLUkqQ5TPNm1sozDdTWg== - dependencies: - "@typescript-eslint/types" "4.28.4" - eslint-visitor-keys "^2.0.0" - -"@ungap/promise-all-settled@1.1.2": - version "1.1.2" - resolved "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz" - integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== - -"@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abbrev@1.0.x: - version "1.0.9" - resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz" - integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q== - -abstract-leveldown@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-3.0.0.tgz#5cb89f958a44f526779d740d1440e743e0c30a57" - integrity sha512-KUWx9UWGQD12zsmLNj64/pndaz4iJh/Pj7nopgkfDG6RlCcbMZvT6+9l7dchK4idog2Is8VdC/PvNbFuFmalIQ== - dependencies: - xtend "~4.0.0" - -abstract-leveldown@^2.4.1, abstract-leveldown@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" - integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w== - dependencies: - xtend "~4.0.0" - -abstract-leveldown@^5.0.0, abstract-leveldown@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-5.0.0.tgz#f7128e1f86ccabf7d2893077ce5d06d798e386c6" - integrity sha512-5mU5P1gXtsMIXg65/rsYGsi93+MlogXZ9FA8JnwKurHQg64bfXwGYVdVdijNTVNOlAsuIiOwHdvFFD5JqCJQ7A== - dependencies: - xtend "~4.0.0" - -abstract-leveldown@~2.6.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" - integrity sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA== - dependencies: - xtend "~4.0.0" - -accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -address@^1.0.1: - version "1.2.1" - resolved "https://registry.npmjs.org/address/-/address-1.2.1.tgz" - integrity sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA== - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" - integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= - -aes-js@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" - integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== - -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.6: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.10.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz" - integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz" - integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== - -ansi-colors@3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz" - integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== - -ansi-colors@4.1.1, ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-colors@^3.2.3: - version "3.2.4" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -antlr4@^4.11.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/antlr4/-/antlr4-4.12.0.tgz#e2323fbb057c77068a174914b0533398aeaba56a" - integrity sha512-23iB5IzXJZRZeK9TigzUyrNc9pSmNqAerJRBcNq1ETrmttMWRgaYZzC561IgEO3ygKsDJTYDTozABXa4b/fTQQ== - -antlr4ts@^0.5.0-alpha.4: - version "0.5.0-alpha.4" - resolved "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz" - integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== - -anymatch@~3.1.1, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - -array-back@^1.0.3, array-back@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b" - integrity sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw== - dependencies: - typical "^2.6.0" - -array-back@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-2.0.0.tgz#6877471d51ecc9c9bfa6136fb6c7d5fe69748022" - integrity sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw== - dependencies: - typical "^2.6.1" - -array-back@^3.0.1, array-back@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz" - integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== - -array-back@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz" - integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== - -array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-includes@^3.1.3: - version "3.1.4" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz" - integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - -array.prototype.flat@^1.2.4: - version "1.2.5" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz" - integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - -array.prototype.reduce@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz#6b20b0daa9d9734dd6bc7ea66b5bbce395471eac" - integrity sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - -ast-parents@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/ast-parents/-/ast-parents-0.0.1.tgz#508fd0f05d0c48775d9eccda2e174423261e8dd3" - integrity sha512-XHusKxKz3zoYk1ic8Un640joHbFMhbqneyoZfoKnEGtf2ey9Uh/IdpcQplODdO/kENaMIWsD0nJm4+wX3UNLHA== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-eventemitter@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" - integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== - dependencies: - async "^2.4.0" - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@1.x, async@^1.4.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== - -async@2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" - integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== - dependencies: - lodash "^4.17.11" - -async@^2.0.1, async@^2.1.2, async@^2.5.0, async@^2.6.1: - 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@^2.4.0: - version "2.6.3" - resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g== - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-core@^6.0.14, babel-core@^6.26.0: - version "6.26.3" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" - integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== - dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.1" - debug "^2.6.9" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.8" - slash "^1.0.0" - source-map "^0.5.7" - -babel-generator@^6.26.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" - integrity sha512-gCtfYORSG1fUMX4kKraymq607FWgMWg+j42IFPc18kFQEsmtaibP4UrqsXt8FlEJle25HUd4tsoDR7H2wDhe9Q== - dependencies: - babel-helper-explode-assignable-expression "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-call-delegate@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" - integrity sha512-RL8n2NiEj+kKztlrVJM9JT1cXzzAdvWFh76xh/H1I4nKwunzE4INBXn8ieCZ+wh4zWszZk7NBS1s/8HR5jDkzQ== - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-define-map@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" - integrity sha512-bHkmjcC9lM1kmZcVpA5t2om2nzT/xiZpo6TJq7UlZ3wqKfzia4veeXbIhKvJXAMzhhEBd3cR1IElL5AenWEUpA== - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-explode-assignable-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" - integrity sha512-qe5csbhbvq6ccry9G7tkXbzNtcDiH4r51rrPUbwwoTzZ18AqxWYRZT6AOmxrpxKnQBW0pYlBI/8vh73Z//78nQ== - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-function-name@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" - integrity sha512-Oo6+e2iX+o9eVvJ9Y5eKL5iryeRdsIkwRYheCuhYdVHsdEQysbc2z2QkqCLIYnNxkT5Ss3ggrHdXiDI7Dhrn4Q== - dependencies: - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-get-function-arity@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" - integrity sha512-WfgKFX6swFB1jS2vo+DwivRN4NB8XUdM3ij0Y1gnC21y1tdBoe6xjVnd7NSI6alv+gZXCtJqvrTeMW3fR/c0ng== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-hoist-variables@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" - integrity sha512-zAYl3tqerLItvG5cKYw7f1SpvIxS9zi7ohyGHaI9cgDUjAT6YcY9jIEH5CstetP5wHIVSceXwNS7Z5BpJg+rOw== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-optimise-call-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" - integrity sha512-Op9IhEaxhbRT8MDXx2iNuMgciu2V8lDvYCNQbDGjdBNCjaMvyLf4wl4A3b8IgndCyQF8TwfgsQ8T3VD8aX1/pA== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-regex@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" - integrity sha512-VlPiWmqmGJp0x0oK27Out1D+71nVVCTSdlbhIVoaBAj2lUgrNjBCRR9+llO4lTSb2O4r7PJg+RobRkhBrf6ofg== - dependencies: - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-remap-async-to-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" - integrity sha512-RYqaPD0mQyQIFRu7Ho5wE2yvA/5jxqCIj/Lv4BXNq23mHYu/vxikOy2JueLiBxQknwapwrJeNCesvY0ZcfnlHg== - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-replace-supers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" - integrity sha512-sLI+u7sXJh6+ToqDr57Bv973kCepItDhMou0xCP2YPVmR1jkHSCY+p1no8xErbV1Siz5QE8qKT1WIwybSWlqjw== - dependencies: - babel-helper-optimise-call-expression "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helpers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" - integrity sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ== - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - integrity sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-check-es2015-constants@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - integrity sha512-B1M5KBP29248dViEo1owyY32lk1ZSH2DaNNrXLGt8lyjjHm7pBqAdQ7VKUPR6EEDO323+OvT3MQXbCin8ooWdA== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - integrity sha512-4Zp4unmHgw30A1eWI5EpACji2qMocisdXhAftfhXoSV9j0Tvj6nRFE3tOmRY912E0FMRm/L5xWE7MGVT2FoLnw== - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - integrity sha512-Z/flU+T9ta0aIEKl1tGEmN/pZiI1uXmCiGFRegKacQfEJzp7iNsKloZmyJlQr+75FCJtiFfGIK03SiCvCt9cPQ== - -babel-plugin-syntax-trailing-function-commas@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" - integrity sha512-Gx9CH3Q/3GKbhs07Bszw5fPTlU+ygrOGfAhEt7W2JICwufpC4SuO0mG0+4NykPBSYPMJhqvVlDBU17qB1D+hMQ== - -babel-plugin-transform-async-to-generator@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" - integrity sha512-7BgYJujNCg0Ti3x0c/DL3tStvnKS6ktIYOmo9wginv/dfZOrbSZ+qG4IRRHMBOzZ5Awb1skTiAsQXg/+IWkZYw== - dependencies: - babel-helper-remap-async-to-generator "^6.24.1" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-arrow-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" - integrity sha512-PCqwwzODXW7JMrzu+yZIaYbPQSKjDTAsNNlK2l5Gg9g4rz2VzLnZsStvp/3c46GfXpwkyufb3NCyG9+50FF1Vg== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" - integrity sha512-2+ujAT2UMBzYFm7tidUsYh+ZoIutxJ3pN9IYrF1/H6dCKtECfhmB8UkHVpyxDwkj0CYbQG35ykoz925TUnBc3A== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoping@^6.23.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" - integrity sha512-YiN6sFAQ5lML8JjCmr7uerS5Yc/EMbgg9G8ZNmk2E3nYX4ckHR01wrkeeMijEf5WHNK5TW0Sl0Uu3pv3EdOJWw== - dependencies: - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-plugin-transform-es2015-classes@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" - integrity sha512-5Dy7ZbRinGrNtmWpquZKZ3EGY8sDgIVB4CU8Om8q8tnMLrD/m94cKglVcHps0BCTdZ0TJeeAWOq2TK9MIY6cag== - dependencies: - babel-helper-define-map "^6.24.1" - babel-helper-function-name "^6.24.1" - babel-helper-optimise-call-expression "^6.24.1" - babel-helper-replace-supers "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-computed-properties@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" - integrity sha512-C/uAv4ktFP/Hmh01gMTvYvICrKze0XVX9f2PdIXuriCSvUmV9j+u+BB9f5fJK3+878yMK6dkdcq+Ymr9mrcLzw== - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-destructuring@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" - integrity sha512-aNv/GDAW0j/f4Uy1OEPZn1mqD+Nfy9viFGBfQ5bZyT35YqOiqx7/tXdyfZkJ1sC21NyEsBdfDY6PYmLHF4r5iA== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" - integrity sha512-ossocTuPOssfxO2h+Z3/Ea1Vo1wWx31Uqy9vIiJusOP4TbF7tPs9U0sJ9pX9OJPf4lXRGj5+6Gkl/HHKiAP5ug== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-for-of@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" - integrity sha512-DLuRwoygCoXx+YfxHLkVx5/NpeSbVwfoTeBykpJK7JhYWlL/O8hgAK/reforUnZDlxasOrVPPJVI/guE3dCwkw== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-function-name@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" - integrity sha512-iFp5KIcorf11iBqu/y/a7DK3MN5di3pNCzto61FqCNnUX4qeBwcV1SLqe10oXNnCaxBUImX3SckX2/o1nsrTcg== - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" - integrity sha512-tjFl0cwMPpDYyoqYA9li1/7mGFit39XiNX5DKC/uCNjBctMxyL1/PT/l4rSlbvBG1pOKI88STRdUsWXB3/Q9hQ== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" - integrity sha512-LnIIdGWIKdw7zwckqx+eGjcS8/cl8D74A3BpJbGjKTFFNJSMrjN4bIh22HY1AlkUbeLG6X6OZj56BDvWD+OeFA== - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: - version "6.26.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" - integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" - integrity sha512-ONFIPsq8y4bls5PPsAWYXH/21Hqv64TBxdje0FvU3MhIV6QM2j5YS7KvAzg/nTIVLot2D2fmFQrFWCbgHlFEjg== - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-umd@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" - integrity sha512-LpVbiT9CLsuAIp3IG0tfbVo81QIhn6pE8xBJ7XSeCtFlMltuar5VuBV6y6Q45tpui9QWcy5i0vLQfCfrnF7Kiw== - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-object-super@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" - integrity sha512-8G5hpZMecb53vpD3mjs64NhI1au24TAmokQ4B+TBFBjN9cVoGoOvotdrMMRmHvVZUEvqGUPWL514woru1ChZMA== - dependencies: - babel-helper-replace-supers "^6.24.1" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-parameters@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" - integrity sha512-8HxlW+BB5HqniD+nLkQ4xSAVq3bR/pcYW9IigY+2y0dI+Y7INFeTbfAQr+63T3E4UDsZGjyb+l9txUnABWxlOQ== - dependencies: - babel-helper-call-delegate "^6.24.1" - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-shorthand-properties@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" - integrity sha512-mDdocSfUVm1/7Jw/FIRNw9vPrBQNePy6wZJlR8HAUBLybNp1w/6lr6zZ2pjMShee65t/ybR5pT8ulkLzD1xwiw== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-spread@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" - integrity sha512-3Ghhi26r4l3d0Js933E5+IhHwk0A1yiutj9gwvzmFbVV0sPMYk2lekhOufHBswX7NCoSeF4Xrl3sCIuSIa+zOg== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-sticky-regex@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" - integrity sha512-CYP359ADryTo3pCsH0oxRo/0yn6UsEZLqYohHmvLQdfS9xkf+MbCzE3/Kolw9OYIY4ZMilH25z/5CbQbwDD+lQ== - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-template-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" - integrity sha512-x8b9W0ngnKzDMHimVtTfn5ryimars1ByTqsfBDwAqLibmuuQY6pgBQi5z1ErIsUOWBdw1bW9FSz5RZUojM4apg== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" - integrity sha512-fz6J2Sf4gYN6gWgRZaoFXmq93X+Li/8vf+fb0sGDVtdeWvxC9y5/bTD7bvfWMEq6zetGEHpWjtzRGSugt5kNqw== - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-unicode-regex@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" - integrity sha512-v61Dbbihf5XxnYjtBN04B/JBvsScY37R1cZT5r9permN1cp+b70DY3Ib3fIkgn1DI9U3tGgBJZVD8p/mE/4JbQ== - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-exponentiation-operator@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" - integrity sha512-LzXDmbMkklvNhprr20//RStKVcT8Cu+SQtX18eMHLhjHf2yFzwtQ0S2f0jQ+89rokoNdmwoSqYzAhq86FxlLSQ== - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-regenerator@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" - integrity sha512-LS+dBkUGlNR15/5WHKe/8Neawx663qttS6AGqoOUhICc9d1KciBvtrQSuc0PI+CxQ2Q/S1aKuJ+u64GtLdcEZg== - dependencies: - regenerator-transform "^0.10.0" - -babel-plugin-transform-strict-mode@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" - integrity sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw== - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-preset-env@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" - integrity sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg== - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-to-generator "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.23.0" - babel-plugin-transform-es2015-classes "^6.23.0" - babel-plugin-transform-es2015-computed-properties "^6.22.0" - babel-plugin-transform-es2015-destructuring "^6.23.0" - babel-plugin-transform-es2015-duplicate-keys "^6.22.0" - babel-plugin-transform-es2015-for-of "^6.23.0" - babel-plugin-transform-es2015-function-name "^6.22.0" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.22.0" - babel-plugin-transform-es2015-modules-commonjs "^6.23.0" - babel-plugin-transform-es2015-modules-systemjs "^6.23.0" - babel-plugin-transform-es2015-modules-umd "^6.23.0" - babel-plugin-transform-es2015-object-super "^6.22.0" - babel-plugin-transform-es2015-parameters "^6.23.0" - babel-plugin-transform-es2015-shorthand-properties "^6.22.0" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.22.0" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.23.0" - babel-plugin-transform-es2015-unicode-regex "^6.22.0" - babel-plugin-transform-exponentiation-operator "^6.22.0" - babel-plugin-transform-regenerator "^6.22.0" - browserslist "^3.2.6" - invariant "^2.2.2" - semver "^5.3.0" - -babel-register@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" - integrity sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A== - dependencies: - babel-core "^6.26.0" - babel-runtime "^6.26.0" - core-js "^2.5.0" - home-or-tmp "^2.0.0" - lodash "^4.17.4" - mkdirp "^0.5.1" - source-map-support "^0.4.15" - -babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babel-template@^6.24.1, babel-template@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - integrity sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg== - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.24.1, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - integrity sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA== - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" - integrity sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g== - dependencies: - babel-runtime "^6.26.0" - esutils "^2.0.2" - lodash "^4.17.4" - to-fast-properties "^1.0.3" - -babelify@^7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" - integrity sha512-vID8Fz6pPN5pJMdlUnNFSfrlcx5MUule4k9aKs/zbZPyXxMTcRrB0M4Tarw22L8afr8eYSWxDPYCob3TdrqtlA== - dependencies: - babel-core "^6.0.14" - object-assign "^4.0.0" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -backoff@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/backoff/-/backoff-2.5.0.tgz#f616eda9d3e4b66b8ca7fca79f695722c5f8e26f" - integrity sha512-wC5ihrnUXmR2douXmXLCe5O3zg3GKIyvRi/hi58a/XyRxVI+3/yM0PYueQOZXPXQ9pxBislYkw+sF9b7C/RuMA== - dependencies: - precond "0.2" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.2, base-x@^3.0.8: - version "3.0.9" - resolved "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -bech32@1.1.4, bech32@^1.1.3: - version "1.1.4" - resolved "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -big-integer@1.6.36: - version "1.6.36" - resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz" - integrity sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -bignumber.js@^7.2.1: - version "7.2.1" - resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz" - integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ== - -bignumber.js@^9.0.0, bignumber.js@^9.0.1: - version "9.0.2" - resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz" - integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bip39@2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/bip39/-/bip39-2.5.0.tgz#51cbd5179460504a63ea3c000db3f787ca051235" - integrity sha512-xwIx/8JKoT2+IPJpFEfXoWdYwP7UVAoUxxLNfGCfVowaJE7yg1Y5B1BVPqlUNsBq5/nGwmFkwRJ8xDW4sX8OdA== - dependencies: - create-hash "^1.1.0" - pbkdf2 "^3.0.9" - randombytes "^2.0.1" - safe-buffer "^5.0.1" - unorm "^1.3.3" - -blakejs@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/blakejs/-/blakejs-1.1.1.tgz" - integrity sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg== - -bluebird@^3.5.0, bluebird@^3.5.2: - version "3.7.2" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@4.11.6: - version "4.11.6" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz" - integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.8.0: - version "4.12.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - -body-parser@1.19.2, body-parser@^1.16.0: - version "1.19.2" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz" - integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.8.1" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.9.7" - raw-body "2.4.3" - type-is "~1.6.18" - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserslist@^3.2.6: - version "3.2.8" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" - integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== - dependencies: - caniuse-lite "^1.0.30000844" - electron-to-chromium "^1.3.47" - -bs58@^4.0.0, bs58@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz" - integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= - dependencies: - base-x "^3.0.2" - -bs58check@^2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz" - integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== - dependencies: - bs58 "^4.0.0" - create-hash "^1.1.0" - safe-buffer "^5.1.2" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-reverse@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-reverse/-/buffer-reverse-1.0.1.tgz#49283c8efa6f901bc01fa3304d06027971ae2f60" - integrity sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg== - -buffer-to-arraybuffer@^0.0.5: - version "0.0.5" - resolved "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz" - integrity sha1-YGSkD6dutDxyOrqe+PbhIW0QURo= - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer-xor@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-2.0.2.tgz#34f7c64f04c777a1f8aac5e661273bb9dd320289" - integrity sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ== - dependencies: - safe-buffer "^5.1.1" - -buffer@6.0.3, buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -buffer@^5.0.5, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -bufferutil@^4.0.1: - version "4.0.6" - resolved "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz" - integrity sha512-jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw== - dependencies: - node-gyp-build "^4.3.0" - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -bytewise-core@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/bytewise-core/-/bytewise-core-1.2.3.tgz#3fb410c7e91558eb1ab22a82834577aa6bd61d42" - integrity sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA== - dependencies: - typewise-core "^1.2" - -bytewise@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/bytewise/-/bytewise-1.1.0.tgz#1d13cbff717ae7158094aa881b35d081b387253e" - integrity sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ== - dependencies: - bytewise-core "^1.2.2" - typewise "^1.0.3" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - -cachedown@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cachedown/-/cachedown-1.0.0.tgz#d43f036e4510696b31246d7db31ebf0f7ac32d15" - integrity sha512-t+yVk82vQWCJF3PsWHMld+jhhjkkWjcAzz8NbFx1iULOXWl8Tm/FdM4smZNVw3MRr0X+lVTx9PKzvEn4Ng19RQ== - dependencies: - abstract-leveldown "^2.4.1" - lru-cache "^3.2.0" - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" - integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - -camelcase@^5.0.0: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30000844: - version "1.0.30001480" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001480.tgz#9bbd35ee44c2480a1e3a3b9f4496f5066817164a" - integrity sha512-q7cpoPPvZYgtyC4VaBSN0Bt+PJ4c4EYRf0DrduInOz2SkFpHD5p3LnvEpqBp7UnJn+8x1Ogl1s38saUxe+ihQQ== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -cbor@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/cbor/-/cbor-5.2.0.tgz" - integrity sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A== - dependencies: - bignumber.js "^9.0.1" - nofilter "^1.0.4" - -cbor@^8.0.0: - version "8.1.0" - resolved "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz" - integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== - dependencies: - nofilter "^3.1.0" - -chai-as-promised@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz" - integrity sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA== - dependencies: - check-error "^1.0.2" - -chai-bn@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/chai-bn/-/chai-bn-0.3.0.tgz" - integrity sha512-WsDnkmgcXUZVHarkENCA2DhGUs8M6zl6M6XxHrDTIq0DH4ZNDgHN63v7JJnNOQ+LVI/YwSob8eDwqDRW7cp3XQ== - -chai-bn@^0.2.1: - version "0.2.2" - resolved "https://registry.npmjs.org/chai-bn/-/chai-bn-0.2.2.tgz" - integrity sha512-MzjelH0p8vWn65QKmEq/DLBG1Hle4WeyqT79ANhXZhn/UxRWO0OogkAxi5oGGtfzwU9bZR8mvbvYdoqNVWQwFg== - -chai@^4.2.0, chai@^4.3.6: - version "4.3.6" - resolved "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz" - integrity sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^3.0.1" - get-func-name "^2.0.0" - loupe "^2.3.1" - pathval "^1.1.1" - type-detect "^4.0.5" - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -change-case@3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/change-case/-/change-case-3.0.2.tgz" - integrity sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA== - dependencies: - camel-case "^3.0.0" - constant-case "^2.0.0" - dot-case "^2.1.0" - header-case "^1.0.0" - is-lower-case "^1.1.0" - is-upper-case "^1.1.0" - lower-case "^1.1.1" - lower-case-first "^1.0.0" - no-case "^2.3.2" - param-case "^2.1.0" - pascal-case "^2.0.0" - path-case "^2.1.0" - sentence-case "^2.1.0" - snake-case "^2.1.0" - swap-case "^1.1.0" - title-case "^2.1.0" - upper-case "^1.1.1" - upper-case-first "^1.1.0" - -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz" - integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= - -checkpoint-store@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/checkpoint-store/-/checkpoint-store-1.1.0.tgz#04e4cb516b91433893581e6d4601a78e9552ea06" - integrity sha512-J/NdY2WvIx654cc6LWSq/IYFFCUf75fFTgwzFnmbqyORH4MwgiQCgswLLKBGzmsyTI5V7i5bp/So6sMbDWhedg== - dependencies: - functional-red-black-tree "^1.0.1" - -cheerio-select@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz" - integrity sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg== - dependencies: - css-select "^4.1.3" - css-what "^5.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - domutils "^2.7.0" - -cheerio@^1.0.0-rc.2: - version "1.0.0-rc.10" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz" - integrity sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw== - dependencies: - cheerio-select "^1.5.0" - dom-serializer "^1.3.2" - domhandler "^4.2.0" - htmlparser2 "^6.1.0" - parse5 "^6.0.1" - parse5-htmlparser2-tree-adapter "^6.0.1" - tslib "^2.2.0" - -chokidar@3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz" - integrity sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.2.0" - optionalDependencies: - fsevents "~2.1.1" - -chokidar@3.5.3: - version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - 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: - version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cids@^0.7.1: - version "0.7.5" - resolved "https://registry.npmjs.org/cids/-/cids-0.7.5.tgz" - integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== - dependencies: - buffer "^5.5.0" - class-is "^1.1.0" - multibase "~0.6.0" - multicodec "^1.0.0" - multihashes "~0.4.15" - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-is@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/class-is/-/class-is-1.1.0.tgz" - integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz" - integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -clone@2.1.2, clone@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colors@1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -command-exists@^1.2.8: - version "1.2.9" - resolved "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz" - integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== - -command-line-args@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-4.0.7.tgz#f8d1916ecb90e9e121eda6428e41300bfb64cc46" - integrity sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA== - dependencies: - array-back "^2.0.0" - find-replace "^1.0.3" - typical "^2.6.1" - -command-line-args@^5.1.1: - version "5.2.1" - resolved "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz" - integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== - dependencies: - array-back "^3.1.0" - find-replace "^3.0.0" - lodash.camelcase "^4.3.0" - typical "^4.0.0" - -command-line-usage@^6.1.0: - version "6.1.1" - resolved "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.1.tgz" - integrity sha512-F59pEuAR9o1SF/bD0dQBDluhpT4jJQNWUHEuVBqpDmCUo6gPjCi+m9fCWnWZVR/oG6cMTUms4h+3NPl74wGXvA== - dependencies: - array-back "^4.0.1" - chalk "^2.4.2" - table-layout "^1.0.1" - typical "^5.2.0" - -commander@3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz" - integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== - -commander@^10.0.0: - version "10.0.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" - integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== - -commander@^8.1.0: - version "8.3.0" - resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -compare-versions@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.1.tgz" - integrity sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -constant-case@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz" - integrity sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY= - dependencies: - snake-case "^2.1.0" - upper-case "^1.1.1" - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-hash@^2.5.2: - version "2.5.2" - resolved "https://registry.npmjs.org/content-hash/-/content-hash-2.5.2.tgz" - integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== - dependencies: - cids "^0.7.1" - multicodec "^0.5.5" - multihashes "^0.4.15" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.5.1: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.2: - version "0.4.2" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -cookiejar@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz" - integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - -core-js-pure@^3.0.1: - version "3.30.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.30.1.tgz#7d93dc89e7d47b8ef05d7e79f507b0e99ea77eec" - integrity sha512-nXBEVpmUnNRhz83cHd9JRQC52cTMcuXAmR56+9dSMpRdpeA4I1PX6yjmhd71Eyc/wXNsdBdUDIj1QTIeZpU5Tg== - -core-js@^2.4.0, core-js@^2.5.0: - version "2.6.12" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cors@^2.8.1: - version "2.8.5" - resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -cosmiconfig@^8.0.0: - version "8.1.3" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.1.3.tgz#0e614a118fcc2d9e5afc2f87d53cd09931015689" - integrity sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw== - dependencies: - import-fresh "^3.2.1" - js-yaml "^4.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - -crc-32@^1.2.0: - version "1.2.1" - resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.1.tgz" - integrity sha512-Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w== - dependencies: - exit-on-epipe "~1.0.1" - printj "~1.3.1" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-fetch@^2.1.0, cross-fetch@^2.1.1: - version "2.2.6" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.6.tgz#2ef0bb39a24ac034787965c457368a28730e220a" - integrity sha512-9JZz+vXCmfKUZ68zAptS7k4Nu8e2qcibe7WVZYps7sAgk5R8GYTc+T1WR0v1rlP9HxgARmOX1UTIJZFytajpNA== - dependencies: - node-fetch "^2.6.7" - whatwg-fetch "^2.0.4" - -cross-fetch@^3.0.6: - version "3.1.5" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" - -cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-addr-codec@^0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/crypto-addr-codec/-/crypto-addr-codec-0.1.7.tgz" - integrity sha512-X4hzfBzNhy4mAc3UpiXEC/L0jo5E8wAa9unsnA8nNXYzXjCcGk83hfC5avJWCSGT8V91xMnAS9AKMHmjw5+XCg== - dependencies: - base-x "^3.0.8" - big-integer "1.6.36" - blakejs "^1.1.0" - bs58 "^4.0.1" - ripemd160-min "0.0.6" - safe-buffer "^5.2.0" - sha3 "^2.1.1" - -crypto-browserify@3.12.0: - version "3.12.0" - resolved "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-js@^3.1.9-1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" - integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== - -css-select@^4.1.3: - version "4.2.1" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz" - integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== - dependencies: - boolbase "^1.0.0" - css-what "^5.1.0" - domhandler "^4.3.0" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-what@^5.0.1, css-what@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz" - integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -death@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/death/-/death-1.1.0.tgz" - integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@3.2.6: - version "3.2.6" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@4.3.3, debug@^4.0.1, debug@^4.1.1, debug@^4.3.1: - version "4.3.3" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -debug@^3.1.0, debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decamelize@^1.1.1, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -decompress-response@^3.2.0, decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - -deep-eql@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz" - integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== - dependencies: - type-detect "^4.0.0" - -deep-equal@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - -deep-extend@~0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -deferred-leveldown@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" - integrity sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA== - dependencies: - abstract-leveldown "~2.6.0" - -deferred-leveldown@~4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz#0b0570087827bf480a23494b398f04c128c19a20" - integrity sha512-5fMC8ek8alH16QiV0lTCis610D1Zt1+LA4MS4d63JgS32lrCjTFDUFz2ao09/j2I4Bqb5jL4FZYwu7Jz0XO1ww== - dependencies: - abstract-leveldown "~5.0.0" - inherits "^2.0.3" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-properties@^1.1.4, define-properties@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -defined@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf" - integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A== - dependencies: - repeating "^2.0.0" - -detect-indent@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz" - integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= - -detect-port@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz" - integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -diff@3.5.0: - version "3.5.0" - resolved "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -diff@5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -difflib@^0.2.4: - version "0.2.4" - resolved "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz" - integrity sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w== - dependencies: - heap ">= 0.2.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-serializer@^1.0.1, dom-serializer@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz" - integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz" - integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz" - integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== - dependencies: - domelementtype "^2.2.0" - -domutils@^2.5.2, domutils@^2.7.0, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz" - integrity sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4= - dependencies: - no-case "^2.2.0" - -dotenv@10.0.0: - version "10.0.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" - integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== - -dotignore@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" - integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== - dependencies: - minimatch "^3.0.4" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -electron-to-chromium@^1.3.47: - version "1.4.368" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.368.tgz#75901f97d3e23da2e66feb1e61fbb8e70ac96430" - integrity sha512-e2aeCAixCj9M7nJxdB/wDjO6mbYX+lJJxSJCXDzlr5YPGYVofuJwGN9nKg2o6wWInjX6XmxRinn3AeJMK81ltw== - -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -encoding-down@5.0.4, encoding-down@~5.0.0: - version "5.0.4" - resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-5.0.4.tgz#1e477da8e9e9d0f7c8293d320044f8b2cd8e9614" - integrity sha512-8CIZLDcSKxgzT+zX8ZVfgNbu8Md2wq/iqa1Y7zyVR18QBEAc0Nmzuvj/N5ykSKpfGzjM8qxbaFntLPwnVoUhZw== - dependencies: - abstract-leveldown "^5.0.0" - inherits "^2.0.3" - level-codec "^9.0.0" - level-errors "^2.0.0" - xtend "^4.0.1" - -encoding@^0.1.11: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -errno@~0.1.1: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz" - integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-abstract@^1.20.4: - version "1.21.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" - integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== - dependencies: - array-buffer-byte-length "^1.0.0" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.0" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.10" - is-weakref "^1.0.2" - object-inspect "^1.12.3" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.9" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.53" - resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz" - integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.3" - next-tick "~1.0.0" - -es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@~3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@1.8.x: - version "1.8.1" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz" - integrity sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A== - dependencies: - esprima "^2.7.1" - estraverse "^1.9.1" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.2.0" - -eslint-config-prettier@^8.3.0: - version "8.4.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.4.0.tgz" - integrity sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw== - -eslint-config-standard@16.0.3: - version "16.0.3" - resolved "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz" - integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== - -eslint-import-resolver-node@^0.3.4: - version "0.3.6" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-module-utils@^2.6.1: - version "2.7.3" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== - dependencies: - debug "^3.2.7" - find-up "^2.1.0" - -eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - -eslint-plugin-import@2.23.4: - version "2.23.4" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz" - integrity sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ== - dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.1" - find-up "^2.0.0" - has "^1.0.3" - is-core-module "^2.4.0" - minimatch "^3.0.4" - object.values "^1.1.3" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" - resolve "^1.20.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-mocha-no-only@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/eslint-plugin-mocha-no-only/-/eslint-plugin-mocha-no-only-1.1.1.tgz" - integrity sha512-b+vgjJQ3SjRQCygBhomtjzvRQRpIP8Yd9cqwNSbcoVJREuNajao7M1Kl1aObAUc4wx98qsZyQyUSUxiAbMS9yA== - dependencies: - requireindex "~1.1.0" - -eslint-plugin-mocha@^10.0.3: - version "10.0.3" - resolved "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.0.3.tgz" - integrity sha512-9mM7PZGxfejpjey+MrG0Cu3Lc8MyA5E2s7eUCdHXgS4SY/H9zLuwa7wVAjnEaoDjbBilA+0bPEB+iMO7lBUPcg== - dependencies: - eslint-utils "^3.0.0" - ramda "^0.27.1" - -eslint-plugin-node@11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - -eslint-plugin-prettier@3.4.0: - version "3.4.0" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz" - integrity sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-promise@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz" - integrity sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw== - -eslint-plugin-simple-import-sort@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz" - integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== - -eslint-plugin-standard@5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-5.0.0.tgz" - integrity sha512-eSIXPc9wBM4BrniMzJRBm2uoVuXz2EPa+NXPk2+itrVt+r5SbKFERx/IgrK/HmfjddyKVz2f+j+7gBRvu19xLg== - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - 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== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@7.31.0: - version "7.31.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz" - integrity sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@2.7.x, esprima@^2.7.1: - version "2.7.3" - resolved "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz" - integrity sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A== - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^1.9.1: - version "1.9.3" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz" - integrity sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA== - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eth-block-tracker@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-3.0.1.tgz#95cd5e763c7293e0b1b2790a2a39ac2ac188a5e1" - integrity sha512-WUVxWLuhMmsfenfZvFO5sbl1qFY2IqUlw/FPVmjjdElpqLsZtSG+wPe9Dz7W/sB6e80HgFKknOmKk2eNlznHug== - dependencies: - eth-query "^2.1.0" - ethereumjs-tx "^1.3.3" - ethereumjs-util "^5.1.3" - ethjs-util "^0.1.3" - json-rpc-engine "^3.6.0" - pify "^2.3.0" - tape "^4.6.3" - -eth-ens-namehash@2.0.8, eth-ens-namehash@^2.0.8: - version "2.0.8" - resolved "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz" - integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= - dependencies: - idna-uts46-hx "^2.3.1" - js-sha3 "^0.5.7" - -eth-json-rpc-infura@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/eth-json-rpc-infura/-/eth-json-rpc-infura-3.2.1.tgz#26702a821067862b72d979c016fd611502c6057f" - integrity sha512-W7zR4DZvyTn23Bxc0EWsq4XGDdD63+XPUCEhV2zQvQGavDVC4ZpFDK4k99qN7bd7/fjj37+rxmuBOBeIqCA5Mw== - dependencies: - cross-fetch "^2.1.1" - eth-json-rpc-middleware "^1.5.0" - json-rpc-engine "^3.4.0" - json-rpc-error "^2.0.0" - -eth-json-rpc-middleware@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-1.6.0.tgz#5c9d4c28f745ccb01630f0300ba945f4bef9593f" - integrity sha512-tDVCTlrUvdqHKqivYMjtFZsdD7TtpNLBCfKAcOpaVs7orBMS/A8HWro6dIzNtTZIR05FAbJ3bioFOnZpuCew9Q== - dependencies: - async "^2.5.0" - eth-query "^2.1.2" - eth-tx-summary "^3.1.2" - ethereumjs-block "^1.6.0" - ethereumjs-tx "^1.3.3" - ethereumjs-util "^5.1.2" - ethereumjs-vm "^2.1.0" - fetch-ponyfill "^4.0.0" - json-rpc-engine "^3.6.0" - json-rpc-error "^2.0.0" - json-stable-stringify "^1.0.1" - promise-to-callback "^1.0.0" - tape "^4.6.3" - -eth-lib@0.2.8: - version "0.2.8" - resolved "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz" - integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" - -eth-lib@^0.1.26: - version "0.1.29" - resolved "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.29.tgz" - integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - nano-json-stream-parser "^0.1.2" - servify "^0.1.12" - ws "^3.0.0" - xhr-request-promise "^0.1.2" - -eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" - integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== - dependencies: - json-rpc-random-id "^1.0.0" - xtend "^4.0.1" - -eth-sig-util@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-3.0.0.tgz#75133b3d7c20a5731af0690c385e184ab942b97e" - integrity sha512-4eFkMOhpGbTxBQ3AMzVf0haUX2uTur7DpWiHzWyTURa28BVJJtOkcb9Ok5TV0YvEPG61DODPW7ZUATbJTslioQ== - dependencies: - buffer "^5.2.1" - elliptic "^6.4.0" - ethereumjs-abi "0.6.5" - ethereumjs-util "^5.1.1" - tweetnacl "^1.0.0" - tweetnacl-util "^0.15.0" - -eth-sig-util@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-1.4.2.tgz#8d958202c7edbaae839707fba6f09ff327606210" - integrity sha512-iNZ576iTOGcfllftB73cPB5AN+XUQAT/T8xzsILsghXC1o8gJUqe3RHlcDqagu+biFpYQ61KQrZZJza8eRSYqw== - dependencies: - ethereumjs-abi "git+https://github.com/ethereumjs/ethereumjs-abi.git" - ethereumjs-util "^5.1.1" - -eth-sig-util@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/eth-sig-util/-/eth-sig-util-3.0.1.tgz" - integrity sha512-0Us50HiGGvZgjtWTyAI/+qTzYPMLy5Q451D0Xy68bxq1QMWdoOddDwGvsqcFT27uohKgalM9z/yxplyt+mY2iQ== - dependencies: - ethereumjs-abi "^0.6.8" - ethereumjs-util "^5.1.1" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.0" - -eth-tx-summary@^3.1.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/eth-tx-summary/-/eth-tx-summary-3.2.4.tgz#e10eb95eb57cdfe549bf29f97f1e4f1db679035c" - integrity sha512-NtlDnaVZah146Rm8HMRUNMgIwG/ED4jiqk0TME9zFheMl1jOp6jL1m0NKGjJwehXQ6ZKCPr16MTr+qspKpEXNg== - dependencies: - async "^2.1.2" - clone "^2.0.0" - concat-stream "^1.5.1" - end-of-stream "^1.1.0" - eth-query "^2.0.2" - ethereumjs-block "^1.4.1" - ethereumjs-tx "^1.1.1" - ethereumjs-util "^5.0.1" - ethereumjs-vm "^2.6.0" - through2 "^2.0.3" - -ethashjs@~0.0.7: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ethashjs/-/ethashjs-0.0.8.tgz#227442f1bdee409a548fb04136e24c874f3aa6f9" - integrity sha512-/MSbf/r2/Ld8o0l15AymjOTlPqpN8Cr4ByUEA9GtR4x0yAh3TdtDzEg29zMjXCNPI7u6E5fOQdj/Cf9Tc7oVNw== - dependencies: - async "^2.1.2" - buffer-xor "^2.0.1" - ethereumjs-util "^7.0.2" - miller-rabin "^4.0.0" - -ethereum-bloom-filters@^1.0.6: - version "1.0.10" - resolved "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz" - integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== - dependencies: - js-sha3 "^0.8.0" - -ethereum-common@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.2.0.tgz#13bf966131cce1eeade62a1b434249bb4cb120ca" - integrity sha512-XOnAR/3rntJgbCdGhqdaLIxDLWKLmsZOGhHdBKadEr6gEnJLH52k93Ou+TUdFaPN3hJc3isBZBal3U/XZ15abA== - -ethereum-common@^0.0.18: - version "0.0.18" - resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" - integrity sha512-EoltVQTRNg2Uy4o84qpa2aXymXDJhxm7eos/ACOg0DG4baAbMjhbdAEsx9GeE8sC3XCxnYvrrzZDH8D8MtA2iQ== - -ethereum-cryptography@^0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz" - integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== - dependencies: - "@types/pbkdf2" "^3.0.0" - "@types/secp256k1" "^4.0.1" - blakejs "^1.1.0" - browserify-aes "^1.2.0" - bs58check "^2.1.2" - create-hash "^1.2.0" - create-hmac "^1.1.7" - hash.js "^1.1.7" - keccak "^3.0.0" - pbkdf2 "^3.0.17" - randombytes "^2.1.0" - safe-buffer "^5.1.2" - scrypt-js "^3.0.0" - secp256k1 "^4.0.1" - setimmediate "^1.0.5" - -ethereum-waffle@^3.4.0: - version "3.4.4" - resolved "https://registry.yarnpkg.com/ethereum-waffle/-/ethereum-waffle-3.4.4.tgz#1378b72040697857b7f5e8f473ca8f97a37b5840" - integrity sha512-PA9+jCjw4WC3Oc5ocSMBj5sXvueWQeAbvCA+hUlb6oFgwwKyq5ka3bWQ7QZcjzIX+TdFkxP4IbFmoY2D8Dkj9Q== - dependencies: - "@ethereum-waffle/chai" "^3.4.4" - "@ethereum-waffle/compiler" "^3.4.4" - "@ethereum-waffle/mock-contract" "^3.4.4" - "@ethereum-waffle/provider" "^3.4.4" - ethers "^5.0.1" - -ethereumjs-abi@0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz#5a637ef16ab43473fa72a29ad90871405b3f5241" - integrity sha512-rCjJZ/AE96c/AAZc6O3kaog4FhOsAViaysBxqJNy2+LHP0ttH0zkZ7nXdVHOAyt6lFwLO0nlCwWszysG/ao1+g== - dependencies: - bn.js "^4.10.0" - ethereumjs-util "^4.3.0" - -ethereumjs-abi@0.6.8, ethereumjs-abi@^0.6.8: - version "0.6.8" - resolved "https://registry.npmjs.org/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz" - integrity sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA== - dependencies: - bn.js "^4.11.8" - ethereumjs-util "^6.0.0" - -"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": - version "0.6.8" - resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0" - dependencies: - bn.js "^4.11.8" - ethereumjs-util "^6.0.0" - -ethereumjs-account@3.0.0, ethereumjs-account@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz#728f060c8e0c6e87f1e987f751d3da25422570a9" - integrity sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA== - dependencies: - ethereumjs-util "^6.0.0" - rlp "^2.2.1" - safe-buffer "^5.1.1" - -ethereumjs-account@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-2.0.5.tgz#eeafc62de544cb07b0ee44b10f572c9c49e00a84" - integrity sha512-bgDojnXGjhMwo6eXQC0bY6UK2liSFUSMwwylOmQvZbSl/D7NXQ3+vrGO46ZeOgjGfxXmgIeVNDIiHw7fNZM4VA== - dependencies: - ethereumjs-util "^5.0.0" - rlp "^2.0.0" - safe-buffer "^5.1.1" - -ethereumjs-block@2.2.2, ethereumjs-block@^2.2.2, ethereumjs-block@~2.2.0, ethereumjs-block@~2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz#c7654be7e22df489fda206139ecd63e2e9c04965" - integrity sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg== - dependencies: - async "^2.0.1" - ethereumjs-common "^1.5.0" - ethereumjs-tx "^2.1.1" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - -ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0: - version "1.7.1" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz#78b88e6cc56de29a6b4884ee75379b6860333c3f" - integrity sha512-B+sSdtqm78fmKkBq78/QLKJbu/4Ts4P2KFISdgcuZUPDm9x+N7qgBPIIFUGbaakQh8bzuquiRVbdmvPKqbILRg== - dependencies: - async "^2.0.1" - ethereum-common "0.2.0" - ethereumjs-tx "^1.2.2" - ethereumjs-util "^5.0.0" - merkle-patricia-tree "^2.1.2" - -ethereumjs-blockchain@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.4.tgz#30f2228dc35f6dcf94423692a6902604ae34960f" - integrity sha512-zCxaRMUOzzjvX78DTGiKjA+4h2/sF0OYL1QuPux0DHpyq8XiNoF5GYHtb++GUxVlMsMfZV7AVyzbtgcRdIcEPQ== - dependencies: - async "^2.6.1" - ethashjs "~0.0.7" - ethereumjs-block "~2.2.2" - ethereumjs-common "^1.5.0" - ethereumjs-util "^6.1.0" - flow-stoplight "^1.0.0" - level-mem "^3.0.1" - lru-cache "^5.1.1" - rlp "^2.2.2" - semaphore "^1.1.0" - -ethereumjs-common@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz#d3e82fc7c47c0cef95047f431a99485abc9bb1cd" - integrity sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ== - -ethereumjs-common@^1.1.0, ethereumjs-common@^1.3.2, ethereumjs-common@^1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.2.tgz#2065dbe9214e850f2e955a80e650cb6999066979" - integrity sha512-hTfZjwGX52GS2jcVO6E2sx4YuFnf0Fhp5ylo4pEPhEffNln7vS59Hr5sLnp3/QCazFLluuBZ+FZ6J5HTp0EqCA== - -ethereumjs-tx@2.1.2, ethereumjs-tx@^2.1.1, ethereumjs-tx@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz#5dfe7688bf177b45c9a23f86cf9104d47ea35fed" - integrity sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw== - dependencies: - ethereumjs-common "^1.5.0" - ethereumjs-util "^6.0.0" - -ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" - integrity sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA== - dependencies: - ethereum-common "^0.0.18" - ethereumjs-util "^5.0.0" - -ethereumjs-util@6.2.1, ethereumjs-util@^6.0.0, ethereumjs-util@^6.1.0, ethereumjs-util@^6.2.0: - version "6.2.1" - resolved "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz" - integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== - dependencies: - "@types/bn.js" "^4.11.3" - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.3" - -ethereumjs-util@^4.3.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-4.5.1.tgz#f4bf9b3b515a484e3cc8781d61d9d980f7c83bd0" - integrity sha512-WrckOZ7uBnei4+AKimpuF1B3Fv25OmoRgmYCpGsP7u8PFxXAmAgiJSYT2kRWnt6fVIlKaQlZvuwXp7PIrmn3/w== - dependencies: - bn.js "^4.8.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - rlp "^2.0.0" - -ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.3, ethereumjs-util@^5.1.5, ethereumjs-util@^5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz" - integrity sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "^0.1.3" - rlp "^2.0.0" - safe-buffer "^5.1.1" - -ethereumjs-util@^7.0.10, ethereumjs-util@^7.0.3, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.4: - version "7.1.4" - resolved "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz" - integrity sha512-p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - rlp "^2.2.4" - -ethereumjs-util@^7.0.2: - version "7.1.5" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" - integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - rlp "^2.2.4" - -ethereumjs-vm@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-4.2.0.tgz#e885e861424e373dbc556278f7259ff3fca5edab" - integrity sha512-X6qqZbsY33p5FTuZqCnQ4+lo957iUJMM6Mpa6bL4UW0dxM6WmDSHuI4j/zOp1E2TDKImBGCJA9QPfc08PaNubA== - dependencies: - async "^2.1.2" - async-eventemitter "^0.2.2" - core-js-pure "^3.0.1" - ethereumjs-account "^3.0.0" - ethereumjs-block "^2.2.2" - ethereumjs-blockchain "^4.0.3" - ethereumjs-common "^1.5.0" - ethereumjs-tx "^2.1.2" - ethereumjs-util "^6.2.0" - fake-merkle-patricia-tree "^1.0.1" - functional-red-black-tree "^1.0.1" - merkle-patricia-tree "^2.3.2" - rustbn.js "~0.2.0" - safe-buffer "^5.1.1" - util.promisify "^1.0.0" - -ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4, ethereumjs-vm@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" - integrity sha512-r/XIUik/ynGbxS3y+mvGnbOKnuLo40V5Mj1J25+HEO63aWYREIqvWeRO/hnROlMBE5WoniQmPmhiaN0ctiHaXw== - dependencies: - async "^2.1.2" - async-eventemitter "^0.2.2" - ethereumjs-account "^2.0.3" - ethereumjs-block "~2.2.0" - ethereumjs-common "^1.1.0" - ethereumjs-util "^6.0.0" - fake-merkle-patricia-tree "^1.0.1" - functional-red-black-tree "^1.0.1" - merkle-patricia-tree "^2.3.2" - rustbn.js "~0.2.0" - safe-buffer "^5.1.1" - -ethereumjs-wallet@0.6.5: - version "0.6.5" - resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-0.6.5.tgz#685e9091645cee230ad125c007658833991ed474" - integrity sha512-MDwjwB9VQVnpp/Dc1XzA6J1a3wgHQ4hSvA1uWNatdpOrtCbPVuQSKSyRnjLvS0a+KKMw2pvQ9Ybqpb3+eW8oNA== - dependencies: - aes-js "^3.1.1" - bs58check "^2.1.2" - ethereum-cryptography "^0.1.3" - ethereumjs-util "^6.0.0" - randombytes "^2.0.6" - safe-buffer "^5.1.2" - scryptsy "^1.2.1" - utf8 "^3.0.0" - uuid "^3.3.2" - -ethers@^4.0.32: - version "4.0.49" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.49.tgz#0eb0e9161a0c8b4761be547396bbe2fb121a8894" - integrity sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg== - dependencies: - aes-js "3.0.0" - bn.js "^4.11.9" - elliptic "6.5.4" - hash.js "1.1.3" - js-sha3 "0.5.7" - scrypt-js "2.0.4" - setimmediate "1.0.4" - uuid "2.0.1" - xmlhttprequest "1.8.0" - -ethers@^5.0.1, ethers@^5.0.2, ethers@^5.5.2: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" - -ethers@^5.0.13: - version "5.5.4" - resolved "https://registry.npmjs.org/ethers/-/ethers-5.5.4.tgz" - integrity sha512-N9IAXsF8iKhgHIC6pquzRgPBJEzc9auw3JoRkaKe+y4Wl/LFBtDDunNe7YmdomontECAcC5APaAgWZBiu1kirw== - dependencies: - "@ethersproject/abi" "5.5.0" - "@ethersproject/abstract-provider" "5.5.1" - "@ethersproject/abstract-signer" "5.5.0" - "@ethersproject/address" "5.5.0" - "@ethersproject/base64" "5.5.0" - "@ethersproject/basex" "5.5.0" - "@ethersproject/bignumber" "5.5.0" - "@ethersproject/bytes" "5.5.0" - "@ethersproject/constants" "5.5.0" - "@ethersproject/contracts" "5.5.0" - "@ethersproject/hash" "5.5.0" - "@ethersproject/hdnode" "5.5.0" - "@ethersproject/json-wallets" "5.5.0" - "@ethersproject/keccak256" "5.5.0" - "@ethersproject/logger" "5.5.0" - "@ethersproject/networks" "5.5.2" - "@ethersproject/pbkdf2" "5.5.0" - "@ethersproject/properties" "5.5.0" - "@ethersproject/providers" "5.5.3" - "@ethersproject/random" "5.5.1" - "@ethersproject/rlp" "5.5.0" - "@ethersproject/sha2" "5.5.0" - "@ethersproject/signing-key" "5.5.0" - "@ethersproject/solidity" "5.5.0" - "@ethersproject/strings" "5.5.0" - "@ethersproject/transactions" "5.5.0" - "@ethersproject/units" "5.5.0" - "@ethersproject/wallet" "5.5.0" - "@ethersproject/web" "5.5.1" - "@ethersproject/wordlists" "5.5.0" - -ethers@^5.6.4: - version "5.6.8" - resolved "https://registry.npmjs.org/ethers/-/ethers-5.6.8.tgz" - integrity sha512-YxIGaltAOdvBFPZwIkyHnXbW40f1r8mHUgapW6dxkO+6t7H6wY8POUn0Kbxrd/N7I4hHxyi7YCddMAH/wmho2w== - dependencies: - "@ethersproject/abi" "5.6.3" - "@ethersproject/abstract-provider" "5.6.1" - "@ethersproject/abstract-signer" "5.6.2" - "@ethersproject/address" "5.6.1" - "@ethersproject/base64" "5.6.1" - "@ethersproject/basex" "5.6.1" - "@ethersproject/bignumber" "5.6.2" - "@ethersproject/bytes" "5.6.1" - "@ethersproject/constants" "5.6.1" - "@ethersproject/contracts" "5.6.2" - "@ethersproject/hash" "5.6.1" - "@ethersproject/hdnode" "5.6.2" - "@ethersproject/json-wallets" "5.6.1" - "@ethersproject/keccak256" "5.6.1" - "@ethersproject/logger" "5.6.0" - "@ethersproject/networks" "5.6.3" - "@ethersproject/pbkdf2" "5.6.1" - "@ethersproject/properties" "5.6.0" - "@ethersproject/providers" "5.6.8" - "@ethersproject/random" "5.6.1" - "@ethersproject/rlp" "5.6.1" - "@ethersproject/sha2" "5.6.1" - "@ethersproject/signing-key" "5.6.2" - "@ethersproject/solidity" "5.6.1" - "@ethersproject/strings" "5.6.1" - "@ethersproject/transactions" "5.6.2" - "@ethersproject/units" "5.6.1" - "@ethersproject/wallet" "5.6.2" - "@ethersproject/web" "5.6.1" - "@ethersproject/wordlists" "5.6.1" - -ethers@^5.7.1: - version "5.7.1" - resolved "https://registry.npmjs.org/ethers/-/ethers-5.7.1.tgz" - integrity sha512-5krze4dRLITX7FpU8J4WscXqADiKmyeNlylmmDLbS95DaZpBhDe2YSwRQwKXWNyXcox7a3gBgm/MkGXV1O1S/Q== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.1" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" - -ethjs-abi@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/ethjs-abi/-/ethjs-abi-0.2.1.tgz" - integrity sha1-4KepOn6BFjqUR3utVu3lJKtt5TM= - dependencies: - bn.js "4.11.6" - js-sha3 "0.5.5" - number-to-bn "1.7.0" - -ethjs-unit@0.1.6: - version "0.1.6" - resolved "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz" - integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= - dependencies: - bn.js "4.11.6" - number-to-bn "1.7.0" - -ethjs-util@0.1.6, ethjs-util@^0.1.3: - version "0.1.6" - resolved "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz" - integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== - dependencies: - is-hex-prefixed "1.0.0" - strip-hex-prefix "1.0.0" - -eventemitter3@4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - -events@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exit-on-epipe@~1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz" - integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -express@^4.14.0: - version "4.17.3" - resolved "https://registry.npmjs.org/express/-/express-4.17.3.tgz" - integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.19.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.4.2" - cookie-signature "1.0.6" - debug "2.6.9" - depd "~1.1.2" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "~1.1.2" - fresh "0.5.2" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "~2.3.0" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.9.7" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.17.2" - serve-static "1.14.2" - setprototypeof "1.2.0" - statuses "~1.5.0" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext@^1.1.2: - version "1.6.0" - resolved "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz" - integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== - dependencies: - type "^2.5.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extract-files@^9.0.0: - version "9.0.0" - resolved "https://registry.npmjs.org/extract-files/-/extract-files-9.0.0.tgz" - integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ== - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.1.tgz" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fake-merkle-patricia-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fake-merkle-patricia-tree/-/fake-merkle-patricia-tree-1.0.1.tgz#4b8c3acfb520afadf9860b1f14cd8ce3402cddd3" - integrity sha512-Tgq37lkc9pUIgIKw5uitNUKcgcYL3R6JvXtKQbOf/ZSavXbidsksgp/pAY6p//uhw0I4yoMsvTSovvVIsk/qxA== - dependencies: - checkpoint-store "^1.1.0" - -faker@^5.3.1: - version "5.5.3" - resolved "https://registry.npmjs.org/faker/-/faker-5.5.3.tgz" - integrity sha512-wLTv2a28wjUyWkbnX7u/ABZBkUkIF2fCd73V6P2oFqEGEktDfzWx4UxrSqtPRw0xPRAcjeAOIiJWqZm3pP4u3g== - -fast-check@^2.12.1: - version "2.22.0" - resolved "https://registry.npmjs.org/fast-check/-/fast-check-2.22.0.tgz" - integrity sha512-Yrx1E8fZk6tfSqYaNkwnxj/lOk+vj2KTbbpHDtYoK9MrrL/D204N/rCtcaVSz5bE29g6gW4xj0byresjlFyybg== - dependencies: - pure-rand "^5.0.0" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2, fast-diff@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.0.3: - version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -fetch-ponyfill@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/fetch-ponyfill/-/fetch-ponyfill-4.1.0.tgz#ae3ce5f732c645eab87e4ae8793414709b239893" - integrity sha512-knK9sGskIg2T7OnYLdZ2hZXn0CtDrAIBxYQLpmEf0BqfdWnwmM1weccUl5+4EdA44tzNSFAuxITPbXtPehUB3g== - dependencies: - node-fetch "~1.7.1" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-replace@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-1.0.3.tgz#b88e7364d2d9c959559f388c66670d6130441fa0" - integrity sha512-KrUnjzDCD9426YnCP56zGYy/eieTnhtK6Vn++j+JJzmlsWWwEkDnsyVF575spT6HJ6Ow9tlbT3TQTDsa+O4UWA== - dependencies: - array-back "^1.0.4" - test-value "^2.1.0" - -find-replace@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz" - integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== - dependencies: - array-back "^3.0.1" - -find-up@3.0.0, find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-yarn-workspace-root@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" - integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== - dependencies: - fs-extra "^4.0.3" - micromatch "^3.1.4" - -find-yarn-workspace-root@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" - integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== - dependencies: - micromatch "^4.0.2" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flat@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz" - integrity sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA== - dependencies: - is-buffer "~2.0.3" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.1.0: - version "3.2.5" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== - -flow-stoplight@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/flow-stoplight/-/flow-stoplight-1.0.0.tgz#4a292c5bcff8b39fa6cc0cb1a853d86f27eeff7b" - integrity sha512-rDjbZUKpN8OYhB0IE/vY/I8UWO/602IIJEU/76Tv4LvYnwHCk0BCsvz4eRr9n+FQcri7L5cyaXOo0+/Kh4HisA== - -follow-redirects@^1.12.1: - version "1.14.9" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz" - integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w== - -for-each@^0.3.3, for-each@~0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -fs-extra@^0.30.0: - version "0.30.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz" - integrity sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A= - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - -fs-extra@^10.0.0: - version "10.0.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz" - integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^4.0.2, fs-extra@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^7.0.0, fs-extra@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@~2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functional-red-black-tree@^1.0.1, functional-red-black-tree@~1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -functions-have-names@^1.2.2, functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -ganache-core@^2.13.2: - version "2.13.2" - resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.13.2.tgz#27e6fc5417c10e6e76e2e646671869d7665814a3" - integrity sha512-tIF5cR+ANQz0+3pHWxHjIwHqFXcVo0Mb+kcsNhglNFALcYo49aQpnS9dqHartqPfMFjiHh/qFoD3mYK0d/qGgw== - dependencies: - abstract-leveldown "3.0.0" - async "2.6.2" - bip39 "2.5.0" - cachedown "1.0.0" - clone "2.1.2" - debug "3.2.6" - encoding-down "5.0.4" - eth-sig-util "3.0.0" - ethereumjs-abi "0.6.8" - ethereumjs-account "3.0.0" - ethereumjs-block "2.2.2" - ethereumjs-common "1.5.0" - ethereumjs-tx "2.1.2" - ethereumjs-util "6.2.1" - ethereumjs-vm "4.2.0" - heap "0.2.6" - keccak "3.0.1" - level-sublevel "6.6.4" - levelup "3.1.1" - lodash "4.17.20" - lru-cache "5.1.1" - merkle-patricia-tree "3.0.0" - patch-package "6.2.2" - seedrandom "3.0.1" - source-map-support "0.5.12" - tmp "0.1.0" - web3-provider-engine "14.2.1" - websocket "1.0.32" - optionalDependencies: - ethereumjs-wallet "0.6.5" - web3 "1.2.11" - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz" - integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" - integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -ghost-testrpc@^0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz" - integrity sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ== - dependencies: - chalk "^2.4.2" - node-emoji "^1.10.0" - -glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@7.1.3: - version "7.1.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz" - integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@7.1.7: - version "7.1.7" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@7.2.0, glob@^7.1.2, glob@^7.1.3: - version "7.2.0" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^5.0.15: - version "5.0.15" - resolved "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" - integrity sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA== - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@~7.2.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^8.0.3: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -global@~4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/global/-/global-4.4.0.tgz" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - -globals@^13.6.0, globals@^13.9.0: - version "13.12.1" - resolved "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz" - integrity sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw== - dependencies: - type-fest "^0.20.2" - -globals@^9.18.0: - version "9.18.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" - integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^10.0.1: - version "10.0.2" - resolved "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz" - integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.0.3" - glob "^7.1.3" - ignore "^5.1.1" - merge2 "^1.2.3" - slash "^3.0.0" - -globby@^11.0.3: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -got@9.6.0: - version "9.6.0" - resolved "https://registry.npmjs.org/got/-/got-9.6.0.tgz" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -got@^7.1.0: - version "7.1.0" - resolved "https://registry.npmjs.org/got/-/got-7.1.0.tgz" - integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== - dependencies: - decompress-response "^3.2.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-plain-obj "^1.1.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - p-cancelable "^0.3.0" - p-timeout "^1.1.1" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - url-parse-lax "^1.0.0" - url-to-options "^1.0.1" - -graceful-fs@^4.1.11: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.9" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -graphql-request@^3.6.1: - version "3.7.0" - resolved "https://registry.npmjs.org/graphql-request/-/graphql-request-3.7.0.tgz" - integrity sha512-dw5PxHCgBneN2DDNqpWu8QkbbJ07oOziy8z+bK/TAXufsOLaETuVO4GkXrbs0WjhdKhBMN3BkpN/RIvUHkmNUQ== - dependencies: - cross-fetch "^3.0.6" - extract-files "^9.0.0" - form-data "^3.0.0" - -graphql@^15.7.1: - version "15.8.0" - resolved "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz" - integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== - -growl@1.10.5: - version "1.10.5" - resolved "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - -handlebars@^4.0.1: - version "4.7.7" - resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" - integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.0" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" - integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== - -has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - dependencies: - has-symbol-support-x "^1.4.1" - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3, has@~1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz" - integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.0" - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -header-case@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz" - integrity sha1-lTWXMZfBRLCWE81l0xfvGZY70C0= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.3" - -heap@0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac" - integrity sha512-MzzWcnfB1e4EG2vHi3dXHoBupmuXNZzx6pY6HldVS55JKKBoq3xOyzfSaZRkJp37HIhEYC78knabHff3zc4dQQ== - -"heap@>= 0.2.0": - version "0.2.7" - resolved "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz" - integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== - -highlight.js@^10.4.1: - version "10.7.3" - resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz" - integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== - -highlightjs-solidity@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/highlightjs-solidity/-/highlightjs-solidity-2.0.4.tgz" - integrity sha512-jsmfDXrjjxt4LxWfzp27j4CX6qYk6B8uK8sxzEDyGts8Ut1IuVlFCysAu6n5RrgHnuEKA+SCIcGPweO7qlPhCg== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - integrity sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: - version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== - -http-errors@1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.1" - -http-https@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz" - integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.6.2: - 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.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz" - integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== - dependencies: - punycode "2.1.0" - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.1, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -ignore@^5.2.4: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -immediate@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" - integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== - -immediate@~3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" - integrity sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@^1.3.5: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== - dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" - side-channel "^1.0.4" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-buffer@~2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - -is-callable@^1.1.3, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz" - 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.11.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" - integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== - dependencies: - has "^1.0.3" - -is-core-module@^2.4.0, is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== - dependencies: - has "^1.0.3" - -is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - -is-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fn/-/is-fn-1.0.0.tgz#9543d5de7bcf5b08a22ec8a20bae6e286d510d8c" - integrity sha512-XoFPJQmsAShb3jEQRfzf2rqXavq7fIqF/jOekp308JlThqrODnMpweVSGilKTCXELfLhltGP2AGgbQGVP8F1dg== - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-function@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz" - integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== - -is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz" - integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= - -is-lower-case@^1.1.0: - version "1.1.3" - resolved "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz" - integrity sha1-fhR75HaNxGbbO/shzGCzHmrWk5M= - dependencies: - lower-case "^1.1.0" - -is-negative-zero@^2.0.1, is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-object@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz" - integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== - -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-regex@^1.0.4, is-regex@^1.1.4, is-regex@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-retry-allowed@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz" - integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-stream@^1.0.0, is-stream@^1.0.1: - version "1.1.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.9: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -is-typed-array@^1.1.3, is-typed-array@^1.1.7: - version "1.1.8" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz" - integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-upper-case@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz" - integrity sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8= - dependencies: - upper-case "^1.1.0" - -is-url@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" - integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-weakref@^1.0.1, is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - -js-sha3@0.5.5: - version "0.5.5" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.5.tgz" - integrity sha1-uvDA6MVK1ZA0R9+Wreekobynmko= - -js-sha3@0.5.7, js-sha3@^0.5.7: - version "0.5.7" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz" - integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= - -js-sha3@0.8.0, js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg== - -js-yaml@3.13.1: - version "3.13.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@3.x, js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsbi@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-4.3.0.tgz#b54ee074fb6fcbc00619559305c8f7e912b04741" - integrity sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g== - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - 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-rpc-engine@^3.4.0, json-rpc-engine@^3.6.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-3.8.0.tgz#9d4ff447241792e1d0a232f6ef927302bb0c62a9" - integrity sha512-6QNcvm2gFuuK4TKU1uwfH0Qd/cOSb9c1lls0gbnIhciktIUQJwz6NQNAW4B1KiGPenv7IKu97V222Yo1bNhGuA== - dependencies: - async "^2.0.1" - babel-preset-env "^1.7.0" - babelify "^7.3.0" - json-rpc-error "^2.0.0" - promise-to-callback "^1.0.0" - safe-event-emitter "^1.0.1" - -json-rpc-error@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/json-rpc-error/-/json-rpc-error-2.0.0.tgz#a7af9c202838b5e905c7250e547f1aff77258a02" - integrity sha512-EwUeWP+KgAZ/xqFpaP6YDAXMtCJi+o/QQpCQFIYyxr01AdADi2y413eM8hSqJcoQym9WMePAJWoaODEJufC4Ug== - dependencies: - inherits "^2.0.1" - -json-rpc-random-id@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" - integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stable-stringify@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0" - integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g== - dependencies: - jsonify "^0.0.1" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz" - integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" - integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== - -jsonschema@^1.2.4: - version "1.4.1" - resolved "https://registry.npmjs.org/jsonschema/-/jsonschema-1.4.1.tgz" - integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -keccak256@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/keccak256/-/keccak256-1.0.6.tgz#dd32fb771558fed51ce4e45a035ae7515573da58" - integrity sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw== - dependencies: - bn.js "^5.2.0" - buffer "^6.0.3" - keccak "^3.0.2" - -keccak@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.1.tgz#ae30a0e94dbe43414f741375cff6d64c8bea0bff" - integrity sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -keccak@^3.0.0, keccak@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/keccak/-/keccak-3.0.2.tgz" - integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -klaw-sync@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" - integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== - dependencies: - graceful-fs "^4.1.11" - -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz" - integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk= - optionalDependencies: - graceful-fs "^4.1.9" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - dependencies: - invert-kv "^1.0.0" - -level-codec@^9.0.0: - version "9.0.2" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-9.0.2.tgz#fd60df8c64786a80d44e63423096ffead63d8cbc" - integrity sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ== - dependencies: - buffer "^5.6.0" - -level-codec@~7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" - integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== - -level-errors@^1.0.3: - version "1.1.2" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.2.tgz#4399c2f3d3ab87d0625f7e3676e2d807deff404d" - integrity sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w== - dependencies: - errno "~0.1.1" - -level-errors@^2.0.0, level-errors@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-2.0.1.tgz#2132a677bf4e679ce029f517c2f17432800c05c8" - integrity sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw== - dependencies: - errno "~0.1.1" - -level-errors@~1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" - integrity sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig== - dependencies: - errno "~0.1.1" - -level-iterator-stream@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-2.0.3.tgz#ccfff7c046dcf47955ae9a86f46dfa06a31688b4" - integrity sha512-I6Heg70nfF+e5Y3/qfthJFexhRw/Gi3bIymCoXAlijZdAcLaPuWSJs3KXyTYf23ID6g0o2QF62Yh+grOXY3Rig== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.5" - xtend "^4.0.0" - -level-iterator-stream@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" - integrity sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw== - dependencies: - inherits "^2.0.1" - level-errors "^1.0.3" - readable-stream "^1.0.33" - xtend "^4.0.0" - -level-iterator-stream@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz#2c98a4f8820d87cdacab3132506815419077c730" - integrity sha512-nEIQvxEED9yRThxvOrq8Aqziy4EGzrxSZK+QzEFAVuJvQ8glfyZ96GB6BoI4sBbLfjMXm2w4vu3Tkcm9obcY0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.3.6" - xtend "^4.0.0" - -level-mem@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/level-mem/-/level-mem-3.0.1.tgz#7ce8cf256eac40f716eb6489654726247f5a89e5" - integrity sha512-LbtfK9+3Ug1UmvvhR2DqLqXiPW1OJ5jEh0a3m9ZgAipiwpSxGj/qaVVy54RG5vAQN1nCuXqjvprCuKSCxcJHBg== - dependencies: - level-packager "~4.0.0" - memdown "~3.0.0" - -level-packager@~4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-4.0.1.tgz#7e7d3016af005be0869bc5fa8de93d2a7f56ffe6" - integrity sha512-svCRKfYLn9/4CoFfi+d8krOtrp6RoX8+xm0Na5cgXMqSyRru0AnDYdLl+YI8u1FyS6gGZ94ILLZDE5dh2but3Q== - dependencies: - encoding-down "~5.0.0" - levelup "^3.0.0" - -level-post@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/level-post/-/level-post-1.0.7.tgz#19ccca9441a7cc527879a0635000f06d5e8f27d0" - integrity sha512-PWYqG4Q00asOrLhX7BejSajByB4EmG2GaKHfj3h5UmmZ2duciXLPGYWIjBzLECFWUGOZWlm5B20h/n3Gs3HKew== - dependencies: - ltgt "^2.1.2" - -level-sublevel@6.6.4: - version "6.6.4" - resolved "https://registry.yarnpkg.com/level-sublevel/-/level-sublevel-6.6.4.tgz#f7844ae893919cd9d69ae19d7159499afd5352ba" - integrity sha512-pcCrTUOiO48+Kp6F1+UAzF/OtWqLcQVTVF39HLdZ3RO8XBoXt+XVPKZO1vVr1aUoxHZA9OtD2e1v7G+3S5KFDA== - dependencies: - bytewise "~1.1.0" - level-codec "^9.0.0" - level-errors "^2.0.0" - level-iterator-stream "^2.0.3" - ltgt "~2.1.1" - pull-defer "^0.2.2" - pull-level "^2.0.3" - pull-stream "^3.6.8" - typewiselite "~1.0.0" - xtend "~4.0.0" - -level-ws@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" - integrity sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw== - dependencies: - readable-stream "~1.0.15" - xtend "~2.1.1" - -level-ws@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-1.0.0.tgz#19a22d2d4ac57b18cc7c6ecc4bd23d899d8f603b" - integrity sha512-RXEfCmkd6WWFlArh3X8ONvQPm8jNpfA0s/36M4QzLqrLEIt1iJE9WBHLZ5vZJK6haMjJPJGJCQWfjMNnRcq/9Q== - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.8" - xtend "^4.0.1" - -levelup@3.1.1, levelup@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-3.1.1.tgz#c2c0b3be2b4dc316647c53b42e2f559e232d2189" - integrity sha512-9N10xRkUU4dShSRRFTBdNaBxofz+PGaIZO962ckboJZiNmLuhVT6FZ6ZKAsICKfUBO76ySaYU6fJWX/jnj3Lcg== - dependencies: - deferred-leveldown "~4.0.0" - level-errors "~2.0.0" - level-iterator-stream "~3.0.0" - xtend "~4.0.0" - -levelup@^1.2.1: - version "1.3.9" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" - integrity sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ== - dependencies: - deferred-leveldown "~1.2.1" - level-codec "~7.0.0" - level-errors "~1.0.3" - level-iterator-stream "~1.3.0" - prr "~1.0.1" - semver "~5.4.1" - xtend "~4.0.0" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.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@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.assign@^4.0.3, lodash.assign@^4.0.6: - version "4.2.0" - resolved "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz" - integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= - -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" - integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - -lodash.escaperegexp@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz" - integrity sha1-ZHYsSGGAglGKw99Mz11YhtriA0c= - -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.partition@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/lodash.partition/-/lodash.partition-4.6.0.tgz" - integrity sha1-o45GtzRp4EILDaEhLmbUFL42S6Q= - -lodash.sum@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/lodash.sum/-/lodash.sum-4.0.2.tgz" - integrity sha1-rZDjl5ZdgD1PH/eqWy0Bl/O0Y3s= - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash@4.17.20: - version "4.17.20" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== - dependencies: - chalk "^2.4.2" - -log-symbols@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -looper@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/looper/-/looper-2.0.0.tgz#66cd0c774af3d4fedac53794f742db56da8f09ec" - integrity sha512-6DzMHJcjbQX/UPHc1rRCBfKlLwDkvuGZ715cIR36wSdYqWXFT35uLXq5P/2orl3tz+t+VOVPxw4yPinQlUDGDQ== - -looper@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/looper/-/looper-3.0.0.tgz#2efa54c3b1cbaba9b94aee2e5914b0be57fbb749" - integrity sha512-LJ9wplN/uSn72oJRsXTx+snxPet5c8XiZmOKCm906NVYu+ag6SB6vUcnJcWxgnl2NfbIyeobAn7Bwv6xRj2XJg== - -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -loupe@^2.3.1: - version "2.3.4" - resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz" - integrity sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ== - dependencies: - get-func-name "^2.0.0" - -lower-case-first@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz" - integrity sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E= - dependencies: - lower-case "^1.1.2" - -lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2: - version "1.1.4" - resolved "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@5.1.1, lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee" - integrity sha512-91gyOKTc2k66UG6kHiH4h3S2eltcPwE1STVfMYC/NG+nZwf8IIuiamfmpGZjpbbxzSyEJaLC0tNSmhjlQUTJow== - dependencies: - pseudomap "^1.0.1" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -ltgt@^2.1.2, ltgt@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" - integrity sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== - -ltgt@~2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.1.3.tgz#10851a06d9964b971178441c23c9e52698eece34" - integrity sha512-5VjHC5GsENtIi5rbJd+feEpDKhfr7j0odoUR2Uh978g+2p93nd5o34cTjQWohXsPsCZeqoDnIqEf88mPCe0Pfw== - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -memdown@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" - integrity sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w== - dependencies: - abstract-leveldown "~2.7.1" - functional-red-black-tree "^1.0.1" - immediate "^3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" - -memdown@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-3.0.0.tgz#93aca055d743b20efc37492e9e399784f2958309" - integrity sha512-tbV02LfZMWLcHcq4tw++NuqMO+FZX8tNJEiD2aNRm48ZZusVg5N8NART+dmBkepJVye986oixErf7jfXboMGMA== - dependencies: - abstract-leveldown "~5.0.0" - functional-red-black-tree "~1.0.1" - immediate "~3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" - -memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" - integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -merkle-patricia-tree@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz#448d85415565df72febc33ca362b8b614f5a58f8" - integrity sha512-soRaMuNf/ILmw3KWbybaCjhx86EYeBbD8ph0edQCTed0JN/rxDt1EBN52Ajre3VyGo+91f8+/rfPIRQnnGMqmQ== - dependencies: - async "^2.6.1" - ethereumjs-util "^5.2.0" - level-mem "^3.0.1" - level-ws "^1.0.0" - readable-stream "^3.0.6" - rlp "^2.0.0" - semaphore ">=1.0.1" - -merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" - integrity sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g== - dependencies: - async "^1.4.2" - ethereumjs-util "^5.0.0" - level-ws "0.0.0" - levelup "^1.2.1" - memdown "^1.0.0" - readable-stream "^2.0.0" - rlp "^2.0.0" - semaphore ">=1.0.1" - -merkletreejs@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/merkletreejs/-/merkletreejs-0.3.9.tgz#cdb364a3b974a44f4eff3446522d7066e0cf95de" - integrity sha512-NjlATjJr4NEn9s8v/VEHhgwRWaE1eA/Une07d9SEqKzULJi1Wsh0Y3svwJdP2bYLMmgSBHzOrNydMWM1NN9VeQ== - dependencies: - bignumber.js "^9.0.1" - buffer-reverse "^1.0.1" - crypto-js "^3.1.9-1" - treeify "^1.1.0" - web3-utils "^1.3.4" - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.51.0: - version "1.51.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - -mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.34" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz" - integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= - dependencies: - dom-walk "^0.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -"minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -minimist@~1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass@^2.6.0, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp-promise@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz" - integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= - dependencies: - mkdirp "*" - -mkdirp@*, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@0.5.5, mkdirp@^0.5.1, mkdirp@^0.5.5: - version "0.5.5" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mkdirp@0.5.x: - version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mocha@7.1.2: - version "7.1.2" - resolved "https://registry.npmjs.org/mocha/-/mocha-7.1.2.tgz" - integrity sha512-o96kdRKMKI3E8U0bjnfqW4QMk12MwZ4mhdBTf+B5a1q9+aq2HRnj+3ZdJu0B/ZhJeK78MgYuv6L8d/rA5AeBJA== - dependencies: - ansi-colors "3.2.3" - browser-stdout "1.3.1" - chokidar "3.3.0" - debug "3.2.6" - diff "3.5.0" - escape-string-regexp "1.0.5" - find-up "3.0.0" - glob "7.1.3" - growl "1.10.5" - he "1.2.0" - js-yaml "3.13.1" - log-symbols "3.0.0" - minimatch "3.0.4" - mkdirp "0.5.5" - ms "2.1.1" - node-environment-flags "1.0.6" - object.assign "4.1.0" - strip-json-comments "2.0.1" - supports-color "6.0.0" - which "1.3.1" - wide-align "1.1.3" - yargs "13.3.2" - yargs-parser "13.1.2" - yargs-unparser "1.6.0" - -mocha@^9.2.1: - version "9.2.1" - resolved "https://registry.npmjs.org/mocha/-/mocha-9.2.1.tgz" - integrity sha512-T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ== - dependencies: - "@ungap/promise-all-settled" "1.1.2" - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.3" - debug "4.3.3" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.2.0" - growl "1.10.5" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "3.0.4" - ms "2.1.3" - nanoid "3.2.0" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - which "2.0.2" - workerpool "6.2.0" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - -mock-fs@^4.1.0: - version "4.14.0" - resolved "https://registry.npmjs.org/mock-fs/-/mock-fs-4.14.0.tgz" - integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multibase@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz" - integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multibase@~0.6.0: - version "0.6.1" - resolved "https://registry.npmjs.org/multibase/-/multibase-0.6.1.tgz" - integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multicodec@^0.5.5: - version "0.5.7" - resolved "https://registry.npmjs.org/multicodec/-/multicodec-0.5.7.tgz" - integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== - dependencies: - varint "^5.0.0" - -multicodec@^1.0.0: - version "1.0.4" - resolved "https://registry.npmjs.org/multicodec/-/multicodec-1.0.4.tgz" - integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== - dependencies: - buffer "^5.6.0" - varint "^5.0.0" - -multihashes@^0.4.15, multihashes@~0.4.15: - version "0.4.21" - resolved "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz" - integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== - dependencies: - buffer "^5.5.0" - multibase "^0.7.0" - varint "^5.0.0" - -nano-base32@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/nano-base32/-/nano-base32-1.0.1.tgz" - integrity sha1-ulSMh578+5DaHE2eCX20pGySVe8= - -nano-json-stream-parser@^0.1.2: - version "0.1.2" - resolved "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz" - integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= - -nanoid@3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz" - integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.0: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -next-tick@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^2.2.0, no-case@^2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== - dependencies: - lower-case "^1.1.1" - -node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - -node-emoji@^1.10.0: - version "1.11.0" - resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" - integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== - dependencies: - lodash "^4.17.21" - -node-environment-flags@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz" - integrity sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw== - dependencies: - object.getownpropertydescriptors "^2.0.3" - semver "^5.7.0" - -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^2.6.1, node-fetch@^2.6.7: - version "2.6.9" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" - integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@~1.7.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - -node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz" - integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== - -nofilter@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/nofilter/-/nofilter-1.0.4.tgz" - integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA== - -nofilter@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz" - integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== - -nopt@3.x: - version "3.0.6" - resolved "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" - integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - -nth-check@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== - dependencies: - boolbase "^1.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -number-to-bn@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz" - integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= - dependencies: - bn.js "4.11.6" - strip-hex-prefix "1.0.0" - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4, object-assign@^4.0.0, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-inspect@^1.12.3, object-inspect@~1.12.3: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-keys@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" - integrity sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - -object.assign@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.getownpropertydescriptors@^2.0.3: - version "2.1.3" - resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz" - integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.getownpropertydescriptors@^2.1.1: - version "2.1.5" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz#db5a9002489b64eef903df81d6623c07e5b4b4d3" - integrity sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw== - dependencies: - array.prototype.reduce "^1.0.5" - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - -object.values@^1.1.3: - version "1.1.5" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -oboe@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.4.tgz#20c88cdb0c15371bb04119257d4fdd34b0aa49f6" - integrity sha512-ymBJ4xSC6GBXLT9Y7lirj+xbqBLa+jADGJldGEYG7u8sZbS9GyG+u1Xk9c5cbriKwSpCg41qUhPjvU5xOpvIyQ== - dependencies: - http-https "^1.0.0" - -oboe@2.1.5: - version "2.1.5" - resolved "https://registry.npmjs.org/oboe/-/oboe-2.1.5.tgz" - integrity sha1-VVQoTFQ6ImbXo48X4HOCH73jk80= - dependencies: - http-https "^1.0.0" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -open@^7.4.2: - version "7.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" - integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" - integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= - dependencies: - lcid "^1.0.0" - -os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -p-cancelable@^0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz" - integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-timeout@^1.1.1: - version "1.2.1" - resolved "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz" - integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= - dependencies: - p-finally "^1.0.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -param-case@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= - dependencies: - no-case "^2.2.0" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - 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.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-headers@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz" - integrity sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw== - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - 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" - -parse5-htmlparser2-tree-adapter@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz" - integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== - dependencies: - parse5 "^6.0.1" - -parse5@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz" - integrity sha1-LVeNNFX2YNpl7KGO+VtODekSdh4= - dependencies: - camel-case "^3.0.0" - upper-case-first "^1.1.0" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - -patch-package@6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.2.tgz#71d170d650c65c26556f0d0fbbb48d92b6cc5f39" - integrity sha512-YqScVYkVcClUY0v8fF0kWOjDYopzIM8e3bj/RU1DPeEF14+dCGm6UeOYm4jvCyxqIEQ5/eJzmbWfDWnUleFNMg== - dependencies: - "@yarnpkg/lockfile" "^1.1.0" - chalk "^2.4.2" - cross-spawn "^6.0.5" - find-yarn-workspace-root "^1.2.1" - fs-extra "^7.0.1" - is-ci "^2.0.0" - klaw-sync "^6.0.0" - minimist "^1.2.0" - rimraf "^2.6.3" - semver "^5.6.0" - slash "^2.0.0" - tmp "^0.0.33" - -patch-package@^6.2.2: - version "6.5.1" - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.5.1.tgz#3e5d00c16997e6160291fee06a521c42ac99b621" - integrity sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA== - dependencies: - "@yarnpkg/lockfile" "^1.1.0" - chalk "^4.1.2" - cross-spawn "^6.0.5" - find-yarn-workspace-root "^2.0.0" - fs-extra "^9.0.0" - is-ci "^2.0.0" - klaw-sync "^6.0.0" - minimist "^1.2.6" - open "^7.4.2" - rimraf "^2.6.3" - semver "^5.6.0" - slash "^2.0.0" - tmp "^0.0.33" - yaml "^1.10.2" - -path-browserify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-case@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz" - integrity sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU= - dependencies: - no-case "^2.2.0" - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9: - version "3.1.2" - resolved "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - -pluralize@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - -postinstall-postinstall@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3" - integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ== - -precond@0.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" - integrity sha512-QCYG84SgGyGzqJ/vlMsxeXd/pgL/I94ixdNFyh1PusWmTCyVfPJjZ1K1jvHtsbfnXQs2TSkEP2fR7QiMZAnKFQ== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier-plugin-solidity@1.0.0-beta.17: - version "1.0.0-beta.17" - resolved "https://registry.npmjs.org/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.17.tgz" - integrity sha512-YFkxV/rHi1mphi17/XKcJ9QjZlb+L/J0yY2erix21BZfzPv2BN9dfmSRGr/poDp/FBOFSW+jteP2BCMe7HndVQ== - dependencies: - "@solidity-parser/parser" "^0.13.2" - emoji-regex "^9.2.2" - escape-string-regexp "^4.0.0" - semver "^7.3.5" - solidity-comments-extractor "^0.0.7" - string-width "^4.2.2" - -prettier@2.7.1: - version "2.7.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz" - integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== - -prettier@^2.1.2: - version "2.8.7" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" - integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== - -prettier@^2.3.1: - version "2.6.2" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz" - integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== - -prettier@^2.8.3: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -printj@~1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/printj/-/printj-1.3.1.tgz" - integrity sha512-GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg== - -private@^0.1.6, private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-to-callback@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/promise-to-callback/-/promise-to-callback-1.0.0.tgz#5d2a749010bfb67d963598fcd3960746a68feef7" - integrity sha512-uhMIZmKM5ZteDMfLgJnoSq9GCwsNKrYau73Awf1jIy6/eUcuuZ3P+CD9zUv0kJsIUbU+x6uLNIhXhLHDs1pNPA== - dependencies: - is-fn "^1.0.0" - set-immediate-shim "^1.0.1" - -proper-lockfile@^4.1.1: - version "4.1.2" - resolved "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz" - integrity sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== - dependencies: - graceful-fs "^4.2.4" - retry "^0.12.0" - signal-exit "^3.0.2" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -pseudomap@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pull-cat@^1.1.9: - version "1.1.11" - resolved "https://registry.yarnpkg.com/pull-cat/-/pull-cat-1.1.11.tgz#b642dd1255da376a706b6db4fa962f5fdb74c31b" - integrity sha512-i3w+xZ3DCtTVz8S62hBOuNLRHqVDsHMNZmgrZsjPnsxXUgbWtXEee84lo1XswE7W2a3WHyqsNuDJTjVLAQR8xg== - -pull-defer@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/pull-defer/-/pull-defer-0.2.3.tgz#4ee09c6d9e227bede9938db80391c3dac489d113" - integrity sha512-/An3KE7mVjZCqNhZsr22k1Tx8MACnUnHZZNPSJ0S62td8JtYr/AiRG42Vz7Syu31SoTLUzVIe61jtT/pNdjVYA== - -pull-level@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pull-level/-/pull-level-2.0.4.tgz#4822e61757c10bdcc7cf4a03af04c92734c9afac" - integrity sha512-fW6pljDeUThpq5KXwKbRG3X7Ogk3vc75d5OQU/TvXXui65ykm+Bn+fiktg+MOx2jJ85cd+sheufPL+rw9QSVZg== - dependencies: - level-post "^1.0.7" - pull-cat "^1.1.9" - pull-live "^1.0.1" - pull-pushable "^2.0.0" - pull-stream "^3.4.0" - pull-window "^2.1.4" - stream-to-pull-stream "^1.7.1" - -pull-live@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/pull-live/-/pull-live-1.0.1.tgz#a4ecee01e330155e9124bbbcf4761f21b38f51f5" - integrity sha512-tkNz1QT5gId8aPhV5+dmwoIiA1nmfDOzJDlOOUpU5DNusj6neNd3EePybJ5+sITr2FwyCs/FVpx74YMCfc8YeA== - dependencies: - pull-cat "^1.1.9" - pull-stream "^3.4.0" - -pull-pushable@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/pull-pushable/-/pull-pushable-2.2.0.tgz#5f2f3aed47ad86919f01b12a2e99d6f1bd776581" - integrity sha512-M7dp95enQ2kaHvfCt2+DJfyzgCSpWVR2h2kWYnVsW6ZpxQBx5wOu0QWOvQPVoPnBLUZYitYP2y7HyHkLQNeGXg== - -pull-stream@^3.2.3, pull-stream@^3.4.0, pull-stream@^3.6.8: - version "3.7.0" - resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.7.0.tgz#85de0e44ff38a4d2ad08cc43fc458e1922f9bf0b" - integrity sha512-Eco+/R004UaCK2qEDE8vGklcTG2OeZSVm1kTUQNrykEjDwcFXDZhygFDsW49DbXyJMEhHeRL3z5cRVqPAhXlIw== - -pull-window@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/pull-window/-/pull-window-2.1.4.tgz#fc3b86feebd1920c7ae297691e23f705f88552f0" - integrity sha512-cbDzN76BMlcGG46OImrgpkMf/VkCnupj8JhsrpBw3aWBM9ye345aYnqitmZCgauBkc0HbbRRn9hCnsa3k2FNUg== - dependencies: - looper "^2.0.0" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== - -punycode@2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz" - integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -pure-rand@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-5.0.0.tgz" - integrity sha512-lD2/y78q+7HqBx2SaT6OT4UcwtvXNRfEpzYEzl0EQ+9gZq2Qi3fa0HDnYPeqQwhlHJFBUhT7AO3mLU3+8bynHA== - -qs@6.9.7: - version "6.9.7" - resolved "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz" - integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== - -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -ramda@^0.27.1: - version "0.27.2" - resolved "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz" - integrity sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.0.6, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.3: - version "2.4.3" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz" - integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g== - dependencies: - bytes "3.1.2" - http-errors "1.8.1" - iconv-lite "0.4.24" - unpipe "1.0.0" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -readable-stream@^1.0.33: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.8, readable-stream@^2.2.9, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^2.2.2: - version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@~1.0.15: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readdirp@~3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz" - integrity sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ== - dependencies: - picomatch "^2.0.4" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -recursive-readdir@^2.2.2: - version "2.2.2" - resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz" - integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== - dependencies: - minimatch "3.0.4" - -reduce-flatten@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz" - integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== - -regenerate@^1.2.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -regenerator-transform@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" - integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== - dependencies: - babel-runtime "^6.18.0" - babel-types "^6.19.0" - private "^0.1.6" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.3: - version "1.5.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" - integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - functions-have-names "^1.2.3" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - integrity sha512-tJ9+S4oKjxY8IZ9jmjnp/mtytu1u3iyIQAfmI51IKWH6bFf7XR1ybtaO6j7INhZKXOTYADk7V5qxaqLkmNxiZQ== - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha512-x+Y3yA24uF68m5GA+tBjbGYo64xXVJpbToBaWCoSNSc1hdk6dfctaRWrNFTVJZIIhL5GxW8zwjoixbnifnK59g== - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha512-jlQ9gYLfk2p3V5Ag5fYhA7fv7OHzd1KUH0PRP46xc3TgwjwgROIW572AfYg/X9kaNq/LJnu6oJcFRXlIrGoTRw== - dependencies: - jsesc "~0.5.0" - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A== - dependencies: - is-finite "^1.0.0" - -request@^2.79.0, request@^2.85.0: - version "2.88.2" - resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^1.1.0: - version "1.2.1" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz" - integrity sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg= - -require-from-string@^2.0.0, require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requireindex@~1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz" - integrity sha1-5UBLgVV+91225JxacgBIk/4D4WI= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - -resolve@1.1.x: - version "1.1.7" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" - integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== - -resolve@^1.1.6: - version "1.22.1" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.20.0: - version "1.22.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.8.1, resolve@~1.22.1: - version "1.22.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -resumer@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" - integrity sha512-Fn9X8rX8yYF4m81rZCK/5VmrmsSbqS/i3rDLl6ZZHAXgC2nTAx3dhwG8q8odP/RmdLa2YrybDJaAMg+X1ajY3w== - dependencies: - through "~2.3.4" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^2.2.8, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -ripemd160-min@0.0.6: - version "0.0.6" - resolved "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz" - integrity sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A== - -ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rlp@^2.0.0, rlp@^2.2.1, rlp@^2.2.2, rlp@^2.2.3, rlp@^2.2.4: - version "2.2.7" - resolved "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz" - integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== - dependencies: - bn.js "^5.2.0" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -rustbn.js@~0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/rustbn.js/-/rustbn.js-0.2.0.tgz" - integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== - -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-event-emitter@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af" - integrity sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg== - dependencies: - events "^3.0.0" - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== - dependencies: - ret "~0.1.10" - -"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.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sc-istanbul@^0.4.5: - version "0.4.6" - resolved "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz" - integrity sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g== - dependencies: - abbrev "1.0.x" - async "1.x" - escodegen "1.8.x" - esprima "2.7.x" - glob "^5.0.15" - handlebars "^4.0.1" - js-yaml "3.x" - mkdirp "0.5.x" - nopt "3.x" - once "1.x" - resolve "1.1.x" - supports-color "^3.1.0" - which "^1.1.1" - wordwrap "^1.0.0" - -scrypt-js@2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz" - integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== - -scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -scryptsy@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-1.2.1.tgz#a3225fa4b2524f802700761e2855bdf3b2d92163" - integrity sha512-aldIRgMozSJ/Gl6K6qmJZysRP82lz83Wb42vl4PWN8SaLFHIaOzLPc9nUUW2jQN88CuGm5q5HefJ9jZ3nWSmTw== - dependencies: - pbkdf2 "^3.0.3" - -secp256k1@^4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.3.tgz" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - -seedrandom@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.1.tgz#eb3dde015bcf55df05a233514e5df44ef9dce083" - integrity sha512-1/02Y/rUeU1CJBAGLebiC5Lbo5FnB22gQbIFFYTLkwvp1xdABZJH1sn4ZT1MzXmPpzv+Rf/Lu2NcsLJiK4rcDg== - -semaphore@>=1.0.1, semaphore@^1.0.3, semaphore@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.1.0.tgz#aaad8b86b20fe8e9b32b16dc2ee682a8cd26a8aa" - integrity sha512-O4OZEaNtkMd/K0i6js9SL+gqy0ZCBMgUvlSqHKi4IBdjhe7wB8pwztUk1BbZ1fmrvpwFrPbHzqd2w5pTcJH6LA== - -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.1.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.2.1, semver@^7.3.4, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -semver@~5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== - -send@0.17.2: - version "0.17.2" - resolved "https://registry.npmjs.org/send/-/send-0.17.2.tgz" - integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww== - dependencies: - debug "2.6.9" - depd "~1.1.2" - destroy "~1.0.4" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "1.8.1" - mime "1.6.0" - ms "2.1.3" - on-finished "~2.3.0" - range-parser "~1.2.1" - statuses "~1.5.0" - -sentence-case@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz" - integrity sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ= - dependencies: - no-case "^2.2.0" - upper-case-first "^1.1.2" - -serialize-javascript@6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serve-static@1.14.2: - version "1.14.2" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz" - integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.2" - -servify@^0.1.12: - version "0.1.12" - resolved "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz" - integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== - dependencies: - body-parser "^1.16.0" - cors "^2.8.1" - express "^4.14.0" - request "^2.79.0" - xhr "^2.3.3" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - integrity sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ== - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz" - integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48= - -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -sha3@^2.1.1: - version "2.1.4" - resolved "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz" - integrity sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg== - dependencies: - buffer "6.0.3" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shelljs@^0.8.3: - version "0.8.5" - resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^2.7.0: - version "2.8.2" - resolved "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz" - integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== - dependencies: - decompress-response "^3.3.0" - once "^1.3.1" - simple-concat "^1.0.0" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg== - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snake-case@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz" - integrity sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8= - dependencies: - no-case "^2.2.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -solc@0.8.12: - version "0.8.12" - resolved "https://registry.npmjs.org/solc/-/solc-0.8.12.tgz" - integrity sha512-TU3anAhKWBQ/WrerJ9EcHrNwGOA1y5vIk5Flz7dBNamLDkX9VQTIwcKd3FiZsT0Ew8rSU7RTmJyGNHRGzP5TBA== - dependencies: - command-exists "^1.2.8" - commander "^8.1.0" - follow-redirects "^1.12.1" - js-sha3 "0.8.0" - memorystream "^0.3.1" - semver "^5.5.0" - tmp "0.0.33" - -solc@^0.4.20: - version "0.4.26" - resolved "https://registry.npmjs.org/solc/-/solc-0.4.26.tgz" - integrity sha512-o+c6FpkiHd+HPjmjEVpQgH7fqZ14tJpXhho+/bQXlXbliLIS/xjXb42Vxh+qQY1WCSTMQ0+a5vR9vi0MfhU6mA== - dependencies: - fs-extra "^0.30.0" - memorystream "^0.3.1" - require-from-string "^1.1.0" - semver "^5.3.0" - yargs "^4.7.1" - -solc@^0.6.3: - version "0.6.12" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.6.12.tgz#48ac854e0c729361b22a7483645077f58cba080e" - integrity sha512-Lm0Ql2G9Qc7yPP2Ba+WNmzw2jwsrd3u4PobHYlSOxaut3TtUbj9+5ZrT6f4DUpNPEoBaFUOEg9Op9C0mk7ge9g== - dependencies: - command-exists "^1.2.8" - commander "3.0.2" - fs-extra "^0.30.0" - js-sha3 "0.8.0" - memorystream "^0.3.1" - require-from-string "^2.0.0" - semver "^5.5.0" - tmp "0.0.33" - -solhint-plugin-prettier@0.0.5: - version "0.0.5" - resolved "https://registry.npmjs.org/solhint-plugin-prettier/-/solhint-plugin-prettier-0.0.5.tgz" - integrity sha512-7jmWcnVshIrO2FFinIvDQmhQpfpS2rRRn3RejiYgnjIE68xO2bvrYvjqVNfrio4xH9ghOqn83tKuTzLjEbmGIA== - dependencies: - prettier-linter-helpers "^1.0.0" - -solhint@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/solhint/-/solhint-3.4.1.tgz#8ea15b21c13d1be0b53fd46d605a24d0b36a0c46" - integrity sha512-pzZn2RlZhws1XwvLPVSsxfHrwsteFf5eySOhpAytzXwKQYbTCJV6z8EevYDiSVKMpWrvbKpEtJ055CuEmzp4Xg== - dependencies: - "@solidity-parser/parser" "^0.16.0" - ajv "^6.12.6" - antlr4 "^4.11.0" - ast-parents "^0.0.1" - chalk "^4.1.2" - commander "^10.0.0" - cosmiconfig "^8.0.0" - fast-diff "^1.2.0" - glob "^8.0.3" - ignore "^5.2.4" - js-yaml "^4.1.0" - lodash "^4.17.21" - pluralize "^8.0.0" - semver "^6.3.0" - strip-ansi "^6.0.1" - table "^6.8.1" - text-table "^0.2.0" - optionalDependencies: - prettier "^2.8.3" - -solidity-ast@^0.4.15: - version "0.4.30" - resolved "https://registry.npmjs.org/solidity-ast/-/solidity-ast-0.4.30.tgz" - integrity sha512-3xsQIbZEPx6w7+sQokuOvk1RkMb5GIpuK0GblQDIH6IAkU4+uyJQVJIRNP+8KwhzkViwRKq0hS4zLqQNLKpxOA== - -solidity-comments-extractor@^0.0.7: - version "0.0.7" - resolved "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz" - integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== - -solidity-coverage@^0.8.2: - version "0.8.2" - resolved "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.2.tgz" - integrity sha512-cv2bWb7lOXPE9/SSleDO6czkFiMHgP4NXPj+iW9W7iEKLBk7Cj0AGBiNmGX3V1totl9wjPrT0gHmABZKZt65rQ== - dependencies: - "@ethersproject/abi" "^5.0.9" - "@solidity-parser/parser" "^0.14.1" - chalk "^2.4.2" - death "^1.1.0" - detect-port "^1.3.0" - difflib "^0.2.4" - fs-extra "^8.1.0" - ghost-testrpc "^0.0.2" - global-modules "^2.0.0" - globby "^10.0.1" - jsonschema "^1.2.4" - lodash "^4.17.15" - mocha "7.1.2" - node-emoji "^1.10.0" - pify "^4.0.1" - recursive-readdir "^2.2.2" - sc-istanbul "^0.4.5" - semver "^7.3.4" - shelljs "^0.8.3" - web3-utils "^1.3.6" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@0.5.12: - version "0.5.12" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" - integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.4.15: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - dependencies: - source-map "^0.5.6" - -source-map-support@^0.5.17: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.6, source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@~0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz" - integrity sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA== - dependencies: - amdefine ">=0.0.4" - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stream-to-pull-stream@^1.7.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/stream-to-pull-stream/-/stream-to-pull-stream-1.7.3.tgz#4161aa2d2eb9964de60bfa1af7feaf917e874ece" - integrity sha512-6sNyqJpr5dIOQdgNy/xcDWwDuzAsAwVzhzrWlAPAQ7Lkjx/rv0wgvxEyKwTq6FmNd5rjTrELt/CLmaSw7crMGg== - dependencies: - looper "^3.0.0" - pull-stream "^3.2.3" - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -string-format@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz" - integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2": - version "2.1.1" - resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.trim@^1.2.7, string.prototype.trim@~1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" - integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-hex-prefix@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz" - integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= - dependencies: - is-hex-prefixed "1.0.0" - -strip-indent@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz" - integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= - -strip-json-comments@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz" - integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== - dependencies: - has-flag "^3.0.0" - -supports-color@8.1.1: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== - -supports-color@^3.1.0: - version "3.2.3" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz" - integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A== - dependencies: - has-flag "^1.0.0" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -swap-case@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz" - integrity sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM= - dependencies: - lower-case "^1.1.1" - upper-case "^1.1.1" - -swarm-js@^0.1.40: - version "0.1.40" - resolved "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.40.tgz" - integrity sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA== - dependencies: - bluebird "^3.5.0" - buffer "^5.0.5" - eth-lib "^0.1.26" - fs-extra "^4.0.2" - got "^7.1.0" - mime-types "^2.1.16" - mkdirp-promise "^5.0.1" - mock-fs "^4.1.0" - setimmediate "^1.0.5" - tar "^4.0.2" - xhr-request "^1.0.1" - -table-layout@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz" - integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== - dependencies: - array-back "^4.0.1" - deep-extend "~0.6.0" - typical "^5.2.0" - wordwrapjs "^4.0.0" - -table@^6.0.9: - version "6.8.0" - resolved "https://registry.npmjs.org/table/-/table-6.8.0.tgz" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -table@^6.8.1: - version "6.8.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" - integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -tape@^4.6.3: - version "4.16.2" - resolved "https://registry.yarnpkg.com/tape/-/tape-4.16.2.tgz#7565e6af20426565557266e9dda7215869b297b6" - integrity sha512-TUChV+q0GxBBCEbfCYkGLkv8hDJYjMdSWdE0/Lr331sB389dsvFUHNV9ph5iQqKzt8Ss9drzcda/YeexclBFqg== - dependencies: - call-bind "~1.0.2" - deep-equal "~1.1.1" - defined "~1.0.1" - dotignore "~0.1.2" - for-each "~0.3.3" - glob "~7.2.3" - has "~1.0.3" - inherits "~2.0.4" - is-regex "~1.1.4" - minimist "~1.2.7" - object-inspect "~1.12.3" - resolve "~1.22.1" - resumer "~0.0.0" - string.prototype.trim "~1.2.7" - through "~2.3.8" - -tar@^4.0.2: - version "4.4.19" - resolved "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz" - integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== - dependencies: - chownr "^1.1.4" - fs-minipass "^1.2.7" - minipass "^2.9.0" - minizlib "^1.3.3" - mkdirp "^0.5.5" - safe-buffer "^5.2.1" - yallist "^3.1.1" - -test-value@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz#11da6ff670f3471a73b625ca4f3fdcf7bb748291" - integrity sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w== - dependencies: - array-back "^1.0.3" - typical "^2.6.0" - -testrpc@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/testrpc/-/testrpc-0.0.1.tgz" - integrity sha512-afH1hO+SQ/VPlmaLUFj2636QMeDvPCeQMc/9RBMW0IfjNe9gFD9Ra3ShqYkB7py0do1ZcCna/9acHyzTJ+GcNA== - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -through2@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@~2.3.4, through@~2.3.8: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -timed-out@^4.0.0, timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - -tiny-invariant@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.2.0.tgz" - integrity sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg== - -title-case@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz" - integrity sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o= - dependencies: - no-case "^2.2.0" - upper-case "^1.0.3" - -tmp@0.0.33, tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmp@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.1.0.tgz#ee434a4e22543082e294ba6201dcc6eafefa2877" - integrity sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw== - dependencies: - rimraf "^2.6.3" - -to-fast-properties@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" - integrity sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og== - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - 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" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -treeify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8" - integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A== - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw== - -ts-command-line-args@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.2.1.tgz" - integrity sha512-mnK68QA86FYzQYTSA/rxIjT/8EpKsvQw9QkawPic8I8t0gjAOw3Oa509NIRoaY1FmH7hdrncMp7t7o+vYoceNQ== - dependencies: - chalk "^4.1.0" - command-line-args "^5.1.1" - command-line-usage "^6.1.0" - string-format "^2.0.0" - -ts-essentials@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-1.0.4.tgz#ce3b5dade5f5d97cf69889c11bf7d2da8555b15a" - integrity sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ== - -ts-essentials@^6.0.3: - version "6.0.7" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-6.0.7.tgz#5f4880911b7581a873783740ce8b94da163d18a6" - integrity sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw== - -ts-essentials@^7.0.1: - version "7.0.3" - resolved "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz" - integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== - -ts-generator@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ts-generator/-/ts-generator-0.1.1.tgz#af46f2fb88a6db1f9785977e9590e7bcd79220ab" - integrity sha512-N+ahhZxTLYu1HNTQetwWcx3so8hcYbkKBHTr4b4/YgObFTIKkOSSsaa+nal12w8mfrJAyzJfETXawbNjSfP2gQ== - dependencies: - "@types/mkdirp" "^0.5.2" - "@types/prettier" "^2.1.1" - "@types/resolve" "^0.0.8" - chalk "^2.4.1" - glob "^7.1.2" - mkdirp "^0.5.1" - prettier "^2.1.2" - resolve "^1.8.1" - ts-essentials "^1.0.0" - -ts-node@10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz" - integrity sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA== - dependencies: - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - source-map-support "^0.5.17" - yn "3.1.1" - -tsconfig-paths@^3.9.0: - version "3.12.0" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz" - integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.2.0: - version "2.3.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl-util@^0.15.0: - version "0.15.1" - resolved "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz" - integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -tweetnacl@^1.0.0, tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@^4.0.0, type-detect@^4.0.5: - version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.5.0: - version "2.6.0" - resolved "https://registry.npmjs.org/type/-/type-2.6.0.tgz" - integrity sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ== - -typechain@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/typechain/-/typechain-3.0.0.tgz#d5a47700831f238e43f7429b987b4bb54849b92e" - integrity sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg== - dependencies: - command-line-args "^4.0.7" - debug "^4.1.1" - fs-extra "^7.0.0" - js-sha3 "^0.8.0" - lodash "^4.17.15" - ts-essentials "^6.0.3" - ts-generator "^0.1.1" - -typechain@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/typechain/-/typechain-8.0.0.tgz" - integrity sha512-rqDfDYc9voVAhmfVfAwzg3VYFvhvs5ck1X9T/iWkX745Cul4t+V/smjnyqrbDzWDbzD93xfld1epg7Y/uFAesQ== - dependencies: - "@types/prettier" "^2.1.1" - debug "^4.3.1" - fs-extra "^7.0.0" - glob "7.1.7" - js-sha3 "^0.8.0" - lodash "^4.17.15" - mkdirp "^1.0.4" - prettier "^2.3.1" - ts-command-line-args "^2.2.0" - ts-essentials "^7.0.1" - -typechain@^8.1.0: - version "8.1.0" - resolved "https://registry.npmjs.org/typechain/-/typechain-8.1.0.tgz" - integrity sha512-5jToLgKTjHdI1VKqs/K8BLYy42Sr3o8bV5ojh4MnR9ExHO83cyyUdw+7+vMJCpKXUiVUvARM4qmHTFuyaCMAZQ== - dependencies: - "@types/prettier" "^2.1.1" - debug "^4.3.1" - fs-extra "^7.0.0" - glob "7.1.7" - js-sha3 "^0.8.0" - lodash "^4.17.15" - mkdirp "^1.0.4" - prettier "^2.3.1" - ts-command-line-args "^2.2.0" - ts-essentials "^7.0.1" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typescript@^4.7.4: - version "4.8.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz" - integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== - -typewise-core@^1.2, typewise-core@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/typewise-core/-/typewise-core-1.2.0.tgz#97eb91805c7f55d2f941748fa50d315d991ef195" - integrity sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg== - -typewise@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/typewise/-/typewise-1.0.3.tgz#1067936540af97937cc5dcf9922486e9fa284651" - integrity sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ== - dependencies: - typewise-core "^1.2.0" - -typewiselite@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typewiselite/-/typewiselite-1.0.0.tgz#c8882fa1bb1092c06005a97f34ef5c8508e3664e" - integrity sha512-J9alhjVHupW3Wfz6qFRGgQw0N3gr8hOkw6zm7FZ6UR1Cse/oD9/JVok7DNE9TT9IbciDHX2Ex9+ksE6cRmtymw== - -typical@^2.6.0, typical@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" - integrity sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg== - -typical@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz" - integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== - -typical@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz" - integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== - -uglify-js@^3.1.4: - version "3.15.1" - resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.1.tgz" - integrity sha512-FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ== - -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -underscore@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" - integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unorm@^1.3.3: - version "1.6.0" - resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af" - integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upper-case-first@^1.1.0, upper-case-first@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz" - integrity sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU= - dependencies: - upper-case "^1.1.1" - -upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= - dependencies: - prepend-http "^1.0.1" - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -url-set-query@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz" - integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk= - -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz" - integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ== - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -utf-8-validate@^5.0.2: - version "5.0.8" - resolved "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.8.tgz" - integrity sha512-k4dW/Qja1BYDl2qD4tOMB9PFVha/UJtxTc1cXYOe3WwA/2m0Yn4qB7wLMpJyLJ/7DR0XnTut3HsCSzDT4ZvKgA== - dependencies: - node-gyp-build "^4.3.0" - -utf8@3.0.0, utf8@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util.promisify@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" - integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - for-each "^0.3.3" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.1" - -util@^0.12.0: - version "0.12.4" - resolved "https://registry.npmjs.org/util/-/util-0.12.4.tgz" - integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - safe-buffer "^5.1.2" - which-typed-array "^1.1.2" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz" - integrity sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w= - -uuid@3.3.2: - version "3.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -varint@^5.0.0: - version "5.0.2" - resolved "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz" - integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -web3-bzz@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.11.tgz#41bc19a77444bd5365744596d778b811880f707f" - integrity sha512-XGpWUEElGypBjeFyUhTkiPXFbDVD6Nr/S5jznE3t8cWUA0FxRf1n3n/NuIZeb0H9RkN2Ctd/jNma/k8XGa3YKg== - dependencies: - "@types/node" "^12.12.6" - got "9.6.0" - swarm-js "^0.1.40" - underscore "1.9.1" - -web3-bzz@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.5.3.tgz" - integrity sha512-SlIkAqG0eS6cBS9Q2eBOTI1XFzqh83RqGJWnyrNZMDxUwsTVHL+zNnaPShVPvrWQA1Ub5b0bx1Kc5+qJVxsTJg== - dependencies: - "@types/node" "^12.12.6" - got "9.6.0" - swarm-js "^0.1.40" - -web3-bzz@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.7.0.tgz" - integrity sha512-XPhTWUnZa8gnARfiqaag3jJ9+6+a66Li8OikgBUJoMUqPuQTCJPncTbGYqOJIfRFGavEAdlMnfYXx9lvgv2ZPw== - dependencies: - "@types/node" "^12.12.6" - got "9.6.0" - swarm-js "^0.1.40" - -web3-core-helpers@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.11.tgz#84c681ed0b942c0203f3b324a245a127e8c67a99" - integrity sha512-PEPoAoZd5ME7UfbnCZBdzIerpe74GEvlwT4AjOmHeCVZoIFk7EqvOZDejJHt+feJA6kMVTdd0xzRNN295UhC1A== - dependencies: - underscore "1.9.1" - web3-eth-iban "1.2.11" - web3-utils "1.2.11" - -web3-core-helpers@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz" - integrity sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw== - dependencies: - web3-eth-iban "1.5.3" - web3-utils "1.5.3" - -web3-core-helpers@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.7.0.tgz" - integrity sha512-kFiqsZFHJliKF8VKZNjt2JvKu3gu7h3N1/ke3EPhdp9Li/rLmiyzFVr6ApryZ1FSjbSx6vyOkibG3m6xQ5EHJA== - dependencies: - web3-eth-iban "1.7.0" - web3-utils "1.7.0" - -web3-core-method@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.11.tgz#f880137d1507a0124912bf052534f168b8d8fbb6" - integrity sha512-ff0q76Cde94HAxLDZ6DbdmKniYCQVtvuaYh+rtOUMB6kssa5FX0q3vPmixi7NPooFnbKmmZCM6NvXg4IreTPIw== - dependencies: - "@ethersproject/transactions" "^5.0.0-beta.135" - underscore "1.9.1" - web3-core-helpers "1.2.11" - web3-core-promievent "1.2.11" - web3-core-subscriptions "1.2.11" - web3-utils "1.2.11" - -web3-core-method@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.5.3.tgz" - integrity sha512-8wJrwQ2qD9ibWieF9oHXwrJsUGrv3XAtEkNeyvyNMpktNTIjxJ2jaFGQUuLiyUrMubD18XXgLk4JS6PJU4Loeg== - dependencies: - "@ethereumjs/common" "^2.4.0" - "@ethersproject/transactions" "^5.0.0-beta.135" - web3-core-helpers "1.5.3" - web3-core-promievent "1.5.3" - web3-core-subscriptions "1.5.3" - web3-utils "1.5.3" - -web3-core-method@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.7.0.tgz" - integrity sha512-43Om+kZX8wU5u1pJ28TltF9e9pSTRph6b8wrOb6wgXAfPHqMulq6UTBJWjXXIRVN46Eiqv0nflw35hp9bbgnbA== - dependencies: - "@ethersproject/transactions" "^5.0.0-beta.135" - web3-core-helpers "1.7.0" - web3-core-promievent "1.7.0" - web3-core-subscriptions "1.7.0" - web3-utils "1.7.0" - -web3-core-promievent@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.11.tgz#51fe97ca0ddec2f99bf8c3306a7a8e4b094ea3cf" - integrity sha512-il4McoDa/Ox9Agh4kyfQ8Ak/9ABYpnF8poBLL33R/EnxLsJOGQG2nZhkJa3I067hocrPSjEdlPt/0bHXsln4qA== - dependencies: - eventemitter3 "4.0.4" - -web3-core-promievent@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz" - integrity sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg== - dependencies: - eventemitter3 "4.0.4" - -web3-core-promievent@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.7.0.tgz" - integrity sha512-xPH66XeC0K0k29GoRd0vyPQ07yxERPRd4yVPrbMzGAz/e9E4M3XN//XK6+PdfGvGw3fx8VojS+tNIMiw+PujbQ== - dependencies: - eventemitter3 "4.0.4" - -web3-core-requestmanager@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.11.tgz#fe6eb603fbaee18530293a91f8cf26d8ae28c45a" - integrity sha512-oFhBtLfOiIbmfl6T6gYjjj9igOvtyxJ+fjS+byRxiwFJyJ5BQOz4/9/17gWR1Cq74paTlI7vDGxYfuvfE/mKvA== - dependencies: - underscore "1.9.1" - web3-core-helpers "1.2.11" - web3-providers-http "1.2.11" - web3-providers-ipc "1.2.11" - web3-providers-ws "1.2.11" - -web3-core-requestmanager@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.5.3.tgz" - integrity sha512-9k/Bze2rs8ONix5IZR+hYdMNQv+ark2Ek2kVcrFgWO+LdLgZui/rn8FikPunjE+ub7x7pJaKCgVRbYFXjo3ZWg== - dependencies: - util "^0.12.0" - web3-core-helpers "1.5.3" - web3-providers-http "1.5.3" - web3-providers-ipc "1.5.3" - web3-providers-ws "1.5.3" - -web3-core-requestmanager@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.7.0.tgz" - integrity sha512-rA3dBTBPrt+eIfTAQ2/oYNTN/2wbZaYNR3pFZGqG8+2oCK03+7oQyz4sWISKy/nYQhURh4GK01rs9sN4o/Tq9w== - dependencies: - util "^0.12.0" - web3-core-helpers "1.7.0" - web3-providers-http "1.7.0" - web3-providers-ipc "1.7.0" - web3-providers-ws "1.7.0" - -web3-core-subscriptions@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.11.tgz#beca908fbfcb050c16f45f3f0f4c205e8505accd" - integrity sha512-qEF/OVqkCvQ7MPs1JylIZCZkin0aKK9lDxpAtQ1F8niEDGFqn7DT8E/vzbIa0GsOjL2fZjDhWJsaW+BSoAW1gg== - dependencies: - eventemitter3 "4.0.4" - underscore "1.9.1" - web3-core-helpers "1.2.11" - -web3-core-subscriptions@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.5.3.tgz" - integrity sha512-L2m9vG1iRN6thvmv/HQwO2YLhOQlmZU8dpLG6GSo9FBN14Uch868Swk0dYVr3rFSYjZ/GETevSXU+O+vhCummA== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.5.3" - -web3-core-subscriptions@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.7.0.tgz" - integrity sha512-6giF8pyJrPmWrRpc2WLoVCvQdMMADp20ZpAusEW72axauZCNlW1XfTjs0i4QHQBfdd2lFp65qad9IuATPhuzrQ== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.7.0" - -web3-core@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.11.tgz#1043cacc1becb80638453cc5b2a14be9050288a7" - integrity sha512-CN7MEYOY5ryo5iVleIWRE3a3cZqVaLlIbIzDPsvQRUfzYnvzZQRZBm9Mq+ttDi2STOOzc1MKylspz/o3yq/LjQ== - dependencies: - "@types/bn.js" "^4.11.5" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.2.11" - web3-core-method "1.2.11" - web3-core-requestmanager "1.2.11" - web3-utils "1.2.11" - -web3-core@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-core/-/web3-core-1.5.3.tgz" - integrity sha512-ACTbu8COCu+0eUNmd9pG7Q9EVsNkAg2w3Y7SqhDr+zjTgbSHZV01jXKlapm9z+G3AN/BziV3zGwudClJ4u4xXQ== - dependencies: - "@types/bn.js" "^4.11.5" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.5.3" - web3-core-method "1.5.3" - web3-core-requestmanager "1.5.3" - web3-utils "1.5.3" - -web3-core@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-core/-/web3-core-1.7.0.tgz" - integrity sha512-U/CRL53h3T5KHl8L3njzCBT7fCaHkbE6BGJe3McazvFldRbfTDEHXkUJCyM30ZD0RoLi3aDfTVeFIusmEyCctA== - dependencies: - "@types/bn.js" "^4.11.5" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-core-requestmanager "1.7.0" - web3-utils "1.7.0" - -web3-eth-abi@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.11.tgz#a887494e5d447c2926d557a3834edd66e17af9b0" - integrity sha512-PkRYc0+MjuLSgg03QVWqWlQivJqRwKItKtEpRUaxUAeLE7i/uU39gmzm2keHGcQXo3POXAbOnMqkDvOep89Crg== - dependencies: - "@ethersproject/abi" "5.0.0-beta.153" - underscore "1.9.1" - web3-utils "1.2.11" - -web3-eth-abi@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.3.tgz" - integrity sha512-i/qhuFsoNrnV130CSRYX/z4SlCfSQ4mHntti5yTmmQpt70xZKYZ57BsU0R29ueSQ9/P+aQrL2t2rqkQkAloUxg== - dependencies: - "@ethersproject/abi" "5.0.7" - web3-utils "1.5.3" - -web3-eth-abi@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.7.0.tgz" - integrity sha512-heqR0bWxgCJwjWIhq2sGyNj9bwun5+Xox/LdZKe+WMyTSy0cXDXEAgv3XKNkXC4JqdDt/ZlbTEx4TWak4TRMSg== - dependencies: - "@ethersproject/abi" "5.0.7" - web3-utils "1.7.0" - -web3-eth-accounts@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.11.tgz#a9e3044da442d31903a7ce035a86d8fa33f90520" - integrity sha512-6FwPqEpCfKIh3nSSGeo3uBm2iFSnFJDfwL3oS9pyegRBXNsGRVpgiW63yhNzL0796StsvjHWwQnQHsZNxWAkGw== - dependencies: - crypto-browserify "3.12.0" - eth-lib "0.2.8" - ethereumjs-common "^1.3.2" - ethereumjs-tx "^2.1.1" - scrypt-js "^3.0.1" - underscore "1.9.1" - uuid "3.3.2" - web3-core "1.2.11" - web3-core-helpers "1.2.11" - web3-core-method "1.2.11" - web3-utils "1.2.11" - -web3-eth-accounts@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.5.3.tgz" - integrity sha512-pdGhXgeBaEJENMvRT6W9cmji3Zz/46ugFSvmnLLw79qi5EH7XJhKISNVb41eWCrs4am5GhI67GLx5d2s2a72iw== - dependencies: - "@ethereumjs/common" "^2.3.0" - "@ethereumjs/tx" "^3.2.1" - crypto-browserify "3.12.0" - eth-lib "0.2.8" - ethereumjs-util "^7.0.10" - scrypt-js "^3.0.1" - uuid "3.3.2" - web3-core "1.5.3" - web3-core-helpers "1.5.3" - web3-core-method "1.5.3" - web3-utils "1.5.3" - -web3-eth-accounts@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.7.0.tgz" - integrity sha512-Zwm7TlQXdXGRuS6+ib1YsR5fQwpfnFyL6UAZg1zERdrUrs3IkCZSL3yCP/8ZYbAjdTEwWljoott2iSqXNH09ug== - dependencies: - "@ethereumjs/common" "^2.5.0" - "@ethereumjs/tx" "^3.3.2" - crypto-browserify "3.12.0" - eth-lib "0.2.8" - ethereumjs-util "^7.0.10" - scrypt-js "^3.0.1" - uuid "3.3.2" - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-utils "1.7.0" - -web3-eth-contract@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.11.tgz#917065902bc27ce89da9a1da26e62ef663663b90" - integrity sha512-MzYuI/Rq2o6gn7vCGcnQgco63isPNK5lMAan2E51AJLknjSLnOxwNY3gM8BcKoy4Z+v5Dv00a03Xuk78JowFow== - dependencies: - "@types/bn.js" "^4.11.5" - underscore "1.9.1" - web3-core "1.2.11" - web3-core-helpers "1.2.11" - web3-core-method "1.2.11" - web3-core-promievent "1.2.11" - web3-core-subscriptions "1.2.11" - web3-eth-abi "1.2.11" - web3-utils "1.2.11" - -web3-eth-contract@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.5.3.tgz" - integrity sha512-Gdlt1L6cdHe83k7SdV6xhqCytVtOZkjD0kY/15x441AuuJ4JLubCHuqu69k2Dr3tWifHYVys/vG8QE/W16syGg== - dependencies: - "@types/bn.js" "^4.11.5" - web3-core "1.5.3" - web3-core-helpers "1.5.3" - web3-core-method "1.5.3" - web3-core-promievent "1.5.3" - web3-core-subscriptions "1.5.3" - web3-eth-abi "1.5.3" - web3-utils "1.5.3" - -web3-eth-contract@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.7.0.tgz" - integrity sha512-2LY1Xwxu5rx468nqHuhvupQAIpytxIUj3mGL9uexszkhrQf05THVe3i4OnUCzkeN6B2cDztNOqLT3j9SSnVQDg== - dependencies: - "@types/bn.js" "^4.11.5" - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-core-promievent "1.7.0" - web3-core-subscriptions "1.7.0" - web3-eth-abi "1.7.0" - web3-utils "1.7.0" - -web3-eth-ens@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.11.tgz#26d4d7f16d6cbcfff918e39832b939edc3162532" - integrity sha512-dbW7dXP6HqT1EAPvnniZVnmw6TmQEKF6/1KgAxbo8iBBYrVTMDGFQUUnZ+C4VETGrwwaqtX4L9d/FrQhZ6SUiA== - dependencies: - content-hash "^2.5.2" - eth-ens-namehash "2.0.8" - underscore "1.9.1" - web3-core "1.2.11" - web3-core-helpers "1.2.11" - web3-core-promievent "1.2.11" - web3-eth-abi "1.2.11" - web3-eth-contract "1.2.11" - web3-utils "1.2.11" - -web3-eth-ens@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.5.3.tgz" - integrity sha512-QmGFFtTGElg0E+3xfCIFhiUF+1imFi9eg/cdsRMUZU4F1+MZCC/ee+IAelYLfNTGsEslCqfAusliKOT9DdGGnw== - dependencies: - content-hash "^2.5.2" - eth-ens-namehash "2.0.8" - web3-core "1.5.3" - web3-core-helpers "1.5.3" - web3-core-promievent "1.5.3" - web3-eth-abi "1.5.3" - web3-eth-contract "1.5.3" - web3-utils "1.5.3" - -web3-eth-ens@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.7.0.tgz" - integrity sha512-I1bikYJJWQ/FJZIAvwsGOvzAgcRIkosWG4s1L6veRoXaU8OEJFeh4s00KcfHDxg7GWZZGbUSbdbzKpwRbWnvkg== - dependencies: - content-hash "^2.5.2" - eth-ens-namehash "2.0.8" - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-promievent "1.7.0" - web3-eth-abi "1.7.0" - web3-eth-contract "1.7.0" - web3-utils "1.7.0" - -web3-eth-iban@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.11.tgz#f5f73298305bc7392e2f188bf38a7362b42144ef" - integrity sha512-ozuVlZ5jwFC2hJY4+fH9pIcuH1xP0HEFhtWsR69u9uDIANHLPQQtWYmdj7xQ3p2YT4bQLq/axKhZi7EZVetmxQ== - dependencies: - bn.js "^4.11.9" - web3-utils "1.2.11" - -web3-eth-iban@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.5.3.tgz" - integrity sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw== - dependencies: - bn.js "^4.11.9" - web3-utils "1.5.3" - -web3-eth-iban@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.7.0.tgz" - integrity sha512-1PFE/Og+sPZaug+M9TqVUtjOtq0HecE+SjDcsOOysXSzslNC2CItBGkcRwbvUcS+LbIkA7MFsuqYxOL0IV/gyA== - dependencies: - bn.js "^4.11.9" - web3-utils "1.7.0" - -web3-eth-personal@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.11.tgz#a38b3942a1d87a62070ce0622a941553c3d5aa70" - integrity sha512-42IzUtKq9iHZ8K9VN0vAI50iSU9tOA1V7XU2BhF/tb7We2iKBVdkley2fg26TxlOcKNEHm7o6HRtiiFsVK4Ifw== - dependencies: - "@types/node" "^12.12.6" - web3-core "1.2.11" - web3-core-helpers "1.2.11" - web3-core-method "1.2.11" - web3-net "1.2.11" - web3-utils "1.2.11" - -web3-eth-personal@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.5.3.tgz" - integrity sha512-JzibJafR7ak/Icas8uvos3BmUNrZw1vShuNR5Cxjo+vteOC8XMqz1Vr7RH65B4bmlfb3bm9xLxetUHO894+Sew== - dependencies: - "@types/node" "^12.12.6" - web3-core "1.5.3" - web3-core-helpers "1.5.3" - web3-core-method "1.5.3" - web3-net "1.5.3" - web3-utils "1.5.3" - -web3-eth-personal@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.7.0.tgz" - integrity sha512-Dr9RZTNOR80PhrPKGdktDUXpOgExEcCcosBj080lKCJFU1paSPj9Zfnth3u6BtIOXyKsVFTrpqekqUDyAwXnNw== - dependencies: - "@types/node" "^12.12.6" - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-net "1.7.0" - web3-utils "1.7.0" - -web3-eth@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.11.tgz#4c81fcb6285b8caf544058fba3ae802968fdc793" - integrity sha512-REvxW1wJ58AgHPcXPJOL49d1K/dPmuw4LjPLBPStOVkQjzDTVmJEIsiLwn2YeuNDd4pfakBwT8L3bz1G1/wVsQ== - dependencies: - underscore "1.9.1" - web3-core "1.2.11" - web3-core-helpers "1.2.11" - web3-core-method "1.2.11" - web3-core-subscriptions "1.2.11" - web3-eth-abi "1.2.11" - web3-eth-accounts "1.2.11" - web3-eth-contract "1.2.11" - web3-eth-ens "1.2.11" - web3-eth-iban "1.2.11" - web3-eth-personal "1.2.11" - web3-net "1.2.11" - web3-utils "1.2.11" - -web3-eth@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-eth/-/web3-eth-1.5.3.tgz" - integrity sha512-saFurA1L23Bd7MEf7cBli6/jRdMhD4X/NaMiO2mdMMCXlPujoudlIJf+VWpRWJpsbDFdu7XJ2WHkmBYT5R3p1Q== - dependencies: - web3-core "1.5.3" - web3-core-helpers "1.5.3" - web3-core-method "1.5.3" - web3-core-subscriptions "1.5.3" - web3-eth-abi "1.5.3" - web3-eth-accounts "1.5.3" - web3-eth-contract "1.5.3" - web3-eth-ens "1.5.3" - web3-eth-iban "1.5.3" - web3-eth-personal "1.5.3" - web3-net "1.5.3" - web3-utils "1.5.3" - -web3-eth@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-eth/-/web3-eth-1.7.0.tgz" - integrity sha512-3uYwjMjn/MZjKIzXCt4YL9ja/k9X5shfa4lKparZhZE6uesmu+xmSmrEFXA/e9qcveF50jkV7frjkT8H+cLYtw== - dependencies: - web3-core "1.7.0" - web3-core-helpers "1.7.0" - web3-core-method "1.7.0" - web3-core-subscriptions "1.7.0" - web3-eth-abi "1.7.0" - web3-eth-accounts "1.7.0" - web3-eth-contract "1.7.0" - web3-eth-ens "1.7.0" - web3-eth-iban "1.7.0" - web3-eth-personal "1.7.0" - web3-net "1.7.0" - web3-utils "1.7.0" - -web3-net@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.11.tgz#eda68ef25e5cdb64c96c39085cdb74669aabbe1b" - integrity sha512-sjrSDj0pTfZouR5BSTItCuZ5K/oZPVdVciPQ6981PPPIwJJkCMeVjD7I4zO3qDPCnBjBSbWvVnLdwqUBPtHxyg== - dependencies: - web3-core "1.2.11" - web3-core-method "1.2.11" - web3-utils "1.2.11" - -web3-net@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-net/-/web3-net-1.5.3.tgz" - integrity sha512-0W/xHIPvgVXPSdLu0iZYnpcrgNnhzHMC888uMlGP5+qMCt8VuflUZHy7tYXae9Mzsg1kxaJAS5lHVNyeNw4CoQ== - dependencies: - web3-core "1.5.3" - web3-core-method "1.5.3" - web3-utils "1.5.3" - -web3-net@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-net/-/web3-net-1.7.0.tgz" - integrity sha512-8pmfU1Se7DmG40Pu8nOCKlhuI12VsVzCtdFDnLAai0zGVAOUuuOCK71B2aKm6u9amWBJjtOlyrCwvsG+QEd6dw== - dependencies: - web3-core "1.7.0" - web3-core-method "1.7.0" - web3-utils "1.7.0" - -web3-provider-engine@14.2.1: - version "14.2.1" - resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-14.2.1.tgz#ef351578797bf170e08d529cb5b02f8751329b95" - integrity sha512-iSv31h2qXkr9vrL6UZDm4leZMc32SjWJFGOp/D92JXfcEboCqraZyuExDkpxKw8ziTufXieNM7LSXNHzszYdJw== - dependencies: - async "^2.5.0" - backoff "^2.5.0" - clone "^2.0.0" - cross-fetch "^2.1.0" - eth-block-tracker "^3.0.0" - eth-json-rpc-infura "^3.1.0" - eth-sig-util "^1.4.2" - ethereumjs-block "^1.2.2" - ethereumjs-tx "^1.2.0" - ethereumjs-util "^5.1.5" - ethereumjs-vm "^2.3.4" - json-rpc-error "^2.0.0" - json-stable-stringify "^1.0.1" - promise-to-callback "^1.0.0" - readable-stream "^2.2.9" - request "^2.85.0" - semaphore "^1.0.3" - ws "^5.1.1" - xhr "^2.2.0" - xtend "^4.0.1" - -web3-providers-http@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.11.tgz#1cd03442c61670572d40e4dcdf1faff8bd91e7c6" - integrity sha512-psh4hYGb1+ijWywfwpB2cvvOIMISlR44F/rJtYkRmQ5jMvG4FOCPlQJPiHQZo+2cc3HbktvvSJzIhkWQJdmvrA== - dependencies: - web3-core-helpers "1.2.11" - xhr2-cookies "1.1.0" - -web3-providers-http@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.5.3.tgz" - integrity sha512-5DpUyWGHtDAr2RYmBu34Fu+4gJuBAuNx2POeiJIooUtJ+Mu6pIx4XkONWH6V+Ez87tZAVAsFOkJRTYuzMr3rPw== - dependencies: - web3-core-helpers "1.5.3" - xhr2-cookies "1.1.0" - -web3-providers-http@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.7.0.tgz" - integrity sha512-Y9reeEiApfvQKLUUtrU4Z0c+H6b7BMWcsxjgoXndI1C5NB297mIUfltXxfXsh5C/jk5qn4Q3sJp3SwQTyVjH7Q== - dependencies: - web3-core-helpers "1.7.0" - xhr2-cookies "1.1.0" - -web3-providers-ipc@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.11.tgz#d16d6c9be1be6e0b4f4536c4acc16b0f4f27ef21" - integrity sha512-yhc7Y/k8hBV/KlELxynWjJDzmgDEDjIjBzXK+e0rHBsYEhdCNdIH5Psa456c+l0qTEU2YzycF8VAjYpWfPnBpQ== - dependencies: - oboe "2.1.4" - underscore "1.9.1" - web3-core-helpers "1.2.11" - -web3-providers-ipc@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.5.3.tgz" - integrity sha512-JmeAptugVpmXI39LGxUSAymx0NOFdgpuI1hGQfIhbEAcd4sv7fhfd5D+ZU4oLHbRI8IFr4qfGU0uhR8BXhDzlg== - dependencies: - oboe "2.1.5" - web3-core-helpers "1.5.3" - -web3-providers-ipc@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.7.0.tgz" - integrity sha512-U5YLXgu6fvAK4nnMYqo9eoml3WywgTym0dgCdVX/n1UegLIQ4nctTubBAuWQEJzmAzwh+a6ValGcE7ZApTRI7Q== - dependencies: - oboe "2.1.5" - web3-core-helpers "1.7.0" - -web3-providers-ws@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.11.tgz#a1dfd6d9778d840561d9ec13dd453046451a96bb" - integrity sha512-ZxnjIY1Er8Ty+cE4migzr43zA/+72AF1myzsLaU5eVgdsfV7Jqx7Dix1hbevNZDKFlSoEyq/3j/jYalh3So1Zg== - dependencies: - eventemitter3 "4.0.4" - underscore "1.9.1" - web3-core-helpers "1.2.11" - websocket "^1.0.31" - -web3-providers-ws@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.5.3.tgz" - integrity sha512-6DhTw4Q7nm5CFYEUHOJM0gAb3xFx+9gWpVveg3YxJ/ybR1BUvEWo3bLgIJJtX56cYX0WyY6DS35a7f0LOI1kVg== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.5.3" - websocket "^1.0.32" - -web3-providers-ws@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.7.0.tgz" - integrity sha512-0a8+lVV3JBf+eYnGOsdzOpftK1kis5X7s35QAdoaG5SDapnEylXFlR4xDSSSU88ZwMwvse8hvng2xW6A7oeWxw== +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.7.0" - websocket "^1.0.32" + yallist "^4.0.0" -web3-shh@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.11.tgz#f5d086f9621c9a47e98d438010385b5f059fd88f" - integrity sha512-B3OrO3oG1L+bv3E1sTwCx66injW1A8hhwpknDUbV+sw3fehFazA06z9SGXUefuFI1kVs4q2vRi0n4oCcI4dZDg== +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== dependencies: - web3-core "1.2.11" - web3-core-method "1.2.11" - web3-core-subscriptions "1.2.11" - web3-net "1.2.11" + brace-expansion "^2.0.1" -web3-shh@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-shh/-/web3-shh-1.5.3.tgz" - integrity sha512-COfEXfsqoV/BkcsNLRxQqnWc1Teb8/9GxdGag5GtPC5gQC/vsN+7hYVJUwNxY9LtJPKYTij2DHHnx6UkITng+Q== +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: - web3-core "1.5.3" - web3-core-method "1.5.3" - web3-core-subscriptions "1.5.3" - web3-net "1.5.3" + wrappy "1" -web3-shh@1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-shh/-/web3-shh-1.7.0.tgz" - integrity sha512-RZhxcevALIPK178VZCpwMBvQeW+IoWtRJ4EMdegpbnETeZaC3aRUcs6vKnrf0jXJjm4J/E2Dt438Y1Ord/1IMw== +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: - web3-core "1.7.0" - web3-core-method "1.7.0" - web3-core-subscriptions "1.7.0" - web3-net "1.7.0" + callsites "^3.0.0" -web3-utils@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.11.tgz#af1942aead3fb166ae851a985bed8ef2c2d95a82" - integrity sha512-3Tq09izhD+ThqHEaWYX4VOT7dNPdZiO+c/1QMA0s5X2lDFKK/xHJb7cyTRRVzN2LvlHbR7baS1tmQhSua51TcQ== +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: - bn.js "^4.11.9" - eth-lib "0.2.8" - ethereum-bloom-filters "^1.0.6" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - underscore "1.9.1" - utf8 "3.0.0" + "@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" -web3-utils@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.3.tgz" - integrity sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q== - dependencies: - bn.js "^4.11.9" - eth-lib "0.2.8" - ethereum-bloom-filters "^1.0.6" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - utf8 "3.0.0" +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -web3-utils@1.7.0, web3-utils@^1.0.0-beta.31, web3-utils@^1.2.5: - version "1.7.0" - resolved "https://registry.npmjs.org/web3-utils/-/web3-utils-1.7.0.tgz" - integrity sha512-O8Tl4Ky40Sp6pe89Olk2FsaUkgHyb5QAXuaKo38ms3CxZZ4d3rPGfjP9DNKGm5+IUgAZBNpF1VmlSmNCqfDI1w== - dependencies: - bn.js "^4.11.9" - 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" +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== -web3-utils@^1.3.4: - version "1.9.0" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.9.0.tgz#7c5775a47586cefb4ad488831be8f6627be9283d" - integrity sha512-p++69rCNNfu2jM9n5+VD/g26l+qkEOQ1m6cfRQCbH8ZRrtquTmrirJMgTmyOoax5a5XRYOuws14aypCOs51pdQ== +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 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" + fast-diff "^1.1.2" -web3-utils@^1.3.6: - version "1.8.0" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.8.0.tgz#0a506f8c6af9a2ad6ba79689892662769534fc03" - integrity sha512-7nUIl7UWpLVka2f09CMbKOSEvorvHnaugIabU4mj7zfMvm0tSByLcEu3eyV9qgS11qxxLuOkzBIwCstTflhmpQ== +prettier-plugin-solidity@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.1.3.tgz#9a35124f578404caf617634a8cab80862d726cba" + integrity sha512-fQ9yucPi2sBbA2U2Xjh6m4isUTJ7S7QLc/XDDsktqqxYfTwdYKJ0EnnywXHwCGAaYbQNK+HIYPL1OemxuMsgeg== 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" + "@solidity-parser/parser" "^0.16.0" + semver "^7.3.8" + solidity-comments-extractor "^0.0.7" -web3@1.2.11: - version "1.2.11" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.11.tgz#50f458b2e8b11aa37302071c170ed61cff332975" - integrity sha512-mjQ8HeU41G6hgOYm1pmeH0mRAeNKJGnJEUzDMoerkpw7QUQT4exVREgF1MYPvL/z6vAshOXei25LE/t/Bxl8yQ== - dependencies: - web3-bzz "1.2.11" - web3-core "1.2.11" - web3-eth "1.2.11" - web3-eth-personal "1.2.11" - web3-net "1.2.11" - web3-shh "1.2.11" - web3-utils "1.2.11" +prettier@^2.0.0, prettier@^2.8.3: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== -web3@1.5.3: - version "1.5.3" - resolved "https://registry.npmjs.org/web3/-/web3-1.5.3.tgz" - integrity sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w== - dependencies: - web3-bzz "1.5.3" - web3-core "1.5.3" - web3-eth "1.5.3" - web3-eth-personal "1.5.3" - web3-net "1.5.3" - web3-shh "1.5.3" - web3-utils "1.5.3" +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -web3@^1.2.5: - version "1.7.0" - resolved "https://registry.npmjs.org/web3/-/web3-1.7.0.tgz" - integrity sha512-n39O7QQNkpsjhiHMJ/6JY6TaLbdX+2FT5iGs8tb3HbIWOhPm4+a7UDbr5Lkm+gLa9aRKWesZs5D5hWyEvg4aJA== - dependencies: - web3-bzz "1.7.0" - web3-core "1.7.0" - web3-eth "1.7.0" - web3-eth-personal "1.7.0" - web3-net "1.7.0" - web3-shh "1.7.0" - web3-utils "1.7.0" +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -websocket@1.0.32: - version "1.0.32" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.32.tgz#1f16ddab3a21a2d929dec1687ab21cfdc6d3dbb1" - integrity sha512-i4yhcllSP4wrpoPMU2N0TQ/q0O94LRG/eUQjEAamRltjQ1oT1PFFKOG4i877OlJgCG8rw6LrrowJp+TYCEWF7Q== +semver@^7.3.8, semver@^7.5.2: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.50" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" + lru-cache "^6.0.0" -websocket@^1.0.31, websocket@^1.0.32: - version "1.0.34" - resolved "https://registry.npmjs.org/websocket/-/websocket-1.0.34.tgz" - integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.50" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" - -whatwg-fetch@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= +solhint-plugin-prettier@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/solhint-plugin-prettier/-/solhint-plugin-prettier-0.0.5.tgz#e3b22800ba435cd640a9eca805a7f8bc3e3e6a6b" + integrity sha512-7jmWcnVshIrO2FFinIvDQmhQpfpS2rRRn3RejiYgnjIE68xO2bvrYvjqVNfrio4xH9ghOqn83tKuTzLjEbmGIA== dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" + prettier-linter-helpers "^1.0.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== +solhint@^3.5.1: + version "3.6.2" + resolved "https://registry.yarnpkg.com/solhint/-/solhint-3.6.2.tgz#2b2acbec8fdc37b2c68206a71ba89c7f519943fe" + integrity sha512-85EeLbmkcPwD+3JR7aEMKsVC9YrRSxd4qkXuMzrlf7+z2Eqdfm1wHWq1ffTuo5aDhoZxp2I9yF3QkxZOxOL7aQ== dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz" - integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= + "@solidity-parser/parser" "^0.16.0" + ajv "^6.12.6" + antlr4 "^4.11.0" + ast-parents "^0.0.1" + chalk "^4.1.2" + commander "^10.0.0" + cosmiconfig "^8.0.0" + fast-diff "^1.2.0" + glob "^8.0.3" + ignore "^5.2.4" + js-yaml "^4.1.0" + lodash "^4.17.21" + pluralize "^8.0.0" + semver "^7.5.2" + strip-ansi "^6.0.1" + table "^6.8.1" + text-table "^0.2.0" + optionalDependencies: + prettier "^2.8.3" -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= +solidity-comments-extractor@^0.0.7: + version "0.0.7" + resolved "https://registry.npmjs.org/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz" + integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== -which-typed-array@^1.1.2: - version "1.1.7" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz" - integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== +string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.7" + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" -which-typed-array@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" + ansi-regex "^5.0.1" -which@1.3.1, which@^1.1.1, which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: - isexe "^2.0.0" + has-flag "^3.0.0" -which@2.0.2, which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: - isexe "^2.0.0" + has-flag "^4.0.0" -wide-align@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== +table@^6.8.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== dependencies: - string-width "^1.0.2 || 2" + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" -window-size@^0.2.0: +text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz" - integrity sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU= - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -wordwrapjs@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz" - integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== - dependencies: - reduce-flatten "^2.0.0" - typical "^5.2.0" - -workerpool@6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz" - integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" + punycode "^2.1.0" wrappy@1: version "1.0.2" resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@7.4.6: - version "7.4.6" - resolved "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -ws@^3.0.0: - version "3.3.3" - resolved "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - -ws@^5.1.1: - version "5.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" - integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== - dependencies: - async-limiter "~1.0.0" - -xhr-request-promise@^0.1.2: - version "0.1.3" - resolved "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz" - integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== - dependencies: - xhr-request "^1.1.0" - -xhr-request@^1.0.1, xhr-request@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz" - integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== - dependencies: - buffer-to-arraybuffer "^0.0.5" - object-assign "^4.1.1" - query-string "^5.0.1" - simple-get "^2.7.0" - timed-out "^4.0.1" - url-set-query "^1.0.0" - xhr "^2.0.4" - -xhr2-cookies@1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz" - integrity sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg= - dependencies: - cookiejar "^2.1.1" - -xhr@^2.0.4, xhr@^2.2.0, xhr@^2.3.3: - version "2.6.0" - resolved "https://registry.npmjs.org/xhr/-/xhr-2.6.0.tgz" - integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== - dependencies: - global "~4.4.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - -xmlhttprequest@1.8.0: - version "1.8.0" - resolved "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz" - integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= - -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -xtend@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" - integrity sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ== - dependencies: - object-keys "~0.4.0" - -y18n@^3.2.1: - version "3.2.2" - resolved "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz" - integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz" - integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= - -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - yallist@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -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== - -yargs-parser@13.1.2, yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs-parser@^2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz" - integrity sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ= - dependencies: - camelcase "^3.0.0" - lodash.assign "^4.0.6" - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.0.0: - version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-unparser@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz" - integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== - dependencies: - flat "^4.1.0" - lodash "^4.17.15" - yargs "^13.3.0" - -yargs-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@13.3.2, yargs@^13.3.0: - version "13.3.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - -yargs@16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.5.1: - version "17.5.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz" - integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.0.0" - -yargs@^4.7.1: - version "4.8.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz" - integrity sha1-wMQpJMpKqmsObaFznfshZDn53cA= - dependencies: - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - lodash.assign "^4.0.3" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.1" - which-module "^1.0.0" - window-size "^0.2.0" - y18n "^3.2.1" - yargs-parser "^2.4.1" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==