diff --git a/.claude/skills/organize-test/SKILL.md b/.claude/skills/organize-test/SKILL.md index ec8ea593a4..c749d22bdb 100644 --- a/.claude/skills/organize-test/SKILL.md +++ b/.claude/skills/organize-test/SKILL.md @@ -294,7 +294,7 @@ If the file uses a custom section name that is clear and descriptive, keep it. O **Do not reorganize** if any of these conditions hold: - The file is **not** a `*.t.sol` file under `contracts/tests/`. -- The file is a **production contract** (`contracts/` outside `tests/`), a deploy script, or a Hardhat JS/TS test. +- The file is a **production contract** (`contracts/` outside `tests/`), a deploy script, or a legacy JS/TS test. - The file contains inline assembly (`assembly { ... }`) interleaved with state variable declarations — moving variables could change storage layout. - The file is **auto-generated** or clearly marked as such. - The reorganization would produce a diff affecting **more than 60%** of the file's lines — this makes review impractical. In this case, do the smallest safe subset or nothing. diff --git a/.claude/skills/verify-deployment-pr/SKILL.md b/.claude/skills/verify-deployment-pr/SKILL.md index 94b997c08a..a82cc0edab 100644 --- a/.claude/skills/verify-deployment-pr/SKILL.md +++ b/.claude/skills/verify-deployment-pr/SKILL.md @@ -107,7 +107,7 @@ details block, and a confidence (High/Med/Low). Absence of evidence is ⚠️/ (nothing to check); ❌ args differ (show the diff). **5 — Governance proposal matches the deploy script** -- Read the on-chain proposal directly via ethers — do NOT use `npx hardhat proposal --id`, +- Read the on-chain proposal directly via ethers — do NOT use `pnpm ops proposal --id`, it parses the id as a float and overflows on real (77-digit) proposalIds. Use the GovernorSix (`addresses.mainnet.GovernorSix`) ABI with the id as a `BigNumber`: `g.state(id)` and `g.getActions(id) -> (targets, values, signatures, calldatas)` diff --git a/.codex/skills/organize-test/SKILL.md b/.codex/skills/organize-test/SKILL.md index ab3624f7da..839c955b9b 100644 --- a/.codex/skills/organize-test/SKILL.md +++ b/.codex/skills/organize-test/SKILL.md @@ -295,7 +295,7 @@ If the file uses a custom section name that is clear and descriptive, keep it. O **Do not reorganize** if any of these conditions hold: - The file is **not** a `*.t.sol` file under `contracts/tests/`. -- The file is a **production contract** (`contracts/` outside `tests/`), a deploy script, or a Hardhat JS/TS test. +- The file is a **production contract** (`contracts/` outside `tests/`), a deploy script, or a legacy JS/TS test. - The file contains inline assembly (`assembly { ... }`) interleaved with state variable declarations — moving variables could change storage layout. - The file is **auto-generated** or clearly marked as such. - The reorganization would produce a diff affecting **more than 60%** of the file's lines — this makes review impractical. In this case, do the smallest safe subset or nothing. diff --git a/.gitignore b/.gitignore index f83a3b369d..cb359f1f11 100644 --- a/.gitignore +++ b/.gitignore @@ -56,7 +56,7 @@ contracts/artifacts/ contracts/deployments/localhost* contracts/deployments/ganache_* contracts/deployments/fork_* -contracts/deployments/hardhat* + contracts/coverage/ contracts/coverage.json contracts/build/* diff --git a/AGENTS.md b/AGENTS.md index 0b21194fc0..aea310a977 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -17,8 +17,8 @@ A skill is a set of local instructions to follow that is stored in a `SKILL.md` - skill-creator: Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Codex's capabilities with specialized knowledge, workflows, or tool integrations. (file: /Users/clement/.codex/skills/.system/skill-creator/SKILL.md) - skill-installer: Install Codex skills into `$CODEX_HOME/skills` from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos). (file: /Users/clement/.codex/skills/.system/skill-installer/SKILL.md) - commit: Handle git commits with auto-staging, targeted pre-commit formatting, and Conventional Commit messages. Use when the user asks to commit changes, save changes in git, or similar commit requests. (file: /Users/clement/Documents/Travail/Origin/2-SC/origin-dollar-foundry/.codex/skills/commit/SKILL.md) -- unit-test: Generate Foundry unit tests for a contract using this repository's conventions, structure, and naming. Use when the user asks for unit tests, Foundry tests, concrete tests, fuzz tests, or to port Hardhat tests into Foundry unit tests. (file: /Users/clement/Documents/Travail/Origin/2-SC/origin-dollar-foundry/.codex/skills/unit-test/SKILL.md) -- fork-test: Generate Foundry fork tests for contracts that need real on-chain integration coverage. Use when the user asks for fork tests, mainnet or chain fork coverage, integration tests against live protocol state, or to port Hardhat fork tests into Foundry. (file: /Users/clement/Documents/Travail/Origin/2-SC/origin-dollar-foundry/.codex/skills/fork-test/SKILL.md) +- unit-test: Generate Foundry unit tests for a contract using this repository's conventions, structure, and naming. Use when the user asks for unit tests, Foundry tests, concrete tests, fuzz tests, or to port legacy JavaScript tests into Foundry unit tests. (file: /Users/clement/Documents/Travail/Origin/2-SC/origin-dollar-foundry/.codex/skills/unit-test/SKILL.md) +- fork-test: Generate Foundry fork tests for contracts that need real on-chain integration coverage. Use when the user asks for fork tests, mainnet or chain fork coverage, integration tests against live protocol state, or to port legacy JavaScript fork tests into Foundry. (file: /Users/clement/Documents/Travail/Origin/2-SC/origin-dollar-foundry/.codex/skills/fork-test/SKILL.md) ### How to use skills - Discovery: The list above is the skills available in this session (name + description + file path). Skill bodies live on disk at the listed paths. diff --git a/CLAUDE.md b/CLAUDE.md index 0aa04e763c..071bb5d3e8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -13,7 +13,7 @@ Deployed on Ethereum Mainnet, Base, Arbitrum, Sonic, Plume, Hoodi, and HyperEVM. ## Toolchain -**Foundry is the contract toolchain**: `forge` (driven by the `Makefile`) builds the contracts, runs the contract test suite, executes deployments, and generates the `@origin/defi` npm ABI package. Hardhat remains only for the ops task CLI (`tasks/*.js`, wired up in `hardhat.config.js`) and the local fork node. The committed `deployments/` descriptors are the address/ABI registry consumed by both toolchains; there are no Hardhat deployment scripts. +**Foundry is the contract toolchain**: `forge` (driven by the `Makefile`) builds the contracts, runs the contract test suite, executes deployments, and generates the `@origin/defi` npm ABI package. `pnpm ops` runs operational commands and Anvil provides local forks. The committed `deployments/` descriptors are the shared address/ABI registry. ## Setup @@ -23,7 +23,7 @@ cp dev.env .env # Set MAINNET_PROVIDER_URL to an Alchemy/Infura endpoin make install # foundryup (v1.8.1), forge soldeer install, install-deps.sh, pnpm i ``` -Key `.env` variables: `MAINNET_PROVIDER_URL` (required), `BASE_PROVIDER_URL`, `ARBITRUM_PROVIDER_URL`, `SONIC_PROVIDER_URL`, `HYPEREVM_PROVIDER_URL`, `BEACON_PROVIDER_URL` (beacon-proof fork tests), and optional `FORK_BLOCK_NUMBER_` pins for Foundry fork tests (unset = latest block; refresh with `make update-fork-blocks`). The Hardhat task CLI resolves its mainnet RPC from `MAINNET_PROVIDER_URL` as well (legacy fallback: `PROVIDER_URL`). +Key `.env` variables: `MAINNET_PROVIDER_URL` (required), `BASE_PROVIDER_URL`, `ARBITRUM_PROVIDER_URL`, `SONIC_PROVIDER_URL`, `HYPEREVM_PROVIDER_URL`, `BEACON_PROVIDER_URL` (beacon-proof fork tests), and optional `FORK_BLOCK_NUMBER_` pins for Foundry fork tests (unset = latest block; refresh with `make update-fork-blocks`). The ops CLI also resolves Ethereum from `MAINNET_PROVIDER_URL`. Real deployments additionally need `DEPLOYER_ADDRESS` and the encrypted `deployerKey` keystore (`cast wallet import deployerKey --interactive`). @@ -33,7 +33,7 @@ Real deployments additionally need `DEPLOYER_ADDRESS` and the encrypted `deploye as an *optional peer dependency* so that CI and external contributors can install this repo without GitHub Packages credentials. -**Nothing local needs it.** `hardhat`, `tsx tasks/run.ts ` and the tests +**Nothing local needs it.** `pnpm ops`, `tsx tasks/run.ts ` and the tests all load and run without it. Only the runner image does: `runner.ts` (container entrypoint) imports it statically, and `tasks/lib/signer.ts` `require()`s it lazily for the Postgres nonce queue, which is gated on `DATABASE_URL` — unset @@ -48,7 +48,7 @@ Keep it that way. Two regressions to avoid: fail with `Cannot find module '@oplabs/talos-client'`. - Do not import it from `tasks/lib/network.ts`. That used to drag the requirement up through `utils/resolvers.js` → `utils/morpho.js` → - `tasks/tasks.js` → `hardhat.config.js` and broke the Hardhat ops CLI for + `tasks/tasks.js` and broke the ops CLI for installs without GitHub Packages auth. #2954 replaced it with local `CHAIN_IDS` / `RPC_ENV_VARS` maps. @@ -87,16 +87,16 @@ The `make test-*` targets rebuild the relevant trees first. Bare `forge test` do Fork and smoke tests fork the chain from the `*_PROVIDER_URL` variables and pin blocks via `FORK_BLOCK_NUMBER_`. Test conventions (unit vs fork vs smoke, concrete vs fuzz, interface-only testing) are documented in `tests/README.md` — read it before writing tests. -### Hardhat task tests (`tasks/test/`) +### Ops task tests (`tasks/test/`) `pnpm test:tasks` validates the ops task implementation. Smart-contract tests belong exclusively in the Foundry suite under `tests/`. -### Hardhat (ops task CLI only) +### Ops CLI and local forks ```bash -npx hardhat --network mainnet # ops tasks from tasks/*.js -pnpm run node # Hardhat fork node, for running tasks against a local fork -pnpm node:anvil # anvil mainnet fork (used by make deploy-local); node:anvil:base etc. -pnpm action # Talos actions runner (tsx tasks/run.ts — viem, not Hardhat) +pnpm ops --network mainnet # ops tasks from tasks/*.js +pnpm run node # Anvil mainnet fork +pnpm node:base # equivalent per-network fork commands +pnpm action # Talos actions runner ``` ### Useful Options @@ -214,7 +214,7 @@ tests/ # Foundry suite (canonical) invariant/ mocks/ utils/ # Addresses.sol, shared helpers -tasks/test/ # Mocha tests for Hardhat ops tasks only +tasks/test/ # Mocha tests for standalone ops tasks ``` Layout mirrors `////{concrete,fuzz}/.t.sol`, with a per-contract `shared/Shared.t.sol` base. Tests interact with contracts **through interfaces** (`IVault`, `IOToken`, `IWOToken`, `IProxy`) and deploy implementations with `vm.deployCode` — never import a concrete contract into a test file; it drags the whole dependency tree into the test's compilation unit and destroys build caching. Full rules and gotchas: `tests/README.md`. @@ -231,15 +231,15 @@ make deploy-mainnet # real deploy + Etherscan verify; also: deploy-ba make deploy-local # against a running pnpm node:anvil ``` -For upgrades, call `_assertStorageSafe(type(X).name)` before `new X()` — see Storage Layout Checks below. After a real deploy the make target regenerates the Hardhat-format descriptors in `deployments//` (see the Talos section at the bottom). Framework internals: `scripts/deploy/README.md` and `scripts/deploy/ARCHITECTURE.md`. +For upgrades, call `_assertStorageSafe(type(X).name)` before `new X()` — see Storage Layout Checks below. After a real deploy the make target regenerates the descriptors in `deployments//` (see the Talos section at the bottom). Framework internals: `scripts/deploy/README.md` and `scripts/deploy/ARCHITECTURE.md`. -Hardhat deployment scripts are no longer part of the repository. Do not recreate a `deploy/` tree; use the Foundry framework above. +JavaScript deployment scripts are no longer part of the repository. Do not recreate a `deploy/` tree; use the Foundry framework above. ## Storage Layout Checks **The baseline is the descriptor.** `deployments//.json` holds `{address, abi, storageLayout}` — the layout is what is deployed at that address -right now, written by `scripts/create-hardhat-format-descriptors.js` in the same +right now, written by `scripts/create-deployment-descriptors.js` in the same step that records the address, so the write side cannot silently stop. **The gate runs per deployed contract, before broadcast.** Call @@ -311,12 +311,12 @@ tests nothing. ## Roles & Access Control Four key roles used across all contracts: -- **Deployer** - deploys contracts. Foundry deploys sign with the `deployerKey` keystore + `DEPLOYER_ADDRESS`; the legacy Hardhat CLI reads `DEPLOYER_PK` +- **Deployer** - deploys contracts. Foundry deploys sign with the `deployerKey` keystore + `DEPLOYER_ADDRESS`; the ops CLI reads `DEPLOYER_PK` - **Governor** - timelock-controlled governance address - **Strategist** - multisig for day-to-day operations - **Guardian** - emergency pause capability -Foundry fork and smoke tests impersonate these with `vm.prank`. For Hardhat tasks against a running fork node, set `IMPERSONATE=0x...` to run as any account. +Foundry fork and smoke tests impersonate these with `vm.prank`. For ops tasks against a running Anvil fork, set `IMPERSONATE=0x...` to run as any account. ## Contract Verification @@ -338,7 +338,7 @@ log("something happened"); The Talos ops automation (`contracts/tasks/actions/**` — harvest, rebases, `doAccounting`, validator ops, cross-chain relays, etc.) resolves the contracts it operates on from the descriptors in `contracts/deployments//.json` (addresses) and pinned entries in `contracts/utils/addresses.js` / action-local `*_BY_CHAIN_ID` maps. Foundry's own broadcast state lives in `contracts/build/deployments-.json`. -The `make deploy-mainnet|base|hyperevm` targets close most of this gap automatically: after the broadcast they run `scripts/create-hardhat-format-descriptors.js`, which rewrites `deployments//.json` for whatever was just deployed (even when verification fails; `make deploy-local` deliberately skips it). What is **not** automatic — and can silently point a live Talos action at a stale address or ABI: +The `make deploy-mainnet|base|hyperevm` targets close most of this gap automatically: after the broadcast they run `scripts/create-deployment-descriptors.js`, which rewrites `deployments//.json` for whatever was just deployed (even when verification fails; `make deploy-local` deliberately skips it). What is **not** automatic — and can silently point a live Talos action at a stale address or ABI: - a raw `forge script` run outside the make targets never updates descriptors; - pinned addresses in `utils/addresses.js` and action-local `*_BY_CHAIN_ID` maps; - the curated `abi/.json` files when a callable interface changes. diff --git a/README.md b/README.md index 9d1b302608..38106f15aa 100644 --- a/README.md +++ b/README.md @@ -28,19 +28,19 @@ The `origin-dollar` project is a repo that hosts the smart contracts of some Ori ### Eth Node -The smart contracts and their associated code are located in the `/contracts` directory. [Foundry](https://book.getfoundry.sh/) builds, tests, and deploys the contracts. [Hardhat](https://hardhat.org/) remains available for operational tasks and the local forked EVM node. +The smart contracts and their associated code are located in the `/contracts` directory. [Foundry](https://book.getfoundry.sh/) builds, tests, and deploys the contracts. The standalone `pnpm ops` CLI runs operational commands and Anvil provides the local forked EVM node. -A variety of Hardhat [tasks](https://hardhat.org/guides/create-task.html) are available to interact with the contracts. Additional information can be found by running `npx hardhat` from the `contracts/` directory. +A variety of operational commands are available to interact with the contracts. Run `pnpm ops help` from the `contracts/` directory to list them.

--- ## Running the node -The dapp interacts with many 3rd party contracts (Uniswap, Curve, Sushiswap) and it would be too cumbersome to initialize all those contracts in a fresh node environment and set them to a state that mimics the Mainnet. For that reason we are using Hardhat's forked mode. By setting the `BLOCK_NUMBER` environment variable, the node will download part of the mainnet state that it requires to fulfill the requests. It is less reliable since the node isn't as stable in forked mode (and sometimes requires restarts), but mimicking the mainnet is a huge benefit. We used to develop with fresh state node, but the behavior discrepancies between fresh node and mainnet have started to become too large. For that reason, we have deprecated the fresh state development. +The dapp interacts with many third-party contracts (Uniswap, Curve, Sushiswap), so local development uses an Anvil fork rather than recreating Mainnet state. Set `BLOCK_NUMBER` to pin the fork; unset means latest.

-Rename `contracts/dev.env` to `.env` and set `PROVIDER_URL` to a valid one (sign up for an Alchemy or Infura account, create an API key, and use the URL they provide). To pin the fork to a specific mainnet block, set `BLOCK_NUMBER`. Open a separate terminal to run the Hardhat node. +Rename `contracts/dev.env` to `.env` and set `MAINNET_PROVIDER_URL` to a valid endpoint. To pin the fork to a specific mainnet block, set `BLOCK_NUMBER`. Open a separate terminal to run Anvil.

Run the node: diff --git a/brownie/runlogs/2023_12_strategist.py b/brownie/runlogs/2023_12_strategist.py index 1cdba1d869..de618d18f9 100644 --- a/brownie/runlogs/2023_12_strategist.py +++ b/brownie/runlogs/2023_12_strategist.py @@ -126,9 +126,8 @@ def main(): ) ) - # below line works on hardhat's default node (brownie console --network mainnet-fork) - # but not on our default node running in a separate terminal and attaching - # to it: (brownie console --network hardhat) + # The line below worked with an in-process fork but not when Brownie attached + # to a node running in a separate terminal. #print(txs[-1].call_trace(True)) # After diff --git a/brownie/runlogs/2026_01_strategist.py b/brownie/runlogs/2026_01_strategist.py index a33af6087c..89eb8ed538 100644 --- a/brownie/runlogs/2026_01_strategist.py +++ b/brownie/runlogs/2026_01_strategist.py @@ -240,7 +240,7 @@ def main(): ) # use the following command to get cluster info: - # pnpm hardhat getClusterInfo --operatorids 752,753,754,755 --network mainnet --owner 0x4685dB8bF2Df743c861d71E6cFb5347222992076 + # pnpm ops getClusterInfo --operatorids 752,753,754,755 --network mainnet --owner 0x4685dB8bF2Df743c861d71E6cFb5347222992076 txs.append( native_staking_2_strat.depositSSV( diff --git a/brownie/runlogs/2026_02_strategist.py b/brownie/runlogs/2026_02_strategist.py index 388780ca38..ec6d2064d3 100644 --- a/brownie/runlogs/2026_02_strategist.py +++ b/brownie/runlogs/2026_02_strategist.py @@ -41,7 +41,7 @@ def main(): ) # use the following command to get cluster info: - # pnpm hardhat getClusterInfo --operatorids 752,753,754,755 --network mainnet --owner 0x4685dB8bF2Df743c861d71E6cFb5347222992076 + # pnpm ops getClusterInfo --operatorids 752,753,754,755 --network mainnet --owner 0x4685dB8bF2Df743c861d71E6cFb5347222992076 txs.append( native_staking_2_strat.depositSSV( @@ -65,7 +65,7 @@ def main(): ) # use the following command to get cluster info: - # pnpm hardhat getClusterInfo --operatorids 338,339,340,341 --network mainnet --owner 0xE98538A0e8C2871C2482e1Be8cC6bd9F8E8fFD63 + # pnpm ops getClusterInfo --operatorids 338,339,340,341 --network mainnet --owner 0xE98538A0e8C2871C2482e1Be8cC6bd9F8E8fFD63 txs.append( native_staking_3_strat.depositSSV( diff --git a/contracts/Makefile b/contracts/Makefile index 2f4a42cb6a..8fc48a297c 100644 --- a/contracts/Makefile +++ b/contracts/Makefile @@ -12,7 +12,7 @@ DEPLOY_BASE := --account deployerKey --sender $(DEPLOYER_ADDRESS) --broadcas DEPLOY_BUILD := contracts/ scripts/deploy/ # Rewrites deployments//.json for whatever the broadcast just -# deployed, so Talos crons and the hardhat task CLI keep resolving live +# deployed, so Talos crons and the standalone ops CLI keep resolving live # addresses. Deliberately NOT wired into deploy-local: that target also # broadcasts, but against a throwaway node. # @@ -22,7 +22,7 @@ DEPLOY_BUILD := contracts/ scripts/deploy/ # the descriptor update and leave live crons pointing at the old contract — the # exact silent drift this step exists to prevent. A descriptor failure still # fails the target (`|| exit 1`); only forge's own exit code is deferred. -DESCRIPTORS := node scripts/create-hardhat-format-descriptors.js +DESCRIPTORS := node scripts/create-deployment-descriptors.js # Clearing the chain's broadcast dir first is what makes "a run file exists" # mean "this run deployed something". forge leaves the PREVIOUS run-latest.json diff --git a/contracts/dev.env b/contracts/dev.env index 77d3bc0596..ffa3dba44e 100644 --- a/contracts/dev.env +++ b/contracts/dev.env @@ -29,7 +29,7 @@ SONIC_PROVIDER_URL=https://rpc.soniclabs.com # FORK_BLOCK_NUMBER_ARBITRUM= # FORK_BLOCK_NUMBER_HYPEREVM= -# [Optional] Hardhat local fork node (hardhat.config.js). Unset = latest block. +# [Optional] Anvil local fork node. Unset = latest block. # BLOCK_NUMBER= # BASE_BLOCK_NUMBER= # SONIC_BLOCK_NUMBER= @@ -58,10 +58,10 @@ SONIC_PROVIDER_URL=https://rpc.soniclabs.com # DEPLOYER_ADDRESS= # ╔══════════════════════════════════════════════════════════════════════════════╗ -# ║ HARDHAT TOOLING ║ +# ║ OPS TOOLING ║ # ╚══════════════════════════════════════════════════════════════════════════════╝ -# [Optional] Outputs all log messages used in Hardhat tasks +# [Optional] Outputs all log messages used in ops tasks # DEBUG=origin* # ╔══════════════════════════════════════════════════════════════════════════════╗ diff --git a/contracts/dockerfile-actions b/contracts/dockerfile-actions index c5698b4819..1df69f2079 100644 --- a/contracts/dockerfile-actions +++ b/contracts/dockerfile-actions @@ -44,11 +44,10 @@ RUN --mount=type=secret,id=talos_package_token,env=NODE_AUTH_TOKEN,required=true COPY . . # No contract compilation needed: the Talos actions resolve addresses/ABIs from -# the committed deployments/ artifacts and curated abi/ interfaces — hardhat and -# artifacts/ are no longer on the action runtime path. +# the committed deployments/ artifacts and curated abi/ interfaces. # Dump the action catalog to /app/actions-catalog.json at build time from the -# in-process registry (tsx, no hardhat). The runner reads this file at boot and +# in-process registry. The runner reads this file at boot and # passes it to runContainer's `actionsCatalog`. Fail the image build if an action # cannot be loaded so a broken or incomplete catalog is never deployed. RUN cd /app \ diff --git a/contracts/docs/talos-actions-inventory.md b/contracts/docs/talos-actions-inventory.md index ec8cee8270..8a725906ec 100644 --- a/contracts/docs/talos-actions-inventory.md +++ b/contracts/docs/talos-actions-inventory.md @@ -33,7 +33,7 @@ | `utils/localKeyValueStore` | 3 | eth, hyper, base | | `utils/regex` | 3 | eth, base, arb | | `utils/signers` | 3 | eth, base, arb | -| `utils/signersNoHardhat` | 3 | eth, base, arb | +| `utils/signersStandalone` | 3 | eth, base, arb | | `tasks/lib/safeProposal` | 2 | eth, base | | `tasks/lib/vaultStrategyMoves` | 2 | eth, base | | `utils/resolvers` | 2 | eth, base | @@ -47,7 +47,7 @@ | `utils/beacon` | 1 | eth | | `utils/constants` | 1 | eth | | `utils/discord` | 1 | eth | -| `utils/hardhat` | 1 | eth | +| `utils/anvil` | 1 | eth | | `utils/harvest` | 1 | eth | | `utils/managePassThrough` | 1 | eth | | `utils/morpho-apy` | 1 | eth | diff --git a/contracts/hardhat-node.sh b/contracts/hardhat-node.sh deleted file mode 100755 index 92eef49b92..0000000000 --- a/contracts/hardhat-node.sh +++ /dev/null @@ -1,105 +0,0 @@ -#!/bin/bash -trap "exit" INT TERM ERR -trap "kill 0" EXIT -#nodeWaitTimeout=120 -nodeWaitTimeout=1200 -RED='\033[0;31m' -NO_COLOR='\033[0m' - - -main() -{ - rm -rf deployments/localhost - if [[ $1 == "fork" ]] - then - # Fetch env variables like PROVIDER_URL and BLOCK_NUMBER from .env file so they don't - # need to be separately set in terminal environment - ENV_FILE=.env - source .env - if [ ! -f "$ENV_FILE" ]; then - echo -e "${RED} File $ENV_FILE does not exist. Have you forgotten to rename the dev.env to .env? ${NO_COLOR}" - exit 1 - fi - - params=() - if [ -z "$FORK_NETWORK_NAME" ]; then - FORK_NETWORK_NAME=mainnet - fi - - if [[ $FORK_NETWORK_NAME == "arbitrumOne" ]]; then - PROVIDER_URL=$ARBITRUM_PROVIDER_URL; - BLOCK_NUMBER=$ARBITRUM_BLOCK_NUMBER; - params+=" --tags arbitrumOne"; - elif [[ $FORK_NETWORK_NAME == "base" ]]; then - PROVIDER_URL=$BASE_PROVIDER_URL; - BLOCK_NUMBER=$BASE_BLOCK_NUMBER; - params+=" --tags base"; - elif [[ $FORK_NETWORK_NAME == "sonic" ]]; then - PROVIDER_URL=$SONIC_PROVIDER_URL; - BLOCK_NUMBER=$SONIC_BLOCK_NUMBER; - params+=" --tags sonic"; - elif [[ $FORK_NETWORK_NAME == "plume" ]]; then - PROVIDER_URL=$PLUME_PROVIDER_URL; - BLOCK_NUMBER=$PLUME_BLOCK_NUMBER; - params+=" --tags plume"; - elif [[ $FORK_NETWORK_NAME == "hyperevm" ]]; then - PROVIDER_URL=$HYPEREVM_PROVIDER_URL; - BLOCK_NUMBER=$HYPEREVM_BLOCK_NUMBER; - params+=" --tags hyperevm"; - elif [[ $FORK_NETWORK_NAME == "hoodi" ]]; then - PROVIDER_URL=$HOODI_PROVIDER_URL; - BLOCK_NUMBER=$HOODI_BLOCK_NUMBER; - fi - - echo "Fork Network: $FORK_NETWORK_NAME" - - if [ -z "$PROVIDER_URL" ]; then echo "Set PROVIDER_URL" && exit 1; fi - params+=(--fork ${PROVIDER_URL}) - if [ -z "$BLOCK_NUMBER" ]; then - echo "It is recommended that BLOCK_NUMBER is set to a recent block to improve performance of the fork"; - else - echo "Forking from block $BLOCK_NUMBER"; - params+=(--fork-block-number ${BLOCK_NUMBER}); - fi - if [ -z "$STACK_TRACE" ]; then params+=( --show-stack-traces); fi - - cp -r deployments/$FORK_NETWORK_NAME deployments/localhost - - nodeOutput=$(mktemp "${TMPDIR:-/tmp/}$(basename 0).XXX") - # the --no-install is here so npx doesn't download some package on its own if it can not find one in the repo - FORK_NETWORK_NAME=$FORK_NETWORK_NAME FORK=true npx --no-install hardhat node --no-reset ${params[@]} > $nodeOutput 2>&1 & - tail -f $nodeOutput & - - i=0 - until grep -q -i 'Started HTTP and WebSocket JSON-RPC server at' $nodeOutput - do - if grep -q -i 'VM Exception while processing transaction' $nodeOutput; then - printf "\n" - echo "🔴 Error detected node exiting." - exit 1 - fi - - let i++ - sleep 1 - if (( i > nodeWaitTimeout )); then - printf "\n" - echo "$newLine Node failed to initialize in $nodeWaitTimeout seconds" - exit 1 - fi - done - printf "\n" - echo "🟢 Node initialized" - - # wait for subprocesses to finish - for job in `jobs -p` - do - wait $job || let "FAIL+=1" - done - - - else - npx --no-install hardhat node - fi -} - -main "$@" diff --git a/contracts/hardhat.config.js b/contracts/hardhat.config.js deleted file mode 100644 index a192db4515..0000000000 --- a/contracts/hardhat.config.js +++ /dev/null @@ -1,368 +0,0 @@ -require("ts-node").register({ - transpileOnly: true, - // Use inline compilerOptions instead of tsconfig.json to avoid - // interfering with ESM-only packages (e.g. @lodestar/types). - skipProject: true, - compilerOptions: { - module: "CommonJS", - target: "ES2020", - esModuleInterop: true, - allowSyntheticDefaultImports: true, - resolveJsonModule: true, - strict: false, - }, -}); - -const ethers = require("ethers"); -const { task } = require("hardhat/config"); -const { - isBaseFork, - isSonicFork, - isPlumeFork, - isHoodiFork, - isHyperEVMFork, - baseProviderUrl, - sonicProviderUrl, - arbitrumProviderUrl, - plumeProviderUrl, - hoodiProviderUrl, - hyperEVMProviderUrl, - getHardhatNetworkChainId, -} = require("./utils/hardhat-helpers.js"); - -require("hardhat-deploy"); -require("hardhat-deploy-ethers"); - -require("./tasks/tasks"); - -// Talos action files (tasks/actions/*.ts) are no longer hardhat tasks — they -// run standalone via `tsx tasks/run.ts --network ` (see -// migrations/seed_schedules.sql). They are intentionally not auto-loaded here. - -const { accounts } = require("./tasks/account"); - -const addresses = require("./utils/addresses.js"); -const MAINNET_DEPLOYER = - process.env.MAINNET_DEPLOYER_OVERRIDE || - "0x3Ba227D87c2A7aB89EAaCEFbeD9bfa0D15Ad249A"; -// Mainnet decentralized OGV Governor -const MAINNET_GOVERNOR_FIVE = "0x3cdd07c16614059e66344a7b579dab4f9516c0b6"; -// Mainnet decentralized OGV Timelock -const MAINNET_TIMELOCK = "0x35918cDE7233F2dD33fA41ae3Cb6aE0e42E0e69F"; -// Mainnet contracts are governed by the Governor contract (which derives off Timelock). -const MAINNET_GOVERNOR = "0x72426ba137dec62657306b12b1e869d43fec6ec7"; -// 5/8 multi-sig that controls the Governor. Aka "Admin". -const MAINNET_MULTISIG = "0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899"; -const MAINNET_CLAIM_ADJUSTER = MAINNET_DEPLOYER; -// 2/8 multi-sig that controls fund allocations. Aka "Guardian". -const MAINNET_STRATEGIST = "0xf14bbdf064e3f67f51cd9bd646ae3716ad938fdc"; -const BASE_DEPLOYER = MAINNET_DEPLOYER; -// 5/8 multi-sig that controls the Timelock. Aka "Admin". -const BASE_GOVERNOR = "0x92A19381444A001d62cE67BaFF066fA1111d7202"; -// 2/8 multi-sig that controls fund allocations. Aka "Guardian". -const BASE_STRATEGIST = "0x28bce2eE5775B652D92bB7c2891A89F036619703"; -const SONIC_DEPLOYER = MAINNET_DEPLOYER; -// 5/8 multi-sig that controls the Timelock. Aka "Admin". -const SONIC_ADMIN = "0xAdDEA7933Db7d83855786EB43a238111C69B00b6"; -// 2/8 multi-sig that controls fund allocations. Aka "Guardian". -const SONIC_STRATEGIST = "0x63cdd3072F25664eeC6FAEFf6dAeB668Ea4de94a"; -const MAINNET_RELAYER = "0x4b91827516f79d6F6a1F292eD99671663b09169a"; - -const MULTICHAIN_STRATEGIST = "0x4FF1b9D9ba8558F5EAfCec096318eA0d8b541971"; - -const PLUME_DEPLOYER = MAINNET_DEPLOYER; -// Plume 5/8 multisig -const PLUME_ADMIN = "0x92A19381444A001d62cE67BaFF066fA1111d7202"; -// Plume 2/8 multisig -const PLUME_STRATEGIST = MULTICHAIN_STRATEGIST; - -const HOODI_DEPLOYER = MAINNET_DEPLOYER; -// Hoodi Relayer -const HOODI_RELAYER = "0x419B6BdAE482f41b8B194515749F3A2Da26d583b"; - -const HYPEREVM_DEPLOYER = MAINNET_DEPLOYER; -// HyperEVM 5/8 multisig -const HYPEREVM_ADMIN = "0x92A19381444A001d62cE67BaFF066fA1111d7202"; -const HYPEREVM_STRATEGIST = MULTICHAIN_STRATEGIST; - -const mnemonic = - "replace hover unaware super where filter stone fine garlic address matrix basic"; - -let privateKeys = []; - -let derivePath = "m/44'/60'/0'/0/"; -for (let i = 0; i <= 10; i++) { - const wallet = new ethers.Wallet.fromMnemonic(mnemonic, `${derivePath}${i}`); - privateKeys.push(wallet.privateKey); -} - -// Account tasks. -task("accounts", "Prints the list of accounts", async (taskArguments, hre) => { - return accounts(taskArguments, hre, privateKeys); -}); - -const chainId = getHardhatNetworkChainId(); - -const defaultAccounts = [ - process.env.DEPLOYER_PK || privateKeys[0], - process.env.GOVERNOR_PK || privateKeys[0], -]; - -/// Config for local and forked node environments -const localEnvDeployer = - process.env.FORK === "true" - ? isBaseFork - ? BASE_DEPLOYER - : isSonicFork - ? SONIC_DEPLOYER - : isPlumeFork - ? PLUME_DEPLOYER - : isHoodiFork - ? HOODI_DEPLOYER - : isHyperEVMFork - ? HYPEREVM_DEPLOYER - : MAINNET_DEPLOYER - : 0; // 0th signer fallback - -const localEnvGovernor = - process.env.FORK === "true" - ? isBaseFork - ? BASE_GOVERNOR - : isSonicFork - ? SONIC_ADMIN - : isPlumeFork - ? PLUME_ADMIN - : isHoodiFork - ? HOODI_RELAYER - : isHyperEVMFork - ? HYPEREVM_ADMIN - : MAINNET_GOVERNOR - : 1; // signer at index 1 - -const localEnvTimelock = - process.env.FORK_NETWORK_NAME == "base" - ? addresses.base.timelock - : process.env.FORK_NETWORK_NAME == "sonic" - ? addresses.sonic.timelock - : process.env.FORK_NETWORK_NAME == "plume" - ? addresses.plume.timelock - : process.env.FORK_NETWORK_NAME == "hyperevm" - ? addresses.hyperevm.timelock - : process.env.FORK_NETWORK_NAME == "mainnet" || - (!process.env.FORK_NETWORK_NAME && process.env.FORK == "true") - ? MAINNET_TIMELOCK - : ethers.constants.AddressZero; - -const localEnvStrategist = - process.env.FORK === "true" - ? isSonicFork - ? SONIC_STRATEGIST - : // Base, Plume, HyperEVM and Eth use Multichain Strategist - isHoodiFork - ? HOODI_RELAYER - : MULTICHAIN_STRATEGIST - : 0; - -const localEnvRegistrator = - process.env.FORK === "true" - ? isHoodiFork - ? HOODI_RELAYER - : MAINNET_RELAYER - : 1; // signer at index 2 - -module.exports = { - solidity: { - version: "0.8.28", - settings: { - optimizer: { - enabled: true, - }, - }, - }, - networks: { - hardhat: { - accounts: { - mnemonic, - }, - blockGasLimit: 1000000000, - allowUnlimitedContractSize: true, - chainId, - chains: { - 999: { - hardforkHistory: { - london: 0, - merge: 0, - shanghai: 0, - cancun: 0, - }, - }, - }, - initialBaseFeePerGas: 0, - gas: 7000000, - gasPrice: 1000, - }, - localhost: { - timeout: 0, - }, - mainnet: { - url: `${process.env.MAINNET_PROVIDER_URL || process.env.PROVIDER_URL}`, - accounts: defaultAccounts, - }, - arbitrumOne: { - url: arbitrumProviderUrl, - accounts: defaultAccounts, - chainId: 42161, - live: true, - saveDeployments: true, - // Fails if gas limit is anything less than 20M on Arbitrum One - gas: 20000000, - // initialBaseFeePerGas: 0, - }, - base: { - url: baseProviderUrl, - accounts: defaultAccounts, - chainId: 8453, - live: true, - saveDeployments: true, - }, - sonic: { - url: sonicProviderUrl, - accounts: defaultAccounts, - chainId: 146, - live: true, - saveDeployments: true, - }, - plume: { - url: plumeProviderUrl, - accounts: defaultAccounts, - chainId: 98866, - live: true, - saveDeployments: true, - }, - hoodi: { - url: hoodiProviderUrl, - accounts: defaultAccounts, - chainId: 560048, - live: true, - saveDeployments: true, - }, - hyperevm: { - url: hyperEVMProviderUrl, - accounts: defaultAccounts, - chainId: 999, - live: true, - saveDeployments: true, - }, - }, - throwOnTransactionFailures: true, - namedAccounts: { - deployerAddr: { - default: 0, - localhost: localEnvDeployer, - hardhat: localEnvDeployer, - mainnet: MAINNET_DEPLOYER, - arbitrumOne: MAINNET_DEPLOYER, - base: BASE_DEPLOYER, - sonic: SONIC_DEPLOYER, - plume: MAINNET_DEPLOYER, - hoodi: HOODI_DEPLOYER, - hyperevm: HYPEREVM_DEPLOYER, - }, - governorAddr: { - default: 1, - // On Mainnet and fork, the governor is the Governor contract. - localhost: localEnvGovernor, - hardhat: localEnvGovernor, - mainnet: MAINNET_GOVERNOR, - base: BASE_GOVERNOR, - sonic: SONIC_ADMIN, - plume: PLUME_ADMIN, - hoodi: HOODI_RELAYER, - hyperevm: HYPEREVM_ADMIN, - }, - /* Local node environment currently has no access to Decentralized governance - * address, since the contract is in another repo. Once we merge the ousd-governance - * and this repo, it will be able to fetch the address from the deployed governance contract. - * - * Even then in local node environment the `governorFiveAddr` named account - * is not to be used. Should only be used in forked and mainnet environments. - */ - governorFiveAddr: { - default: ethers.constants.AddressZero, - // On Mainnet and fork, the governor is the Governor contract. - localhost: - process.env.FORK === "true" - ? MAINNET_GOVERNOR_FIVE - : ethers.constants.AddressZero, - hardhat: - process.env.FORK === "true" - ? MAINNET_GOVERNOR_FIVE - : ethers.constants.AddressZero, - mainnet: MAINNET_GOVERNOR_FIVE, - }, - // Above governorFiveAddr comment applies to governorSix as well - governorSixAddr: { - default: ethers.constants.AddressZero, - // On Mainnet and fork, the governor is the Governor contract. - localhost: - process.env.FORK === "true" - ? addresses.mainnet.GovernorSix - : ethers.constants.AddressZero, - hardhat: - process.env.FORK === "true" - ? addresses.mainnet.GovernorSix - : ethers.constants.AddressZero, - mainnet: addresses.mainnet.GovernorSix, - }, - // Above governorFiveAddr comment applies to timelock as well - timelockAddr: { - default: ethers.constants.AddressZero, - // On Mainnet and fork, the governor is the Governor contract. - localhost: localEnvTimelock, - hardhat: localEnvTimelock, - mainnet: MAINNET_TIMELOCK, - base: addresses.base.timelock, - sonic: addresses.sonic.timelock, - plume: addresses.plume.timelock, - hyperevm: addresses.hyperevm.timelock, - }, - guardianAddr: { - default: 1, - // On mainnet and fork, the guardian is the multi-sig. - localhost: localEnvGovernor, - hardhat: localEnvGovernor, - mainnet: MAINNET_MULTISIG, - base: BASE_GOVERNOR, - sonic: SONIC_ADMIN, - plume: PLUME_STRATEGIST, - hoodi: HOODI_RELAYER, - hyperevm: HYPEREVM_STRATEGIST, - }, - adjusterAddr: { - default: 0, - localhost: process.env.FORK === "true" ? MAINNET_CLAIM_ADJUSTER : 0, - hardhat: process.env.FORK === "true" ? MAINNET_CLAIM_ADJUSTER : 0, - mainnet: MAINNET_CLAIM_ADJUSTER, - }, - strategistAddr: { - default: 0, - localhost: localEnvStrategist, - hardhat: localEnvStrategist, - mainnet: MULTICHAIN_STRATEGIST, - base: MULTICHAIN_STRATEGIST, - sonic: SONIC_STRATEGIST, - plume: PLUME_STRATEGIST, - hoodi: HOODI_RELAYER, - hyperevm: HYPEREVM_STRATEGIST, - }, - multichainStrategistAddr: { - default: MULTICHAIN_STRATEGIST, - }, - registratorAddr: { - default: 2, - localhost: localEnvRegistrator, - mainnet: MAINNET_RELAYER, - hoodi: HOODI_RELAYER, - }, - }, -}; diff --git a/contracts/package.json b/contracts/package.json index 5cc15d3b43..8c2960fc50 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -29,9 +29,8 @@ "node:anvil:sonic": "./anvil.sh sonic", "node:anvil:hoodi": "./anvil.sh hoodi", "node:anvil:hyperevm": "./anvil.sh hyperevm", - "node:legacy": "./hardhat-node.sh fork", "lint": "pnpm run lint:js && pnpm run lint:ts && pnpm run lint:sol", - "lint:js": "eslint \"tasks/**/*.js\" \"scripts/export-abi.js\" \"scripts/lib/**/*.js\" \"scripts/test/**/*.js\" \"utils/hardhat-task-helpers.js\"", + "lint:js": "eslint \"tasks/**/*.js\" \"scripts/export-abi.js\" \"scripts/lib/**/*.js\" \"scripts/test/**/*.js\" \"utils/runtime-helpers.js\"", "lint:sol": "solhint \"contracts/**/*.sol\"", "lint:ts": "eslint \"tasks/**/*.ts\"", "prettier": "pnpm run prettier:js && pnpm run prettier:sol && pnpm run prettier:ts", @@ -63,9 +62,6 @@ "eslint": "8.57.1", "eslint-plugin-no-only-tests": "3.3.0", "ethers": "5.7.2", - "hardhat": "2.26.2", - "hardhat-deploy": "0.11.30", - "hardhat-deploy-ethers": "0.3.0-beta.13", "mocha": "10.2.0", "prettier": "2.8.8", "prettier-plugin-solidity": "1.0.0-beta.17", diff --git a/contracts/pnpm-lock.yaml b/contracts/pnpm-lock.yaml index 3757791360..01c07b61d4 100644 --- a/contracts/pnpm-lock.yaml +++ b/contracts/pnpm-lock.yaml @@ -92,15 +92,6 @@ importers: ethers: specifier: 5.7.2 version: 5.7.2 - hardhat: - specifier: 2.26.2 - version: 2.26.2(ts-node@10.9.2(@types/node@25.0.3)(typescript@5.9.3))(typescript@5.9.3) - hardhat-deploy: - specifier: 0.11.30 - version: 0.11.30 - hardhat-deploy-ethers: - specifier: 0.3.0-beta.13 - version: 0.3.0-beta.13(ethers@5.7.2)(hardhat@2.26.2(ts-node@10.9.2(@types/node@25.0.3)(typescript@5.9.3))(typescript@5.9.3)) mocha: specifier: 10.2.0 version: 10.2.0 @@ -695,15 +686,6 @@ packages: '@eth-optimism/core-utils@0.12.0': resolution: {integrity: sha512-qW+7LZYCz7i8dRa7SRlUKIo1VBU8lvN0HeXCxJR+z+xtMzMQpPds20XJNCMclszxYQHkXY00fOT6GvFw9ZL6nw==} - '@ethereumjs/rlp@5.0.2': - resolution: {integrity: sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==} - engines: {node: '>=18'} - hasBin: true - - '@ethereumjs/util@9.1.0': - resolution: {integrity: sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==} - engines: {node: '>=18'} - '@ethersproject/abi@5.7.0': resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} @@ -773,15 +755,9 @@ packages: '@ethersproject/hdnode@5.7.0': resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} - '@ethersproject/hdnode@5.8.0': - resolution: {integrity: sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==} - '@ethersproject/json-wallets@5.7.0': resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} - '@ethersproject/json-wallets@5.8.0': - resolution: {integrity: sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==} - '@ethersproject/keccak256@5.7.0': resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} @@ -803,9 +779,6 @@ packages: '@ethersproject/pbkdf2@5.7.0': resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} - '@ethersproject/pbkdf2@5.8.0': - resolution: {integrity: sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==} - '@ethersproject/properties@5.7.0': resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} @@ -845,9 +818,6 @@ packages: '@ethersproject/solidity@5.7.0': resolution: {integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==} - '@ethersproject/solidity@5.8.0': - resolution: {integrity: sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA==} - '@ethersproject/strings@5.7.0': resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} @@ -866,9 +836,6 @@ packages: '@ethersproject/wallet@5.7.0': resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} - '@ethersproject/wallet@5.8.0': - resolution: {integrity: sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==} - '@ethersproject/web@5.7.1': resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} @@ -878,13 +845,6 @@ packages: '@ethersproject/wordlists@5.7.0': resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} - '@ethersproject/wordlists@5.8.0': - resolution: {integrity: sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==} - - '@fastify/busboy@2.1.1': - resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} - engines: {node: '>=14'} - '@humanwhocodes/config-array@0.13.0': resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} @@ -939,32 +899,18 @@ packages: '@noble/curves@1.4.2': resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} - '@noble/curves@1.8.2': - resolution: {integrity: sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g==} - engines: {node: ^14.21.3 || >=16} - '@noble/curves@1.9.1': resolution: {integrity: sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA==} engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.2.0': - resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} - '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} - '@noble/hashes@1.7.2': - resolution: {integrity: sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ==} - engines: {node: ^14.21.3 || >=16} - '@noble/hashes@1.8.0': resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} engines: {node: ^14.21.3 || >=16} - '@noble/secp256k1@1.7.1': - resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} - '@nodable/entities@2.1.0': resolution: {integrity: sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==} @@ -980,73 +926,9 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@nomicfoundation/edr-darwin-arm64@0.11.3': - resolution: {integrity: sha512-w0tksbdtSxz9nuzHKsfx4c2mwaD0+l5qKL2R290QdnN9gi9AV62p9DHkOgfBdyg6/a6ZlnQqnISi7C9avk/6VA==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-darwin-x64@0.11.3': - resolution: {integrity: sha512-QR4jAFrPbOcrO7O2z2ESg+eUeIZPe2bPIlQYgiJ04ltbSGW27FblOzdd5+S3RoOD/dsZGKAvvy6dadBEl0NgoA==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-linux-arm64-gnu@0.11.3': - resolution: {integrity: sha512-Ktjv89RZZiUmOFPspuSBVJ61mBZQ2+HuLmV67InNlh9TSUec/iDjGIwAn59dx0bF/LOSrM7qg5od3KKac4LJDQ==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-linux-arm64-musl@0.11.3': - resolution: {integrity: sha512-B3sLJx1rL2E9pfdD4mApiwOZSrX0a/KQSBWdlq1uAhFKqkl00yZaY4LejgZndsJAa4iKGQJlGnw4HCGeVt0+jA==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-linux-x64-gnu@0.11.3': - resolution: {integrity: sha512-D/4cFKDXH6UYyKPu6J3Y8TzW11UzeQI0+wS9QcJzjlrrfKj0ENW7g9VihD1O2FvXkdkTjcCZYb6ai8MMTCsaVw==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-linux-x64-musl@0.11.3': - resolution: {integrity: sha512-ergXuIb4nIvmf+TqyiDX5tsE49311DrBky6+jNLgsGDTBaN1GS3OFwFS8I6Ri/GGn6xOaT8sKu3q7/m+WdlFzg==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr-win32-x64-msvc@0.11.3': - resolution: {integrity: sha512-snvEf+WB3OV0wj2A7kQ+ZQqBquMcrozSLXcdnMdEl7Tmn+KDCbmFKBt3Tk0X3qOU4RKQpLPnTxdM07TJNVtung==} - engines: {node: '>= 18'} - - '@nomicfoundation/edr@0.11.3': - resolution: {integrity: sha512-kqILRkAd455Sd6v8mfP3C1/0tCOynJWY+Ir+k/9Boocu2kObCrsFgG+ZWB7fSBVdd9cPVSNrnhWS+V+PEo637g==} - engines: {node: '>= 18'} - '@nomicfoundation/slang@0.18.3': resolution: {integrity: sha512-YqAWgckqbHM0/CZxi9Nlf4hjk9wUNLC9ngWCWBiqMxPIZmzsVKYuChdlrfeBPQyvQQBoOhbx+7C1005kLVQDZQ==} - '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': - resolution: {integrity: sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': - resolution: {integrity: sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': - resolution: {integrity: sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': - resolution: {integrity: sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': - resolution: {integrity: sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': - resolution: {integrity: sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': - resolution: {integrity: sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==} - engines: {node: '>= 12'} - - '@nomicfoundation/solidity-analyzer@0.1.2': - resolution: {integrity: sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==} - engines: {node: '>= 12'} - '@openzeppelin/contracts-upgradeable@4.7.3': resolution: {integrity: sha512-+wuegAMaLcZnLCJIvrVUDzA9z/Wp93f0Dla/4jJvIhijRrPabjQbZe6fWiECLaJyfn5ci9fqf9vTw3xpQOad2A==} @@ -1091,52 +973,18 @@ packages: '@scure/base@1.2.6': resolution: {integrity: sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==} - '@scure/bip32@1.1.5': - resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} - '@scure/bip32@1.4.0': resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} '@scure/bip32@1.7.0': resolution: {integrity: sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw==} - '@scure/bip39@1.1.1': - resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} - '@scure/bip39@1.3.0': resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} '@scure/bip39@1.6.0': resolution: {integrity: sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A==} - '@sentry/core@5.30.0': - resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} - engines: {node: '>=6'} - - '@sentry/hub@5.30.0': - resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} - engines: {node: '>=6'} - - '@sentry/minimal@5.30.0': - resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} - engines: {node: '>=6'} - - '@sentry/node@5.30.0': - resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} - engines: {node: '>=6'} - - '@sentry/tracing@5.30.0': - resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} - engines: {node: '>=6'} - - '@sentry/types@5.30.0': - resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} - engines: {node: '>=6'} - - '@sentry/utils@5.30.0': - resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} - engines: {node: '>=6'} - '@smithy/config-resolver@4.4.17': resolution: {integrity: sha512-TzDZcAnhTyAHbXVxWZo7/tEcrIeFq20IBk8So3OLOetWpR8EwY/yEqBMBFaJMeyEiREDq4NfEl+qO3OAUD+vbQ==} engines: {node: '>=18.0.0'} @@ -1335,9 +1183,6 @@ packages: '@types/pbkdf2@3.1.2': resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} - '@types/qs@6.14.0': - resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==} - '@types/secp256k1@4.0.7': resolution: {integrity: sha512-Rcvjl6vARGAKRO6jHeKMatGrvOMGrR/AR11N1x2LqintPCyDZ7NBhrh238Z2VZc7aM7KIwnFpFQ7fnfK4H/9Qw==} @@ -1438,42 +1283,19 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - adm-zip@0.4.16: - resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} - engines: {node: '>=0.3.0'} - aes-js@3.0.0: resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - ansi-colors@4.1.1: resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} engines: {node: '>=6'} - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1524,9 +1346,6 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@0.21.4: - resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} - axios@1.4.0: resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} @@ -1565,10 +1384,6 @@ packages: bowser@2.13.1: resolution: {integrity: sha512-OHawaAbjwx6rqICCKgSG0SAnT05bzd7ppyKLVUITZpANBaaMFBAsaNkto3LoQ31tyFP5kNujE8Cdx85G9VzOkw==} - boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} - brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -1598,9 +1413,6 @@ packages: bs58check@2.1.2: resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer-xor@1.0.3: resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} @@ -1608,10 +1420,6 @@ packages: resolution: {integrity: sha512-5Tt66bRzYUSlVZatc0E92uDenreJ+DpTBmSAUwL4VSxJn3e6cUyYwx+PoqML0GRZatgA/VX8ybhxItF8InZgqA==} engines: {node: '>=8.0.0'} - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -1655,29 +1463,10 @@ packages: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} - - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - cipher-base@1.0.7: resolution: {integrity: sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==} engines: {node: '>= 0.10'} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - - cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} @@ -1692,27 +1481,16 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - command-exists@1.2.9: - resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} - commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} - core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -1775,10 +1553,6 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} @@ -1811,17 +1585,6 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - encode-utf8@1.0.3: - resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} - - enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} - - env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} @@ -1899,9 +1662,6 @@ packages: ethereum-cryptography@0.1.3: resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} - ethereum-cryptography@1.2.0: - resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} - ethereum-cryptography@2.2.1: resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} @@ -1979,9 +1739,6 @@ packages: flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - fmix@0.1.0: - resolution: {integrity: sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==} - follow-redirects@1.15.11: resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} engines: {node: '>=4.0'} @@ -1999,17 +1756,6 @@ packages: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} - fp-ts@1.19.3: - resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} - - fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} - - fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -2071,27 +1817,6 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - hardhat-deploy-ethers@0.3.0-beta.13: - resolution: {integrity: sha512-PdWVcKB9coqWV1L7JTpfXRCI91Cgwsm7KLmBcwZ8f0COSm1xtABHZTyz3fvF6p42cTnz1VM0QnfDvMFlIRkSNw==} - peerDependencies: - ethers: ^5.0.0 - hardhat: ^2.0.0 - - hardhat-deploy@0.11.30: - resolution: {integrity: sha512-FpMP1zSa24NEARVh/vwFCJJa9Gws3SBRZbVIDYMIvleoH3yOwFcdWY68zfGoxrm4kRHNcaiVNAXVFTm0enKR0A==} - - hardhat@2.26.2: - resolution: {integrity: sha512-uIETdC1MAWSnu+48B+583r3b8JqHtkBGEiXoAPV5hcXYGkCW5Fnnpn7SIgPa8owhObm9oUqIqMXMJ6H92N7Pyg==} - hasBin: true - peerDependencies: - ts-node: '*' - typescript: '*' - peerDependenciesMeta: - ts-node: - optional: true - typescript: - optional: true - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -2125,18 +1850,6 @@ packages: hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - http-errors@2.0.1: - resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} - engines: {node: '>= 0.8'} - - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -2145,25 +1858,14 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} - immutable@4.3.7: - resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} - import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - imul@1.0.1: - resolution: {integrity: sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==} - engines: {node: '>=0.10.0'} - imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -2171,9 +1873,6 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - io-ts@1.10.4: - resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} - is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -2260,16 +1959,6 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json-stream-stringify@3.1.6: - resolution: {integrity: sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==} - engines: {node: '>=7.10.1'} - - jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - - jsonfile@6.2.0: - resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - keccak@3.0.4: resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} engines: {node: '>=10.0.0'} @@ -2304,15 +1993,9 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - lru_map@0.3.3: - resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} - make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - match-all@1.2.7: - resolution: {integrity: sha512-qSpsBKarh55r9KyXzFC3xBLRf2GlGasba2em9kbpRsSlGvdTAqjx3QD0r3FKSARiW+OE4iMHYsolM3aX9n5djw==} - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -2320,16 +2003,6 @@ packages: md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} - memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - - micro-eth-signer@0.14.0: - resolution: {integrity: sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw==} - - micro-packed@0.7.3: - resolution: {integrity: sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg==} - mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -2369,9 +2042,6 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - mnemonist@0.38.5: - resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} - mocha@10.2.0: resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} engines: {node: '>= 14.0.0'} @@ -2383,9 +2053,6 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - murmur-128@0.2.1: - resolution: {integrity: sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg==} - nanoid@3.3.3: resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2425,9 +2092,6 @@ packages: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} - obliterator@2.0.5: - resolution: {integrity: sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -2447,10 +2111,6 @@ packages: vitest: optional: true - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - ox@0.11.1: resolution: {integrity: sha512-1l1gOLAqg0S0xiN1dH5nkPna8PucrZgrIJOfS49MLNiMevxu07Iz4ZjuJS9N+xifvT+PsZyIptS7WHM8nC+0+A==} peerDependencies: @@ -2475,10 +2135,6 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -2503,9 +2159,6 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} @@ -2571,10 +2224,6 @@ packages: resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} engines: {node: '>=16.0.0'} - qs@6.14.0: - resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} - engines: {node: '>=0.6'} - qs@6.15.0: resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} engines: {node: '>=0.6'} @@ -2585,10 +2234,6 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - raw-body@2.5.3: - resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} - engines: {node: '>= 0.8'} - readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -2600,10 +2245,6 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -2616,9 +2257,6 @@ packages: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - resolve@1.17.0: - resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} - retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} @@ -2649,9 +2287,6 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - scrypt-js@3.0.1: resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} @@ -2659,10 +2294,6 @@ packages: resolution: {integrity: sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==} engines: {node: '>=18.0.0'} - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -2687,9 +2318,6 @@ packages: setimmediate@1.0.5: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - sha.js@2.4.12: resolution: {integrity: sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==} engines: {node: '>= 0.10'} @@ -2726,11 +2354,6 @@ packages: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} - solc@0.8.26: - resolution: {integrity: sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==} - engines: {node: '>=10.0.0'} - hasBin: true - solhint@3.4.1: resolution: {integrity: sha512-pzZn2RlZhws1XwvLPVSsxfHrwsteFf5eySOhpAytzXwKQYbTCJV6z8EevYDiSVKMpWrvbKpEtJ055CuEmzp4Xg==} hasBin: true @@ -2741,21 +2364,6 @@ packages: solidity-comments-extractor@0.0.7: resolution: {integrity: sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==} - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - stacktrace-parser@0.1.11: - resolution: {integrity: sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==} - engines: {node: '>=6'} - - statuses@2.0.2: - resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} - engines: {node: '>= 0.8'} - string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -2796,10 +2404,6 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - to-buffer@1.2.2: resolution: {integrity: sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==} engines: {node: '>= 0.4'} @@ -2808,10 +2412,6 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -2835,15 +2435,9 @@ packages: '@swc/wasm': optional: true - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsort@0.0.1: - resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} - tsx@4.23.1: resolution: {integrity: sha512-GQHnkIfxyx1wYCOS/wonik5MVRZU9hi1TEZmzGZSCJB1y9YgoZ8H6itNE/u4suE+yLmOzuE4E5S4TZ/ZX2wcWQ==} engines: {node: '>=18.0.0'} @@ -2861,14 +2455,6 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -2884,33 +2470,12 @@ packages: undici-types@7.19.2: resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} - undici@5.29.0: - resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} - engines: {node: '>=14.0'} - - universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). - hasBin: true - v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -2945,10 +2510,6 @@ packages: engines: {node: '>= 8'} hasBin: true - widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -2975,18 +2536,6 @@ packages: utf-8-validate: optional: true - ws@7.5.10: - resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - ws@8.18.0: resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} @@ -3047,12 +2596,6 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - zksync-web3@0.14.4: - resolution: {integrity: sha512-kYehMD/S6Uhe1g434UnaMN+sBr9nQm23Ywn0EUP5BfQCsbjcr3ORuS68PosZw8xUTu3pac7G6YMSnNHk+fwzvg==} - deprecated: This package has been deprecated in favor of zksync-ethers@5.0.0 - peerDependencies: - ethers: ^5.7.0 - snapshots: '@adraffy/ens-normalize@1.11.1': {} @@ -3742,13 +3285,6 @@ snapshots: - bufferutil - utf-8-validate - '@ethereumjs/rlp@5.0.2': {} - - '@ethereumjs/util@9.1.0': - dependencies: - '@ethereumjs/rlp': 5.0.2 - ethereum-cryptography: 2.2.1 - '@ethersproject/abi@5.7.0': dependencies: '@ethersproject/address': 5.7.0 @@ -3936,21 +3472,6 @@ snapshots: '@ethersproject/transactions': 5.7.0 '@ethersproject/wordlists': 5.7.0 - '@ethersproject/hdnode@5.8.0': - dependencies: - '@ethersproject/abstract-signer': 5.8.0 - '@ethersproject/basex': 5.8.0 - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/pbkdf2': 5.8.0 - '@ethersproject/properties': 5.8.0 - '@ethersproject/sha2': 5.8.0 - '@ethersproject/signing-key': 5.8.0 - '@ethersproject/strings': 5.8.0 - '@ethersproject/transactions': 5.8.0 - '@ethersproject/wordlists': 5.8.0 - '@ethersproject/json-wallets@5.7.0': dependencies: '@ethersproject/abstract-signer': 5.7.0 @@ -3967,22 +3488,6 @@ snapshots: aes-js: 3.0.0 scrypt-js: 3.0.1 - '@ethersproject/json-wallets@5.8.0': - dependencies: - '@ethersproject/abstract-signer': 5.8.0 - '@ethersproject/address': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/hdnode': 5.8.0 - '@ethersproject/keccak256': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/pbkdf2': 5.8.0 - '@ethersproject/properties': 5.8.0 - '@ethersproject/random': 5.8.0 - '@ethersproject/strings': 5.8.0 - '@ethersproject/transactions': 5.8.0 - aes-js: 3.0.0 - scrypt-js: 3.0.1 - '@ethersproject/keccak256@5.7.0': dependencies: '@ethersproject/bytes': 5.8.0 @@ -4010,11 +3515,6 @@ snapshots: '@ethersproject/bytes': 5.8.0 '@ethersproject/sha2': 5.7.0 - '@ethersproject/pbkdf2@5.8.0': - dependencies: - '@ethersproject/bytes': 5.8.0 - '@ethersproject/sha2': 5.8.0 - '@ethersproject/properties@5.7.0': dependencies: '@ethersproject/logger': 5.7.0 @@ -4134,15 +3634,6 @@ snapshots: '@ethersproject/sha2': 5.7.0 '@ethersproject/strings': 5.7.0 - '@ethersproject/solidity@5.8.0': - dependencies: - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/keccak256': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/sha2': 5.8.0 - '@ethersproject/strings': 5.8.0 - '@ethersproject/strings@5.7.0': dependencies: '@ethersproject/bytes': 5.8.0 @@ -4203,24 +3694,6 @@ snapshots: '@ethersproject/transactions': 5.7.0 '@ethersproject/wordlists': 5.7.0 - '@ethersproject/wallet@5.8.0': - dependencies: - '@ethersproject/abstract-provider': 5.8.0 - '@ethersproject/abstract-signer': 5.8.0 - '@ethersproject/address': 5.8.0 - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/hash': 5.8.0 - '@ethersproject/hdnode': 5.8.0 - '@ethersproject/json-wallets': 5.8.0 - '@ethersproject/keccak256': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/properties': 5.8.0 - '@ethersproject/random': 5.8.0 - '@ethersproject/signing-key': 5.8.0 - '@ethersproject/transactions': 5.8.0 - '@ethersproject/wordlists': 5.8.0 - '@ethersproject/web@5.7.1': dependencies: '@ethersproject/base64': 5.7.0 @@ -4245,16 +3718,6 @@ snapshots: '@ethersproject/properties': 5.8.0 '@ethersproject/strings': 5.7.0 - '@ethersproject/wordlists@5.8.0': - dependencies: - '@ethersproject/bytes': 5.8.0 - '@ethersproject/hash': 5.8.0 - '@ethersproject/logger': 5.8.0 - '@ethersproject/properties': 5.8.0 - '@ethersproject/strings': 5.8.0 - - '@fastify/busboy@2.1.1': {} - '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -4351,24 +3814,14 @@ snapshots: dependencies: '@noble/hashes': 1.4.0 - '@noble/curves@1.8.2': - dependencies: - '@noble/hashes': 1.7.2 - '@noble/curves@1.9.1': dependencies: '@noble/hashes': 1.8.0 - '@noble/hashes@1.2.0': {} - '@noble/hashes@1.4.0': {} - '@noble/hashes@1.7.2': {} - '@noble/hashes@1.8.0': {} - '@noble/secp256k1@1.7.1': {} - '@nodable/entities@2.1.0': {} '@nodelib/fs.scandir@2.1.5': @@ -4383,65 +3836,10 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@nomicfoundation/edr-darwin-arm64@0.11.3': {} - - '@nomicfoundation/edr-darwin-x64@0.11.3': {} - - '@nomicfoundation/edr-linux-arm64-gnu@0.11.3': {} - - '@nomicfoundation/edr-linux-arm64-musl@0.11.3': {} - - '@nomicfoundation/edr-linux-x64-gnu@0.11.3': {} - - '@nomicfoundation/edr-linux-x64-musl@0.11.3': {} - - '@nomicfoundation/edr-win32-x64-msvc@0.11.3': {} - - '@nomicfoundation/edr@0.11.3': - dependencies: - '@nomicfoundation/edr-darwin-arm64': 0.11.3 - '@nomicfoundation/edr-darwin-x64': 0.11.3 - '@nomicfoundation/edr-linux-arm64-gnu': 0.11.3 - '@nomicfoundation/edr-linux-arm64-musl': 0.11.3 - '@nomicfoundation/edr-linux-x64-gnu': 0.11.3 - '@nomicfoundation/edr-linux-x64-musl': 0.11.3 - '@nomicfoundation/edr-win32-x64-msvc': 0.11.3 - '@nomicfoundation/slang@0.18.3': dependencies: '@bytecodealliance/preview2-shim': 0.17.0 - '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': - optional: true - - '@nomicfoundation/solidity-analyzer@0.1.2': - optionalDependencies: - '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.2 - '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-arm64-musl': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-x64-gnu': 0.1.2 - '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.2 - '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.2 - '@openzeppelin/contracts-upgradeable@4.7.3': {} '@openzeppelin/contracts@3.4.2': {} @@ -4525,12 +3923,6 @@ snapshots: '@scure/base@1.2.6': {} - '@scure/bip32@1.1.5': - dependencies: - '@noble/hashes': 1.2.0 - '@noble/secp256k1': 1.7.1 - '@scure/base': 1.1.9 - '@scure/bip32@1.4.0': dependencies: '@noble/curves': 1.4.2 @@ -4543,11 +3935,6 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/base': 1.2.6 - '@scure/bip39@1.1.1': - dependencies: - '@noble/hashes': 1.2.0 - '@scure/base': 1.1.9 - '@scure/bip39@1.3.0': dependencies: '@noble/hashes': 1.4.0 @@ -4558,55 +3945,6 @@ snapshots: '@noble/hashes': 1.8.0 '@scure/base': 1.2.6 - '@sentry/core@5.30.0': - dependencies: - '@sentry/hub': 5.30.0 - '@sentry/minimal': 5.30.0 - '@sentry/types': 5.30.0 - '@sentry/utils': 5.30.0 - tslib: 1.14.1 - - '@sentry/hub@5.30.0': - dependencies: - '@sentry/types': 5.30.0 - '@sentry/utils': 5.30.0 - tslib: 1.14.1 - - '@sentry/minimal@5.30.0': - dependencies: - '@sentry/hub': 5.30.0 - '@sentry/types': 5.30.0 - tslib: 1.14.1 - - '@sentry/node@5.30.0': - dependencies: - '@sentry/core': 5.30.0 - '@sentry/hub': 5.30.0 - '@sentry/tracing': 5.30.0 - '@sentry/types': 5.30.0 - '@sentry/utils': 5.30.0 - cookie: 0.4.2 - https-proxy-agent: 5.0.1 - lru_map: 0.3.3 - tslib: 1.14.1 - transitivePeerDependencies: - - supports-color - - '@sentry/tracing@5.30.0': - dependencies: - '@sentry/hub': 5.30.0 - '@sentry/minimal': 5.30.0 - '@sentry/types': 5.30.0 - '@sentry/utils': 5.30.0 - tslib: 1.14.1 - - '@sentry/types@5.30.0': {} - - '@sentry/utils@5.30.0': - dependencies: - '@sentry/types': 5.30.0 - tslib: 1.14.1 - '@smithy/config-resolver@4.4.17': dependencies: '@smithy/node-config-provider': 4.3.14 @@ -4909,8 +4247,6 @@ snapshots: dependencies: '@types/node': 25.6.1 - '@types/qs@6.14.0': {} - '@types/secp256k1@4.0.7': dependencies: '@types/node': 25.6.1 @@ -5024,21 +4360,8 @@ snapshots: acorn@8.15.0: {} - adm-zip@0.4.16: {} - aes-js@3.0.0: {} - agent-base@6.0.2: - dependencies: - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -5053,18 +4376,8 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - ansi-colors@4.1.1: {} - ansi-colors@4.1.3: {} - - ansi-escapes@4.3.2: - dependencies: - type-fest: 0.21.3 - ansi-regex@5.0.1: {} ansi-styles@4.3.0: @@ -5105,12 +4418,6 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - axios@0.21.4(debug@4.3.4): - dependencies: - follow-redirects: 1.15.11(debug@4.3.4) - transitivePeerDependencies: - - debug - axios@1.4.0(debug@4.3.4): dependencies: follow-redirects: 1.15.11(debug@4.3.4) @@ -5143,17 +4450,6 @@ snapshots: bowser@2.13.1: {} - boxen@5.1.2: - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 2.2.1 - string-width: 4.2.3 - type-fest: 0.20.2 - widest-line: 3.1.0 - wrap-ansi: 7.0.0 - brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -5194,14 +4490,10 @@ snapshots: create-hash: 1.2.0 safe-buffer: 5.2.1 - buffer-from@1.1.2: {} - buffer-xor@1.0.3: {} bufio@1.2.3: {} - bytes@3.1.2: {} - call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -5260,34 +4552,12 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - chokidar@4.0.3: - dependencies: - readdirp: 4.1.2 - - ci-info@2.0.0: {} - cipher-base@1.0.7: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 to-buffer: 1.2.2 - clean-stack@2.2.0: {} - - cli-boxes@2.2.1: {} - cliui@7.0.4: dependencies: string-width: 4.2.3 @@ -5304,18 +4574,12 @@ snapshots: dependencies: delayed-stream: 1.0.0 - command-exists@1.2.9: {} - commander@10.0.1: {} - commander@8.3.0: {} - compare-versions@6.1.1: {} concat-map@0.0.1: {} - cookie@0.4.2: {} - core-util-is@1.0.3: {} cosmiconfig@8.3.6(typescript@5.9.3): @@ -5378,8 +4642,6 @@ snapshots: delayed-stream@1.0.0: {} - depd@2.0.0: {} - diff@4.0.2: {} diff@5.0.0: {} @@ -5420,15 +4682,6 @@ snapshots: emoji-regex@9.2.2: {} - encode-utf8@1.0.3: {} - - enquirer@2.4.1: - dependencies: - ansi-colors: 4.1.3 - strip-ansi: 6.0.1 - - env-paths@2.2.1: {} - error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 @@ -5571,13 +4824,6 @@ snapshots: secp256k1: 4.0.4 setimmediate: 1.0.5 - ethereum-cryptography@1.2.0: - dependencies: - '@noble/hashes': 1.2.0 - '@noble/secp256k1': 1.7.1 - '@scure/bip32': 1.1.5 - '@scure/bip39': 1.1.1 - ethereum-cryptography@2.2.1: dependencies: '@noble/curves': 1.4.2 @@ -5690,10 +4936,6 @@ snapshots: flatted@3.3.3: {} - fmix@0.1.0: - dependencies: - imul: 1.0.1 - follow-redirects@1.15.11(debug@4.3.4): optionalDependencies: debug: 4.3.4(supports-color@8.1.1) @@ -5710,20 +4952,6 @@ snapshots: hasown: 2.0.2 mime-types: 2.1.35 - fp-ts@1.19.3: {} - - fs-extra@10.1.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.2.0 - universalify: 2.0.1 - - fs-extra@7.0.1: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -5797,91 +5025,6 @@ snapshots: graphemer@1.4.0: {} - hardhat-deploy-ethers@0.3.0-beta.13(ethers@5.7.2)(hardhat@2.26.2(ts-node@10.9.2(@types/node@25.0.3)(typescript@5.9.3))(typescript@5.9.3)): - dependencies: - ethers: 5.7.2 - hardhat: 2.26.2(ts-node@10.9.2(@types/node@25.0.3)(typescript@5.9.3))(typescript@5.9.3) - - hardhat-deploy@0.11.30: - dependencies: - '@ethersproject/abi': 5.8.0 - '@ethersproject/abstract-signer': 5.8.0 - '@ethersproject/address': 5.8.0 - '@ethersproject/bignumber': 5.8.0 - '@ethersproject/bytes': 5.8.0 - '@ethersproject/constants': 5.8.0 - '@ethersproject/contracts': 5.8.0 - '@ethersproject/providers': 5.8.0 - '@ethersproject/solidity': 5.8.0 - '@ethersproject/transactions': 5.8.0 - '@ethersproject/wallet': 5.8.0 - '@types/qs': 6.14.0 - axios: 0.21.4(debug@4.3.4) - chalk: 4.1.2 - chokidar: 3.6.0 - debug: 4.3.4(supports-color@8.1.1) - enquirer: 2.4.1 - ethers: 5.7.2 - form-data: 4.0.5 - fs-extra: 10.1.0 - match-all: 1.2.7 - murmur-128: 0.2.1 - qs: 6.14.0 - zksync-web3: 0.14.4(ethers@5.7.2) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - hardhat@2.26.2(ts-node@10.9.2(@types/node@25.0.3)(typescript@5.9.3))(typescript@5.9.3): - dependencies: - '@ethereumjs/util': 9.1.0 - '@ethersproject/abi': 5.8.0 - '@nomicfoundation/edr': 0.11.3 - '@nomicfoundation/solidity-analyzer': 0.1.2 - '@sentry/node': 5.30.0 - adm-zip: 0.4.16 - aggregate-error: 3.1.0 - ansi-escapes: 4.3.2 - boxen: 5.1.2 - chokidar: 4.0.3 - ci-info: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) - enquirer: 2.4.1 - env-paths: 2.2.1 - ethereum-cryptography: 1.2.0 - find-up: 5.0.0 - fp-ts: 1.19.3 - fs-extra: 7.0.1 - immutable: 4.3.7 - io-ts: 1.10.4 - json-stream-stringify: 3.1.6 - keccak: 3.0.4 - lodash: 4.17.21 - micro-eth-signer: 0.14.0 - mnemonist: 0.38.5 - mocha: 10.2.0 - p-map: 4.0.0 - picocolors: 1.1.1 - raw-body: 2.5.3 - resolve: 1.17.0 - semver: 6.3.1 - solc: 0.8.26(debug@4.3.4) - source-map-support: 0.5.21 - stacktrace-parser: 0.1.11 - tinyglobby: 0.2.15 - tsort: 0.0.1 - undici: 5.29.0 - uuid: 8.3.2 - ws: 7.5.10 - optionalDependencies: - ts-node: 10.9.2(@types/node@25.0.3)(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - has-flag@4.0.0: {} has-property-descriptors@1.0.2: @@ -5918,42 +5061,17 @@ snapshots: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - http-errors@2.0.1: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.2 - toidentifier: 1.0.1 - - https-proxy-agent@5.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - ignore@5.3.2: {} ignore@7.0.5: {} - immutable@4.3.7: {} - import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - imul@1.0.1: {} - imurmurhash@0.1.4: {} - indent-string@4.0.0: {} - inflight@1.0.6: dependencies: once: 1.4.0 @@ -5961,10 +5079,6 @@ snapshots: inherits@2.0.4: {} - io-ts@1.10.4: - dependencies: - fp-ts: 1.19.3 - is-arrayish@0.2.1: {} is-binary-path@2.1.0: @@ -6029,18 +5143,6 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - json-stream-stringify@3.1.6: {} - - jsonfile@4.0.0: - optionalDependencies: - graceful-fs: 4.2.11 - - jsonfile@6.2.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - keccak@3.0.4: dependencies: node-addon-api: 2.0.2 @@ -6077,12 +5179,8 @@ snapshots: dependencies: get-func-name: 2.0.2 - lru_map@0.3.3: {} - make-error@1.3.6: {} - match-all@1.2.7: {} - math-intrinsics@1.1.0: {} md5.js@1.3.5: @@ -6091,18 +5189,6 @@ snapshots: inherits: 2.0.4 safe-buffer: 5.2.1 - memorystream@0.3.1: {} - - micro-eth-signer@0.14.0: - dependencies: - '@noble/curves': 1.8.2 - '@noble/hashes': 1.7.2 - micro-packed: 0.7.3 - - micro-packed@0.7.3: - dependencies: - '@scure/base': 1.2.6 - mime-db@1.52.0: {} mime-types@2.1.35: @@ -6139,10 +5225,6 @@ snapshots: minimist@1.2.8: {} - mnemonist@0.38.5: - dependencies: - obliterator: 2.0.5 - mocha@10.2.0: dependencies: ansi-colors: 4.1.1 @@ -6171,12 +5253,6 @@ snapshots: ms@2.1.3: {} - murmur-128@0.2.1: - dependencies: - encode-utf8: 1.0.3 - fmix: 0.1.0 - imul: 1.0.1 - nanoid@3.3.3: {} natural-compare@1.4.0: {} @@ -6197,8 +5273,6 @@ snapshots: object-inspect@1.13.4: {} - obliterator@2.0.5: {} - once@1.4.0: dependencies: wrappy: 1.0.2 @@ -6216,8 +5290,6 @@ snapshots: optionalDependencies: viem: 2.43.3(typescript@5.9.3) - os-tmpdir@1.0.2: {} - ox@0.11.1(typescript@5.9.3): dependencies: '@adraffy/ens-normalize': 1.11.1 @@ -6256,10 +5328,6 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - parent-module@1.0.1: dependencies: callsites: 3.1.0 @@ -6279,8 +5347,6 @@ snapshots: path-key@3.1.1: {} - path-parse@1.0.7: {} - path-type@4.0.0: {} pathval@1.1.1: {} @@ -6338,10 +5404,6 @@ snapshots: pvutils@1.1.5: optional: true - qs@6.14.0: - dependencies: - side-channel: 1.1.0 - qs@6.15.0: dependencies: side-channel: 1.1.0 @@ -6352,13 +5414,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - raw-body@2.5.3: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -6379,18 +5434,12 @@ snapshots: dependencies: picomatch: 2.3.1 - readdirp@4.1.2: {} - require-directory@2.1.1: {} require-from-string@2.0.2: {} resolve-from@4.0.0: {} - resolve@1.17.0: - dependencies: - path-parse: 1.0.7 - retry@0.12.0: {} reusify@1.1.0: {} @@ -6416,8 +5465,6 @@ snapshots: safe-buffer@5.2.1: {} - safer-buffer@2.1.2: {} - scrypt-js@3.0.1: {} secp256k1@4.0.4: @@ -6426,8 +5473,6 @@ snapshots: node-addon-api: 5.1.0 node-gyp-build: 4.8.4 - semver@5.7.2: {} - semver@6.3.1: {} semver@7.7.3: {} @@ -6449,8 +5494,6 @@ snapshots: setimmediate@1.0.5: {} - setprototypeof@1.2.0: {} - sha.js@2.4.12: dependencies: inherits: 2.0.4 @@ -6499,18 +5542,6 @@ snapshots: astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - solc@0.8.26(debug@4.3.4): - dependencies: - command-exists: 1.2.9 - commander: 8.3.0 - follow-redirects: 1.15.11(debug@4.3.4) - js-sha3: 0.8.0 - memorystream: 0.3.1 - semver: 5.7.2 - tmp: 0.0.33 - transitivePeerDependencies: - - debug - solhint@3.4.1(typescript@5.9.3): dependencies: '@solidity-parser/parser': 0.16.2 @@ -6539,19 +5570,6 @@ snapshots: solidity-comments-extractor@0.0.7: {} - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.6.1: {} - - stacktrace-parser@0.1.11: - dependencies: - type-fest: 0.7.1 - - statuses@2.0.2: {} - string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -6597,10 +5615,6 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - to-buffer@1.2.2: dependencies: isarray: 2.0.5 @@ -6611,8 +5625,6 @@ snapshots: dependencies: is-number: 7.0.0 - toidentifier@1.0.1: {} - tr46@0.0.3: {} ts-api-utils@2.5.0(typescript@5.9.3): @@ -6637,12 +5649,8 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - tslib@1.14.1: {} - tslib@2.8.1: {} - tsort@0.0.1: {} - tsx@4.23.1: dependencies: esbuild: 0.28.1 @@ -6657,10 +5665,6 @@ snapshots: type-fest@0.20.2: {} - type-fest@0.21.3: {} - - type-fest@0.7.1: {} - typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -6673,24 +5677,12 @@ snapshots: undici-types@7.19.2: {} - undici@5.29.0: - dependencies: - '@fastify/busboy': 2.1.1 - - universalify@0.1.2: {} - - universalify@2.0.1: {} - - unpipe@1.0.0: {} - uri-js@4.4.1: dependencies: punycode: 2.3.1 util-deprecate@1.0.2: {} - uuid@8.3.2: {} - v8-compile-cache-lib@3.0.1: {} viem@2.43.3(typescript@5.9.3): @@ -6748,10 +5740,6 @@ snapshots: dependencies: isexe: 2.0.0 - widest-line@3.1.0: - dependencies: - string-width: 4.2.3 - word-wrap@1.2.5: {} workerpool@6.2.1: {} @@ -6766,8 +5754,6 @@ snapshots: ws@7.4.6: {} - ws@7.5.10: {} - ws@8.18.0: {} ws@8.18.3: {} @@ -6798,7 +5784,3 @@ snapshots: yn@3.1.1: {} yocto-queue@0.1.0: {} - - zksync-web3@0.14.4(ethers@5.7.2): - dependencies: - ethers: 5.7.2 diff --git a/contracts/scripts/create-hardhat-format-descriptors.js b/contracts/scripts/create-deployment-descriptors.js similarity index 92% rename from contracts/scripts/create-hardhat-format-descriptors.js rename to contracts/scripts/create-deployment-descriptors.js index 243e402b52..3b152a3115 100644 --- a/contracts/scripts/create-hardhat-format-descriptors.js +++ b/contracts/scripts/create-deployment-descriptors.js @@ -1,14 +1,12 @@ #!/usr/bin/env node /** - * Rewrites the Hardhat-format deployment descriptors for the contracts that the - * Foundry broadcast which just ran actually deployed. + * Rewrites deployment descriptors for the contracts that the Foundry broadcast + * which just ran actually deployed. * - * Named for the format rather than for Hardhat: once `hardhat.config.js` is - * deleted these are simply the descriptors the ops runtime reads. * `tasks/lib/contracts.ts` resolves every Talos cron's contract from - * `deployments//.json`, and the Hardhat task CLI reads the same - * files through hardhat-deploy. Foundry writes only addresses, to + * `deployments//.json`, and the standalone ops CLI reads the same + * files directly. Foundry writes only addresses, to * `build/deployments-.json`, so without this step a Foundry redeploy * leaves those descriptors pointing at the previous contract. * @@ -32,15 +30,15 @@ * the guarantee — check what run-latest.json holds first. * * Per deployed contract it writes `{address, abi, storageLayout}` and drops every other - * key the Hardhat artifact used to carry (receipt, args, solcInputHash, metadata, + * key the previous descriptor format used to carry (receipt, args, solcInputHash, metadata, * bytecode, deployedBytecode, devdoc, userdoc, gasEstimates, linkReferences). * Keeping them would pair a fresh address with bytecode and metadata from the - * superseded Hardhat deploy, which is worse than their absence. Nothing reads + * superseded deploy, which is worse than their absence. Nothing reads * them: `tasks/lib/contracts.ts` destructures `{address, abi}` only. * * Usage: - * node scripts/create-hardhat-format-descriptors.js --chain-id 1 - * node scripts/create-hardhat-format-descriptors.js --chain-id 1 --dry-run + * node scripts/create-deployment-descriptors.js --chain-id 1 + * node scripts/create-deployment-descriptors.js --chain-id 1 --dry-run */ const fs = require("fs"); @@ -79,7 +77,7 @@ function parseArgs(argv) { case "--help": case "-h": console.log( - "Usage: create-hardhat-format-descriptors.js --chain-id [--dry-run]" + "Usage: create-deployment-descriptors.js --chain-id [--dry-run]" ); process.exit(0); break; @@ -278,7 +276,7 @@ function main() { for (const { name, address, abi, storageLayout, file } of planned) { const existed = fs.existsSync(file); - // Matches hardhat-deploy's on-disk shape: address first, 2-space indent, + // Matches the committed on-disk shape: address first, 2-space indent, // no trailing newline. storageLayout is the upgrade-safety baseline for the // NEXT deploy of this contract (scripts/check-storage-upgrade.js), recorded // here so the write side can never silently stop. diff --git a/contracts/scripts/deploy/README.md b/contracts/scripts/deploy/README.md index 6da32840ec..75ed2dc4e0 100644 --- a/contracts/scripts/deploy/README.md +++ b/contracts/scripts/deploy/README.md @@ -27,8 +27,7 @@ Foundry RPC aliases use these variables: | Arbitrum | `ARBITRUM_PROVIDER_URL` | | HyperEVM | `HYPEREVM_PROVIDER_URL` | -Hardhat tooling still uses `PROVIDER_URL` for Ethereum. Set both -`PROVIDER_URL` and `MAINNET_PROVIDER_URL` when using both toolchains. +The ops CLI uses `MAINNET_PROVIDER_URL` for Ethereum. Real Foundry deployments also require `DEPLOYER_ADDRESS` and the encrypted `deployerKey` keystore: @@ -139,7 +138,7 @@ deployment process. ### Talos compatibility check Talos does not resolve addresses from Foundry’s -`build/deployments-.json`. Actions use Hardhat deployment files, +`build/deployments-.json`. Actions use committed deployment descriptors, `utils/addresses.js`, and action-local address maps. For every Foundry deployment or upgrade: diff --git a/contracts/scripts/export-abi.js b/contracts/scripts/export-abi.js index 1a6bdb34f9..d5618f8aff 100644 --- a/contracts/scripts/export-abi.js +++ b/contracts/scripts/export-abi.js @@ -5,7 +5,7 @@ const path = require("node:path"); // The legacy package flattened artifacts by contract name. These two names are // declared in multiple production sources; preserve the exact source selected -// by the previously published Hardhat package. +// by the previously published package. const PREFERRED_SOURCES = { ICurvePoolBooster: "contracts/automation/CurvePoolBoosterBribesModule.sol", IOToken: "contracts/interfaces/IOToken.sol", @@ -28,7 +28,7 @@ function linkReferences(value) { return value && typeof value === "object" ? value.linkReferences || {} : {}; } -function hardhatArtifactFromForge(artifact) { +function publicArtifactFromForge(artifact) { const target = compilationTarget(artifact); if (!target) { throw new Error("Forge artifact has no unique compilation target"); @@ -129,7 +129,7 @@ function exportAbiPackage({ outDir, distDir, packageFile, npmrcFile }) { for (const contractName of [...artifacts.keys()].sort()) { const { artifact } = artifacts.get(contractName); - const exported = hardhatArtifactFromForge(artifact); + const exported = publicArtifactFromForge(artifact); fs.writeFileSync( path.join(abiDir, `${contractName}.json`), `${JSON.stringify(exported, null, 2)}\n` @@ -159,6 +159,6 @@ if (require.main === module) main(); module.exports = { exportAbiPackage, - hardhatArtifactFromForge, + publicArtifactFromForge, selectArtifacts, }; diff --git a/contracts/scripts/seed-descriptor-storage-layouts.js b/contracts/scripts/seed-descriptor-storage-layouts.js index 035dab5c4d..e37f929117 100644 --- a/contracts/scripts/seed-descriptor-storage-layouts.js +++ b/contracts/scripts/seed-descriptor-storage-layouts.js @@ -9,7 +9,7 @@ * 1. build/storage-onchain//.json — the layout of the contract * ACTUALLY deployed, read from its verified source * (scripts/fetch-onchain-storage-layouts.js). Ground truth. - * 2. storageLayout//.json — the legacy Hardhat-era snapshot. + * 2. storageLayout//.json — the legacy snapshot. * Used only where the chain fetch could not run: contracts compiled with * solc 0.5.x that the current toolchain cannot rebuild, and stateless * contracts whose layout is empty anyway. @@ -117,7 +117,7 @@ function main() { // No layout source is legitimate for proxies (they declare no storage, and // the legacy gate excluded them) and for deprecated contracts whose source // has left the repo. Still normalise the file to the descriptor format, so - // the whole tree matches what create-hardhat-format-descriptors.js writes. + // the whole tree matches what create-deployment-descriptors.js writes. if (!layout) { stats.none++; noSource.push(name); diff --git a/contracts/scripts/test/export-abi.test.js b/contracts/scripts/test/export-abi.test.js index 758bd77ce4..d93ef08150 100644 --- a/contracts/scripts/test/export-abi.test.js +++ b/contracts/scripts/test/export-abi.test.js @@ -4,7 +4,7 @@ const os = require("node:os"); const path = require("node:path"); const test = require("node:test"); -const { exportAbiPackage, hardhatArtifactFromForge } = require("../export-abi"); +const { exportAbiPackage, publicArtifactFromForge } = require("../export-abi"); const forgeArtifact = ({ contractName = "Example", @@ -34,8 +34,8 @@ function writeArtifact(outDir, sourceFile, contractName, artifact) { ); } -test("converts a Forge artifact to the public Hardhat artifact shape", () => { - assert.deepEqual(hardhatArtifactFromForge(forgeArtifact()), { +test("converts a Forge artifact to the public package artifact shape", () => { + assert.deepEqual(publicArtifactFromForge(forgeArtifact()), { _format: "hh-sol-artifact-1", contractName: "Example", sourceName: "contracts/Example.sol", diff --git a/contracts/slither.db.json b/contracts/slither.db.json index e442154ada..2f2076c9cf 100644 --- a/contracts/slither.db.json +++ b/contracts/slither.db.json @@ -1 +1 @@ -[{"elements":[{"type":"variable","name":"dripDuration","source_mapping":{"start":2711,"length":27,"filename_relative":"contracts/harvest/Dripper.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol","filename_short":"contracts/harvest/Dripper.sol","is_dependency":false,"lines":[57],"starting_column":5,"ending_column":32},"type_specific_fields":{"parent":{"type":"contract","name":"Dripper","source_mapping":{"start":2394,"length":3391,"filename_relative":"contracts/harvest/Dripper.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol","filename_short":"contracts/harvest/Dripper.sol","is_dependency":false,"lines":[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140],"starting_column":1,"ending_column":2}}}}],"description":"Dripper.dripDuration (contracts/harvest/Dripper.sol#57) should be constant \n","markdown":"[Dripper.dripDuration](contracts/harvest/Dripper.sol#L57) should be constant \n","first_markdown_element":"contracts/harvest/Dripper.sol#L57","id":"bc07634cb03823a539637d4023f73df6c30f68d98c2cf684831a8f7870d7705a","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"function","name":"_deposit","source_mapping":{"start":2484,"length":386,"filename_relative":"contracts/strategies/Generalized4626Strategy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol","filename_short":"contracts/strategies/Generalized4626Strategy.sol","is_dependency":false,"lines":[75,76,77,78,79,80,81,82],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"Generalized4626Strategy","source_mapping":{"start":454,"length":6746,"filename_relative":"contracts/strategies/Generalized4626Strategy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol","filename_short":"contracts/strategies/Generalized4626Strategy.sol","is_dependency":false,"lines":[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],"starting_column":1,"ending_column":2}},"signature":"_deposit(address,uint256)"}}],"description":"Generalized4626Strategy._deposit(address,uint256) (contracts/strategies/Generalized4626Strategy.sol#75-82) is never used and should be removed\n","markdown":"[Generalized4626Strategy._deposit(address,uint256)](contracts/strategies/Generalized4626Strategy.sol#L75-L82) is never used and should be removed\n","first_markdown_element":"contracts/strategies/Generalized4626Strategy.sol#L75-L82","id":"36721a3f5c9b22c9bd57a3041f3b07fcc21c57f456cc144dfe21fbfc82b777dd","check":"dead-code","impact":"Informational","confidence":"Medium"},{"elements":[{"type":"function","name":"_initialize","source_mapping":{"start":321,"length":98,"filename_relative":"contracts/governance/InitializableGovernable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol","filename_short":"contracts/governance/InitializableGovernable.sol","is_dependency":false,"lines":[13,14,15],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializableGovernable","source_mapping":{"start":253,"length":168,"filename_relative":"contracts/governance/InitializableGovernable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol","filename_short":"contracts/governance/InitializableGovernable.sol","is_dependency":false,"lines":[12,13,14,15,16],"starting_column":1,"ending_column":2}},"signature":"_initialize(address)"}}],"description":"InitializableGovernable._initialize(address) (contracts/governance/InitializableGovernable.sol#13-15) is never used and should be removed\n","markdown":"[InitializableGovernable._initialize(address)](contracts/governance/InitializableGovernable.sol#L13-L15) is never used and should be removed\n","first_markdown_element":"contracts/governance/InitializableGovernable.sol#L13-L15","id":"3f2ac1fe30d5e500e79d00d7cdcee650008e5473ee804bcc3ba92d1969ece075","check":"dead-code","impact":"Informational","confidence":"Medium"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/governance/Governable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol","filename_short":"contracts/governance/Governable.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/governance/Governable.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/governance/Governable.sol#L2) allows old versions\n","first_markdown_element":"contracts/governance/Governable.sol#L2","id":"a9f16bb10340d2d12d80ed061384a2ffef346969793204e4fbedca1c24145ed8","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/governance/InitializableGovernable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol","filename_short":"contracts/governance/InitializableGovernable.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/governance/InitializableGovernable.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/governance/InitializableGovernable.sol#L2) allows old versions\n","first_markdown_element":"contracts/governance/InitializableGovernable.sol#L2","id":"79d0ce734dc0dff71f45eec4127b00b9a96f302b448bccb8e53eac5491a7dea4","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/governance/Strategizable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/governance/Strategizable.sol","filename_short":"contracts/governance/Strategizable.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/governance/Strategizable.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/governance/Strategizable.sol#L2) allows old versions\n","first_markdown_element":"contracts/governance/Strategizable.sol#L2","id":"6704e69d816d659695f9dff4ba63d12478df83cf402a95906fe4d0a8e3030a3f","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/harvest/Dripper.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol","filename_short":"contracts/harvest/Dripper.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/harvest/Dripper.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/harvest/Dripper.sol#L2) allows old versions\n","first_markdown_element":"contracts/harvest/Dripper.sol#L2","id":"1140b3378dbcf85f848dd3593f6db455b81de599993575647a78a8e9e16d7e86","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IBasicToken.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBasicToken.sol","filename_short":"contracts/interfaces/IBasicToken.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/IBasicToken.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IBasicToken.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IBasicToken.sol#L2","id":"94bff6382b90ad3924c0066cfd097d81ac291208d0369684cb54afe8658dabba","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IEthUsdOracle.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IEthUsdOracle.sol","filename_short":"contracts/interfaces/IEthUsdOracle.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/IEthUsdOracle.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IEthUsdOracle.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IEthUsdOracle.sol#L2","id":"272e660a7ba45f6a97e0c83762294ab6e2cf4d00cbceda6120b5d8672a34489e","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":0,"length":23,"filename_relative":"contracts/interfaces/IGetExchangeRateToken.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IGetExchangeRateToken.sol","filename_short":"contracts/interfaces/IGetExchangeRateToken.sol","is_dependency":false,"lines":[1],"starting_column":1,"ending_column":24},"type_specific_fields":{"directive":["solidity","^","0.8",".0"]}}],"description":"Pragma version^0.8.0 (contracts/interfaces/IGetExchangeRateToken.sol#1) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IGetExchangeRateToken.sol#L1) allows old versions\n","first_markdown_element":"contracts/interfaces/IGetExchangeRateToken.sol#L1","id":"d40ef5adf85becbae2a11790f9e20e51d1a263c96199ebf02bb2f573909a129e","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IMinMaxOracle.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IMinMaxOracle.sol","filename_short":"contracts/interfaces/IMinMaxOracle.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/IMinMaxOracle.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IMinMaxOracle.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IMinMaxOracle.sol#L2","id":"c2690b6bd4695286c86c5a3bd76986a663dca50c509ccf6ee859eccca2c7dc4d","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":0,"length":23,"filename_relative":"contracts/interfaces/IOUSD.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOUSD.sol","filename_short":"contracts/interfaces/IOUSD.sol","is_dependency":false,"lines":[1],"starting_column":1,"ending_column":24},"type_specific_fields":{"directive":["solidity","^","0.8",".0"]}}],"description":"Pragma version^0.8.0 (contracts/interfaces/IOUSD.sol#1) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IOUSD.sol#L1) allows old versions\n","first_markdown_element":"contracts/interfaces/IOUSD.sol#L1","id":"3853d01e8691288aa7cdbaa59886ee68e2413ccd489d898d83b2e49b4a1ddc23","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IOracle.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOracle.sol","filename_short":"contracts/interfaces/IOracle.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/IOracle.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IOracle.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IOracle.sol#L2","id":"a4d7c9eafef08e42e6544dd4019cf9efe7f51c00050c35eb8c7cc462a5834952","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IPriceOracle.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IPriceOracle.sol","filename_short":"contracts/interfaces/IPriceOracle.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/IPriceOracle.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IPriceOracle.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IPriceOracle.sol#L2","id":"ee7fa68441e218913764ed19aac4e5f2cf7278f785e7b33a65296ad6480202c1","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IStrategy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IStrategy.sol","filename_short":"contracts/interfaces/IStrategy.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/IStrategy.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IStrategy.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IStrategy.sol#L2","id":"525cec582bcb9c733e3300d58ff77ebd629cf4d89a52fa0fe61d13f65c353a26","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":0,"length":23,"filename_relative":"contracts/interfaces/ITimelock.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ITimelock.sol","filename_short":"contracts/interfaces/ITimelock.sol","is_dependency":false,"lines":[1],"starting_column":1,"ending_column":24},"type_specific_fields":{"directive":["solidity","^","0.8",".0"]}}],"description":"Pragma version^0.8.0 (contracts/interfaces/ITimelock.sol#1) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/ITimelock.sol#L1) allows old versions\n","first_markdown_element":"contracts/interfaces/ITimelock.sol#L1","id":"4475b124b600f3a464049046512f274d7d487f5569d04b0d0c8896a5148bc47f","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IVault.sol","filename_short":"contracts/interfaces/IVault.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/IVault.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IVault.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IVault.sol#L2","id":"17d8cdfc74b00a04ec29c0f955fcb435e6cea0762362480e26698d7dade395b8","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IWETH9.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWETH9.sol","filename_short":"contracts/interfaces/IWETH9.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/IWETH9.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IWETH9.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IWETH9.sol#L2","id":"fe92400d6c1a3a9d73cdad69563291319f87d651a109ea6ae2beabb7ce0257df","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IWstETH.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWstETH.sol","filename_short":"contracts/interfaces/IWstETH.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/IWstETH.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IWstETH.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IWstETH.sol#L2","id":"c5904f6311ae3dc0bc00d39c836d70c764336a6ee29b70c304c77c88bc0a33c2","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/Tether.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/Tether.sol","filename_short":"contracts/interfaces/Tether.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/Tether.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/Tether.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/Tether.sol#L2","id":"a844a7c861e5d4669cae48ad216d93b53f055ecb38cb7e03df7bbebe4807598f","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/balancer/IBalancerVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IBalancerVault.sol","filename_short":"contracts/interfaces/balancer/IBalancerVault.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/balancer/IBalancerVault.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/balancer/IBalancerVault.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/balancer/IBalancerVault.sol#L2","id":"cdc4df825083a60dad418af5da34b0a1ec66633977db1a83c207f24c4bd63695","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":688,"length":23,"filename_relative":"contracts/interfaces/balancer/IRateProvider.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IRateProvider.sol","filename_short":"contracts/interfaces/balancer/IRateProvider.sol","is_dependency":false,"lines":[15],"starting_column":1,"ending_column":24},"type_specific_fields":{"directive":["solidity","^","0.8",".0"]}}],"description":"Pragma version^0.8.0 (contracts/interfaces/balancer/IRateProvider.sol#15) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/balancer/IRateProvider.sol#L15) allows old versions\n","first_markdown_element":"contracts/interfaces/balancer/IRateProvider.sol#L15","id":"a0200a0094ccd65b05e62909b5fb57759e74fd67119ad883a12d88b5d212a337","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/chainlink/AggregatorV3Interface.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/chainlink/AggregatorV3Interface.sol","filename_short":"contracts/interfaces/chainlink/AggregatorV3Interface.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/chainlink/AggregatorV3Interface.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2","id":"bc2ed3a6e692a07531fedf75dcd82f2e3779a5b53516d2e1624c85b32b4e820a","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Pair.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Pair.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Pair.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/uniswap/IUniswapV2Pair.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2","id":"b1c5a3bbf566b0e621c50e7ba4220664bd1e54da43fad71dbc938a5eded7f2c2","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.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/uniswap/IUniswapV2Router02.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2","id":"ad47007ddc5c67344d81dc344b49bf500ecc26e3135bd77a62fde43bd7c7b7dd","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.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/proxies/InitializeGovernedUpgradeabilityProxy.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2) allows old versions\n","first_markdown_element":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2","id":"4c766eb1c2e89d40beed9275537ff433a6045d434cdfc1b437e6fc4acc2856b9","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/proxies/Proxies.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/Proxies.sol","filename_short":"contracts/proxies/Proxies.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/proxies/Proxies.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/proxies/Proxies.sol#L2) allows old versions\n","first_markdown_element":"contracts/proxies/Proxies.sol#L2","id":"54449952b8d4d7f912b7edd63a4d5f250415aca230353b6f0c2436fd08bab7c4","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/Generalized4626Strategy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol","filename_short":"contracts/strategies/Generalized4626Strategy.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/strategies/Generalized4626Strategy.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/Generalized4626Strategy.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/Generalized4626Strategy.sol#L2","id":"2a08a0f02b99768b50a70e61fa311b9a27abdbe4d3123dac80ce0a92a573621e","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/IAave.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAave.sol","filename_short":"contracts/strategies/IAave.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/strategies/IAave.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/IAave.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/IAave.sol#L2","id":"03d09f76f6327ec3e00462e72f330bc5b7b74c4c76dd86178740bae9b58213df","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/IAaveIncentivesController.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveIncentivesController.sol","filename_short":"contracts/strategies/IAaveIncentivesController.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/strategies/IAaveIncentivesController.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/IAaveIncentivesController.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/IAaveIncentivesController.sol#L2","id":"021193b4603c0ed5ac062858b53e3888ceb0c79df1cc0b782fafd97a6197c153","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/IAaveStakeToken.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveStakeToken.sol","filename_short":"contracts/strategies/IAaveStakeToken.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/strategies/IAaveStakeToken.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/IAaveStakeToken.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/IAaveStakeToken.sol#L2","id":"51aed3d5dcdcf77b6106f36ac622c82acef7e0d7ff7892b311e1adc4bbb0edc7","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/ICRVMinter.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICRVMinter.sol","filename_short":"contracts/strategies/ICRVMinter.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/strategies/ICRVMinter.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/ICRVMinter.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/ICRVMinter.sol#L2","id":"c1e0e830ba7445a95b4c566d6ec67217c2d6b9749ead120e45b1ebf8015c8bc4","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/IConvexDeposits.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/IConvexDeposits.sol","filename_short":"contracts/strategies/IConvexDeposits.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/strategies/IConvexDeposits.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/IConvexDeposits.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/IConvexDeposits.sol#L2","id":"bd18c560914c2915ea918e64268f9d1d198f7ccf10dd56022daaac37648414e1","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/ICurveETHPoolV1.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveETHPoolV1.sol","filename_short":"contracts/strategies/ICurveETHPoolV1.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/strategies/ICurveETHPoolV1.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/ICurveETHPoolV1.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/ICurveETHPoolV1.sol#L2","id":"87f73a3e8426ca53be7f43f25aef20229cd70ff8b3959b7f179297693c5de12f","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/ICurveGauge.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveGauge.sol","filename_short":"contracts/strategies/ICurveGauge.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/strategies/ICurveGauge.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/ICurveGauge.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/ICurveGauge.sol#L2","id":"238b46b151a29be97e64f11d9fe1618d42b47fe81401a8cdcc641adba9ebc20e","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/ICurvePool.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurvePool.sol","filename_short":"contracts/strategies/ICurvePool.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/strategies/ICurvePool.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/ICurvePool.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/ICurvePool.sol#L2","id":"f757494eaef356ad0c81503b9251f6301b88a90c82132045d49aaad9905f3f93","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/IRewardStaking.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/IRewardStaking.sol","filename_short":"contracts/strategies/IRewardStaking.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/strategies/IRewardStaking.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/IRewardStaking.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/IRewardStaking.sol#L2","id":"9f4345a2ad09e15353a5110b5f623427acaef0955ffa86e0566554f27c6888fe","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/VaultValueChecker.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol","filename_short":"contracts/strategies/VaultValueChecker.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/strategies/VaultValueChecker.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/VaultValueChecker.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/VaultValueChecker.sol#L2","id":"f0e49630796934edda0580f937847757b9f78dfd24164ef52ff32d0624f92cbf","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/token/OETH.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/token/OETH.sol","filename_short":"contracts/token/OETH.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/token/OETH.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/token/OETH.sol#L2) allows old versions\n","first_markdown_element":"contracts/token/OETH.sol#L2","id":"0c536785d47453c3e04de56ec0b68c6a1615dccdc19a62e2c85682e2a8f7c7d5","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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/token/OUSD.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/token/OUSD.sol#L2) allows old versions\n","first_markdown_element":"contracts/token/OUSD.sol#L2","id":"4c28a6c60c940b0c929b0752f10fc43d2c0da77f4294e3d9a3a7284d9d82299a","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/token/WOETH.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/token/WOETH.sol","filename_short":"contracts/token/WOETH.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/token/WOETH.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/token/WOETH.sol#L2) allows old versions\n","first_markdown_element":"contracts/token/WOETH.sol#L2","id":"17861c958de8b62ca693a620b8acfdfa2d1bd58c2f5784a862e1b7547303e94d","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/token/WrappedOusd.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/token/WrappedOusd.sol","filename_short":"contracts/token/WrappedOusd.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/token/WrappedOusd.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/token/WrappedOusd.sol#L2) allows old versions\n","first_markdown_element":"contracts/token/WrappedOusd.sol#L2","id":"3e4418ef1bc9e338a5aeb1cfa883886f37ab4e0da2435bd3b234ba49d317e730","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/utils/Helpers.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/utils/Helpers.sol","filename_short":"contracts/utils/Helpers.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/utils/Helpers.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/utils/Helpers.sol#L2) allows old versions\n","first_markdown_element":"contracts/utils/Helpers.sol#L2","id":"86623102155b1f075f6ea2dd0ddac7ed6b2d3b622cb613deefb6c97e2a0be030","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/utils/Initializable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/utils/Initializable.sol","filename_short":"contracts/utils/Initializable.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/utils/Initializable.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/utils/Initializable.sol#L2) allows old versions\n","first_markdown_element":"contracts/utils/Initializable.sol#L2","id":"1b5144dca22360d396579ab156ffa691cbf0ed4e22bf3c00ee10fabf9703e062","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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/utils/InitializableAbstractStrategy.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/utils/InitializableAbstractStrategy.sol#L2) allows old versions\n","first_markdown_element":"contracts/utils/InitializableAbstractStrategy.sol#L2","id":"e4ba9f8308fcf868334ea35ea0011b4dc5065ea98e8e2f866b6663636a34133c","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/utils/InitializableERC20Detailed.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableERC20Detailed.sol","filename_short":"contracts/utils/InitializableERC20Detailed.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/utils/InitializableERC20Detailed.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/utils/InitializableERC20Detailed.sol#L2) allows old versions\n","first_markdown_element":"contracts/utils/InitializableERC20Detailed.sol#L2","id":"cc3087c4f9d79aeb7b09b5af0de7a2c21f568639180749dfae8282cc230769ac","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/vault/OETHVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol","filename_short":"contracts/vault/OETHVault.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/vault/OETHVault.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/vault/OETHVault.sol#L2) allows old versions\n","first_markdown_element":"contracts/vault/OETHVault.sol#L2","id":"604949a689d5c3b2ab20fb9cd6b7310f14ac7bd713bc96e0db26d320a9eb864d","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.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/vault/VaultAdmin.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/vault/VaultAdmin.sol#L2) allows old versions\n","first_markdown_element":"contracts/vault/VaultAdmin.sol#L2","id":"af09cf9a6cd593314e07a4a02c9fda9d86de52506100b576110e312776e508d3","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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/vault/VaultCore.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/vault/VaultCore.sol#L2) allows old versions\n","first_markdown_element":"contracts/vault/VaultCore.sol#L2","id":"c6f1fe952b98499175623c21fa73863d0e52ede9adcdb9a0840b62c0ba0f4636","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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/vault/VaultStorage.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/vault/VaultStorage.sol#L2) allows old versions\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L2","id":"8f3edef86568cc9c580189310994269662f4ded56367af9f91567362f996681f","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":">=0.4.22<0.9.0","source_mapping":{"start":32,"length":33,"filename_relative":"node_modules/hardhat/console.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/node_modules/hardhat/console.sol","filename_short":"node_modules/hardhat/console.sol","is_dependency":true,"lines":[2],"starting_column":1,"ending_column":34},"type_specific_fields":{"directive":["solidity",">=","0.4",".22","<","0.9",".0"]}}],"description":"Pragma version>=0.4.22<0.9.0 (node_modules/hardhat/console.sol#2) is too complex\n","markdown":"Pragma version[>=0.4.22<0.9.0](node_modules/hardhat/console.sol#L2) is too complex\n","first_markdown_element":"node_modules/hardhat/console.sol#L2","id":"f30cc00866ad4644a058066a785a40fc85920295b639d57c66467131996ae1a5","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"function","name":"initialize","source_mapping":{"start":1352,"length":545,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializeGovernedUpgradeabilityProxy","source_mapping":{"start":450,"length":6294,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.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],"starting_column":1,"ending_column":2}},"signature":"initialize(address,address,bytes)"}},{"type":"node","name":"(success) = _logic.delegatecall(_data)","source_mapping":{"start":1765,"length":45,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[46],"starting_column":13,"ending_column":58},"type_specific_fields":{"parent":{"type":"function","name":"initialize","source_mapping":{"start":1352,"length":545,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializeGovernedUpgradeabilityProxy","source_mapping":{"start":450,"length":6294,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.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],"starting_column":1,"ending_column":2}},"signature":"initialize(address,address,bytes)"}}}}],"description":"Low level call in InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#34-50):\n\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n","markdown":"Low level call in [InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50):\n\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n","first_markdown_element":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50","id":"6c5c3cf16cf2b84b5eb1ddd1ec60c27b5513ecedd039521383bf5b583573950a","check":"low-level-calls","impact":"Informational","confidence":"High"},{"elements":[{"type":"function","name":"upgradeToAndCall","source_mapping":{"start":3091,"length":269,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[84,85,86,87,88,89,90,91,92],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializeGovernedUpgradeabilityProxy","source_mapping":{"start":450,"length":6294,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.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],"starting_column":1,"ending_column":2}},"signature":"upgradeToAndCall(address,bytes)"}},{"type":"node","name":"(success) = newImplementation.delegatecall(data)","source_mapping":{"start":3272,"length":55,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[90],"starting_column":9,"ending_column":64},"type_specific_fields":{"parent":{"type":"function","name":"upgradeToAndCall","source_mapping":{"start":3091,"length":269,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[84,85,86,87,88,89,90,91,92],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializeGovernedUpgradeabilityProxy","source_mapping":{"start":450,"length":6294,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.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],"starting_column":1,"ending_column":2}},"signature":"upgradeToAndCall(address,bytes)"}}}}],"description":"Low level call in InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#84-92):\n\t- (success) = newImplementation.delegatecall(data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#90)\n","markdown":"Low level call in [InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92):\n\t- [(success) = newImplementation.delegatecall(data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L90)\n","first_markdown_element":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92","id":"7f2660b6c4c8a8a08bd4c88bece7832ccd9c9463eef8e34dabd5f732b86d6d47","check":"low-level-calls","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"amountADesired","source_mapping":{"start":448,"length":22,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[18],"starting_column":9,"ending_column":31},"type_specific_fields":{"parent":{"type":"function","name":"addLiquidity","source_mapping":{"start":369,"length":375,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],"starting_column":5,"ending_column":11},"type_specific_fields":{"parent":{"type":"contract","name":"IUniswapV2Router","source_mapping":{"start":57,"length":689,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[4,5,6,7,8,9,10,11,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":"addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}},{"type":"variable","name":"amountBDesired","source_mapping":{"start":480,"length":22,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[19],"starting_column":9,"ending_column":31},"type_specific_fields":{"parent":{"type":"function","name":"addLiquidity","source_mapping":{"start":369,"length":375,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],"starting_column":5,"ending_column":11},"type_specific_fields":{"parent":{"type":"contract","name":"IUniswapV2Router","source_mapping":{"start":57,"length":689,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[4,5,6,7,8,9,10,11,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":"addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}}],"description":"Variable IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#18) is too similar to IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#19)\n","markdown":"Variable [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18) is too similar to [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L19)\n","first_markdown_element":"contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18","id":"ebfb97f25d979455759836fd8e6dfb5873e5f0066fe15708bfbea958a6c97d6c","check":"similar-names","impact":"Informational","confidence":"Medium"},{"elements":[{"type":"variable","name":"MINT_MINIMUM_UNIT_PRICE","source_mapping":{"start":5582,"length":51,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[138],"starting_column":5,"ending_column":56},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVault","source_mapping":{"start":164,"length":32,"filename_relative":"contracts/vault/OETHVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol","filename_short":"contracts/vault/OETHVault.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n","markdown":"[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L138","id":"149a5dd32dc4281e6676bc6235d5b98438630b9dd44b947183da6f2539763ef9","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MIN_UNIT_PRICE_DRIFT","source_mapping":{"start":6052,"length":46,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[149],"starting_column":5,"ending_column":51},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVault","source_mapping":{"start":164,"length":32,"filename_relative":"contracts/vault/OETHVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol","filename_short":"contracts/vault/OETHVault.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n","markdown":"[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L149","id":"7f19bc3e2fb9a9561aee099dc073232975619a6c5032b3a61c1645bf58315f67","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MAX_UNIT_PRICE_DRIFT","source_mapping":{"start":6104,"length":46,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[150],"starting_column":5,"ending_column":51},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVault","source_mapping":{"start":164,"length":32,"filename_relative":"contracts/vault/OETHVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol","filename_short":"contracts/vault/OETHVault.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n","markdown":"[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L150","id":"e5390a7816c93ca32a85f9b57349d42579c55c04a3a4ef2b4769d2575a1905bb","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MINT_MINIMUM_UNIT_PRICE","source_mapping":{"start":5582,"length":51,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[138],"starting_column":5,"ending_column":56},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultAdmin","source_mapping":{"start":179,"length":42,"filename_relative":"contracts/vault/OETHVaultAdmin.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol","filename_short":"contracts/vault/OETHVaultAdmin.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n","markdown":"[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L138","id":"bbab6f2a0b738f60095768009071f55614b28ba6b6e5e6a71f67f94ee08c8e4d","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MIN_UNIT_PRICE_DRIFT","source_mapping":{"start":6052,"length":46,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[149],"starting_column":5,"ending_column":51},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultAdmin","source_mapping":{"start":179,"length":42,"filename_relative":"contracts/vault/OETHVaultAdmin.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol","filename_short":"contracts/vault/OETHVaultAdmin.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n","markdown":"[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L149","id":"94393d439aab1bc281bb45a54cf564b95035d6a7bd2911a0c2ab82805660cbdc","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MAX_UNIT_PRICE_DRIFT","source_mapping":{"start":6104,"length":46,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[150],"starting_column":5,"ending_column":51},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultAdmin","source_mapping":{"start":179,"length":42,"filename_relative":"contracts/vault/OETHVaultAdmin.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol","filename_short":"contracts/vault/OETHVaultAdmin.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n","markdown":"[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L150","id":"0c56f807a05d376afb6eb2e3300f124c71164a80c1bb85eb40f65da6f9f8a1d2","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"strategies","source_mapping":{"start":3271,"length":48,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[83],"starting_column":5,"ending_column":53},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultCore","source_mapping":{"start":176,"length":40,"filename_relative":"contracts/vault/OETHVaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol","filename_short":"contracts/vault/OETHVaultCore.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.strategies (contracts/vault/VaultStorage.sol#83) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n","markdown":"[VaultStorage.strategies](contracts/vault/VaultStorage.sol#L83) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L83","id":"e1cb59e398429820cba9c8fa98f9b6f9bb5766b0248f0efc2355d8a1028187de","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"swapConfig","source_mapping":{"start":6552,"length":58,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[161],"starting_column":5,"ending_column":63},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultCore","source_mapping":{"start":176,"length":40,"filename_relative":"contracts/vault/OETHVaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol","filename_short":"contracts/vault/OETHVaultCore.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.swapConfig (contracts/vault/VaultStorage.sol#161) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n","markdown":"[VaultStorage.swapConfig](contracts/vault/VaultStorage.sol#L161) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L161","id":"2f693fe1c1b55189b244c3d2836962822084ed42ba961b3b1a724748878d58d8","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MAX_UINT","source_mapping":{"start":998,"length":111,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[28,29],"starting_column":5,"ending_column":75},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":788,"length":27831,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultCore","source_mapping":{"start":176,"length":40,"filename_relative":"contracts/vault/OETHVaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol","filename_short":"contracts/vault/OETHVaultCore.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultCore.MAX_UINT (contracts/vault/VaultCore.sol#28-29) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n","markdown":"[VaultCore.MAX_UINT](contracts/vault/VaultCore.sol#L28-L29) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultCore.sol#L28-L29","id":"95344e00c1decfbff4303679bb74ce8912b6e6ff165ec7001fd0c3e38aa363c5","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"maxSupplyDiff","source_mapping":{"start":5213,"length":28,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[127],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#127) should be constant \n","markdown":"[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L127) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L127","id":"09fd4446efe571b7801efb7877d22557574ea45e2982bf4d5366e0bdf1142249","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"netOusdMintForStrategyThreshold","source_mapping":{"start":5995,"length":50,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[147],"starting_column":5,"ending_column":55},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.netOusdMintForStrategyThreshold (contracts/vault/VaultStorage.sol#147) should be constant \n","markdown":"[VaultStorage.netOusdMintForStrategyThreshold](contracts/vault/VaultStorage.sol#L147) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L147","id":"bd0e4f67d5f6fb2a9810eb8385684dfcfa6d5febceacff6a21756e0514dc7dd7","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"oUSD","source_mapping":{"start":4376,"length":18,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[106],"starting_column":5,"ending_column":23},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.oUSD (contracts/vault/VaultStorage.sol#106) should be constant \n","markdown":"[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L106) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L106","id":"500e8adb38d72426b5e12a19f032430bae7fe79fc3b9039de8e1d2b8043c9f27","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"ousdMetaStrategy","source_mapping":{"start":5739,"length":44,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[141],"starting_column":5,"ending_column":49},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.ousdMetaStrategy (contracts/vault/VaultStorage.sol#141) should be constant \n","markdown":"[VaultStorage.ousdMetaStrategy](contracts/vault/VaultStorage.sol#L141) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L141","id":"79f67b513634062fa94cfd8c1f0eaac89d45211dbbaf7e930609371ec6e8a4a1","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"strategistAddr","source_mapping":{"start":4897,"length":42,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[120],"starting_column":5,"ending_column":47},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.strategistAddr (contracts/vault/VaultStorage.sol#120) should be constant \n","markdown":"[VaultStorage.strategistAddr](contracts/vault/VaultStorage.sol#L120) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L120","id":"3040efebbb4c164522cb91db7f6c9c1d2aff4f8ca7753b542e75df9130cdb792","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"trusteeAddress","source_mapping":{"start":5320,"length":29,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[130],"starting_column":5,"ending_column":34},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#130) should be constant \n","markdown":"[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L130) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L130","id":"1694f1d2905ea29eda65443d05da440b7e71abfa3cbf6cfa6a42f6a9ff44e094","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"trusteeFeeBps","source_mapping":{"start":5429,"length":28,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[133],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#133) should be constant \n","markdown":"[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L133) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L133","id":"684276aeea9e321f463f752fc69838fd6f7e79e627cb01fe42aff0ff1706283a","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"assets","source_mapping":{"start":2394,"length":41,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[61],"starting_column":5,"ending_column":46},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":2178,"length":1436,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"isSupportedAsset","source_mapping":{"start":22648,"length":121,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[627,628,629],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"isSupportedAsset(address)"}},{"type":"function","name":"_toUnits","source_mapping":{"start":23346,"length":597,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_toUnits(uint256,address)"}},{"type":"function","name":"_toUnitPrice","source_mapping":{"start":23949,"length":573,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_toUnitPrice(uint256,address)"}}],"description":"VaultStorage.assets (contracts/vault/VaultStorage.sol#61) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#627-629)\n\t- VaultCore._toUnits(uint256,address) (contracts/vault/VaultCore.sol#646-661)\n\t- VaultCore._toUnitPrice(uint256,address) (contracts/vault/VaultCore.sol#663-678)\n","markdown":"[VaultStorage.assets](contracts/vault/VaultStorage.sol#L61) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L627-L629)\n\t- [VaultCore._toUnits(uint256,address)](contracts/vault/VaultCore.sol#L646-L661)\n\t- [VaultCore._toUnitPrice(uint256,address)](contracts/vault/VaultCore.sol#L663-L678)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L61","id":"c860938e159ea26b593c250740cbaa2024ab5c9ac0d6205f97e9af6dac87675f","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"allAssets","source_mapping":{"start":2441,"length":28,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[62],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_redeem","source_mapping":{"start":5763,"length":2485,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}},{"type":"function","name":"_allocate","source_mapping":{"start":10672,"length":2860,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"function","name":"_totalValueInVault","source_mapping":{"start":15676,"length":356,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[432,433,434,435,436,437,438,439,440],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_totalValueInVault()"}},{"type":"function","name":"_totalValueInStrategy","source_mapping":{"start":16603,"length":505,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[457,458,459,460,461,462,463,464,465,466,467,468,469,470,471],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_totalValueInStrategy(address)"}},{"type":"function","name":"_calculateRedeemOutputs","source_mapping":{"start":18727,"length":3082,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,581,582,583,584,585,586,587,588,589,590,591,592,593],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_calculateRedeemOutputs(uint256)"}},{"type":"function","name":"getAssetCount","source_mapping":{"start":22013,"length":95,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[602,603,604],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"getAssetCount()"}},{"type":"function","name":"getAllAssets","source_mapping":{"start":22178,"length":98,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[609,610,611],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"getAllAssets()"}}],"description":"VaultStorage.allAssets (contracts/vault/VaultStorage.sol#62) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#432-440)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#457-471)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#602-604)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#609-611)\n","markdown":"[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L62) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L432-L440)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L457-L471)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L602-L604)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L609-L611)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L62","id":"e730fe429679f7811e61698e718568e8a56bd48136d661a5573f979234e6996c","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"allStrategies","source_mapping":{"start":2688,"length":32,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[70],"starting_column":5,"ending_column":37},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_totalValueInStrategies","source_mapping":{"start":16181,"length":223,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[446,447,448,449,450],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_totalValueInStrategies()"}},{"type":"function","name":"_checkBalance","source_mapping":{"start":17619,"length":486,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[487,488,489,490,491,492,493,494,495,496,497,498,499,500,501],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_checkBalance(address)"}},{"type":"function","name":"getStrategyCount","source_mapping":{"start":22363,"length":104,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[616,617,618],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"getStrategyCount()"}},{"type":"function","name":"getAllStrategies","source_mapping":{"start":22536,"length":106,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[623,624,625],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"getAllStrategies()"}}],"description":"VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#70) is never initialized. It is used in:\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#446-450)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#487-501)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#616-618)\n\t- VaultCore.getAllStrategies() (contracts/vault/VaultCore.sol#623-625)\n","markdown":"[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L70) is never initialized. It is used in:\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L446-L450)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L487-L501)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L616-L618)\n\t- [VaultCore.getAllStrategies()](contracts/vault/VaultCore.sol#L623-L625)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L70","id":"777cbcb013e313a3fd0021436d35e92824a94e210c1611ee051fc5d399d6661c","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"priceProvider","source_mapping":{"start":2780,"length":28,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[73],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":2178,"length":1436,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"_calculateRedeemOutputs","source_mapping":{"start":18727,"length":3082,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,581,582,583,584,585,586,587,588,589,590,591,592,593],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_calculateRedeemOutputs(uint256)"}}],"description":"VaultStorage.priceProvider (contracts/vault/VaultStorage.sol#73) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n","markdown":"[VaultStorage.priceProvider](contracts/vault/VaultStorage.sol#L73) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L73","id":"eb7c2db1064787af6f239823c6b9223ba83a523396f8c7dc61c479282af97886","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"redeemFeeBps","source_mapping":{"start":2949,"length":27,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[78],"starting_column":5,"ending_column":32},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_calculateRedeemOutputs","source_mapping":{"start":18727,"length":3082,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,581,582,583,584,585,586,587,588,589,590,591,592,593],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_calculateRedeemOutputs(uint256)"}}],"description":"VaultStorage.redeemFeeBps (contracts/vault/VaultStorage.sol#78) is never initialized. It is used in:\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n","markdown":"[VaultStorage.redeemFeeBps](contracts/vault/VaultStorage.sol#L78) is never initialized. It is used in:\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L78","id":"c4819c8bb26576b24a1992a0ece73900c1b258ae9f166389ef2521f675df5cb1","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"vaultBuffer","source_mapping":{"start":3052,"length":26,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[80],"starting_column":5,"ending_column":31},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_allocate","source_mapping":{"start":10672,"length":2860,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}],"description":"VaultStorage.vaultBuffer (contracts/vault/VaultStorage.sol#80) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n","markdown":"[VaultStorage.vaultBuffer](contracts/vault/VaultStorage.sol#L80) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L80","id":"7147ba0fbcdb532f72f8a1425c5779a2caf2d432ef22a51a9c541b90d6da121c","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"autoAllocateThreshold","source_mapping":{"start":3157,"length":36,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[82],"starting_column":5,"ending_column":41},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":2178,"length":1436,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}}],"description":"VaultStorage.autoAllocateThreshold (contracts/vault/VaultStorage.sol#82) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n","markdown":"[VaultStorage.autoAllocateThreshold](contracts/vault/VaultStorage.sol#L82) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L82","id":"3d9c26c30d04bc19d1bc2436186d32a82dbdee2c98be4833dff1f7fefa80858d","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"rebaseThreshold","source_mapping":{"start":3264,"length":30,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[84],"starting_column":5,"ending_column":35},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":2178,"length":1436,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"mintForStrategy","source_mapping":{"start":4345,"length":813,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mintForStrategy(uint256)"}},{"type":"function","name":"_redeem","source_mapping":{"start":5763,"length":2485,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}},{"type":"function","name":"burnForStrategy","source_mapping":{"start":8974,"length":951,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"burnForStrategy(uint256)"}}],"description":"VaultStorage.rebaseThreshold (contracts/vault/VaultStorage.sol#84) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n","markdown":"[VaultStorage.rebaseThreshold](contracts/vault/VaultStorage.sol#L84) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L84","id":"b8efcc08277c777ff50a11fc931031018cad1a54978f03183217cd13dd183093","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"oUSD","source_mapping":{"start":3301,"length":18,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[86],"starting_column":5,"ending_column":23},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":2178,"length":1436,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"mintForStrategy","source_mapping":{"start":4345,"length":813,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mintForStrategy(uint256)"}},{"type":"function","name":"_redeem","source_mapping":{"start":5763,"length":2485,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}},{"type":"function","name":"burnForStrategy","source_mapping":{"start":8974,"length":951,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"burnForStrategy(uint256)"}},{"type":"function","name":"redeemAll","source_mapping":{"start":10087,"length":190,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[281,282,283,284,285,286,287],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"redeemAll(uint256)"}},{"type":"function","name":"_rebase","source_mapping":{"start":13976,"length":953,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_rebase()"}}],"description":"VaultStorage.oUSD (contracts/vault/VaultStorage.sol#86) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n\t- VaultCore.redeemAll(uint256) (contracts/vault/VaultCore.sol#281-287)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#384-408)\n","markdown":"[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L86) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n\t- [VaultCore.redeemAll(uint256)](contracts/vault/VaultCore.sol#L281-L287)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L384-L408)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L86","id":"df26918b8bdd621ec118d2015bb8578817d734b6d3c33937967b164cadc2ace0","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"maxSupplyDiff","source_mapping":{"start":4028,"length":28,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[106],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_redeem","source_mapping":{"start":5763,"length":2485,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}}],"description":"VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#106) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n","markdown":"[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L106) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L106","id":"6a3430804bec9d029a57ae03c02e8a40c310203865799000bf50016777b36f8f","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"decimalsCache","source_mapping":{"start":4736,"length":50,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[124],"starting_column":5,"ending_column":55},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4497,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_getDecimals","source_mapping":{"start":23780,"length":204,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[668,669,670,671,672],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":987,"length":24439,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717],"starting_column":1,"ending_column":2}},"signature":"_getDecimals(address)"}}],"description":"VaultStorage.decimalsCache (contracts/vault/VaultStorage.sol#124) is never initialized. It is used in:\n\t- VaultCore._getDecimals(address) (contracts/vault/VaultCore.sol#668-672)\n","markdown":"[VaultStorage.decimalsCache](contracts/vault/VaultStorage.sol#L124) is never initialized. It is used in:\n\t- [VaultCore._getDecimals(address)](contracts/vault/VaultCore.sol#L668-L672)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L124","id":"ae957b4f96eb11ddea5ee4d030d41472ceee6954f34cde52618144ab869fa8c3","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"assets","source_mapping":{"start":2283,"length":41,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[57],"starting_column":5,"ending_column":46},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":3795,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,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}}}},{"type":"function","name":"mint","source_mapping":{"start":1716,"length":1511,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":874,"length":22316,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"isSupportedAsset","source_mapping":{"start":21910,"length":121,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[599,600,601],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":874,"length":22316,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639],"starting_column":1,"ending_column":2}},"signature":"isSupportedAsset(address)"}}],"description":"VaultStorage.assets (contracts/vault/VaultStorage.sol#57) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#53-97)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#599-601)\n","markdown":"[VaultStorage.assets](contracts/vault/VaultStorage.sol#L57) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L53-L97)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L599-L601)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L57","id":"6a182c24e91d1dd53b0b1ef0dab5f77981ebaf050bd25c19b9cca70afaf18e67","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"_decimals","source_mapping":{"start":393,"length":23,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[19],"starting_column":5,"ending_column":28},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade._decimals (contracts/token/OUSDResolutionUpgrade.sol#19) should be constant\n","markdown":"[OUSDResolutionUpgrade._decimals](contracts/token/OUSDResolutionUpgrade.sol#L19) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L19","id":"c6b2c8888913a809e3344ed0dee21191412ae3601896db9c573f735f6c3d7a8a","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"_name","source_mapping":{"start":339,"length":20,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[17],"starting_column":5,"ending_column":25},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade._name (contracts/token/OUSDResolutionUpgrade.sol#17) should be constant\n","markdown":"[OUSDResolutionUpgrade._name](contracts/token/OUSDResolutionUpgrade.sol#L17) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L17","id":"6956191c111bc7668de81941132c1a31576d2af9cfae5034646c97388cdec653","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"_symbol","source_mapping":{"start":365,"length":22,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[18],"starting_column":5,"ending_column":27},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade._symbol (contracts/token/OUSDResolutionUpgrade.sol#18) should be constant\n","markdown":"[OUSDResolutionUpgrade._symbol](contracts/token/OUSDResolutionUpgrade.sol#L18) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L18","id":"4a6b27b5189d0409bd8717ec6416071376f25ba75d9a3fcb2c617036aa554257","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"_totalSupply","source_mapping":{"start":510,"length":27,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[23],"starting_column":5,"ending_column":32},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade._totalSupply (contracts/token/OUSDResolutionUpgrade.sol#23) should be constant\n","markdown":"[OUSDResolutionUpgrade._totalSupply](contracts/token/OUSDResolutionUpgrade.sol#L23) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L23","id":"1658e506f1e0828cb824d099c91bb2a569de15dbd05bdc7f11b98a69a98f8638","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"initialized","source_mapping":{"start":166,"length":24,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[11],"starting_column":5,"ending_column":29},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade.initialized (contracts/token/OUSDResolutionUpgrade.sol#11) should be constant\n","markdown":"[OUSDResolutionUpgrade.initialized](contracts/token/OUSDResolutionUpgrade.sol#L11) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L11","id":"fefc27aa7f63a8fb938914b29bdf6913ea43894d2297e65bc64c63cf5cf82af9","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"initializing","source_mapping":{"start":196,"length":25,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[12],"starting_column":5,"ending_column":30},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade.initializing (contracts/token/OUSDResolutionUpgrade.sol#12) should be constant\n","markdown":"[OUSDResolutionUpgrade.initializing](contracts/token/OUSDResolutionUpgrade.sol#L12) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L12","id":"c69133d357c924089ed02bb4dde070a42b4bf6de4c0b65d348e468864973316a","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"nonRebasingSupply","source_mapping":{"start":803,"length":32,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[29],"starting_column":5,"ending_column":37},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade.nonRebasingSupply (contracts/token/OUSDResolutionUpgrade.sol#29) should be constant\n","markdown":"[OUSDResolutionUpgrade.nonRebasingSupply](contracts/token/OUSDResolutionUpgrade.sol#L29) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L29","id":"e17fd436e0a604cb7be2d272cdd362338280663a1a0aa613116ea1b3fbe6ebc9","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"vaultAddress","source_mapping":{"start":616,"length":40,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[25],"starting_column":5,"ending_column":45},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade.vaultAddress (contracts/token/OUSDResolutionUpgrade.sol#25) should be constant\n","markdown":"[OUSDResolutionUpgrade.vaultAddress](contracts/token/OUSDResolutionUpgrade.sol#L25) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L25","id":"d17c40d13f23171f24f257c05a906ba4f825e300c024fcec7986d2bf6ed00657","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"isUpgraded","source_mapping":{"start":1875,"length":45,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[52],"starting_column":5,"ending_column":50},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":840,"length":19113,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"creditsBalanceOfHighres","source_mapping":{"start":5205,"length":322,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":840,"length":19113,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},"signature":"creditsBalanceOfHighres(address)"}}],"description":"OUSD.isUpgraded (contracts/token/OUSD.sol#52) is never initialized. It is used in:\n\t- OUSD.creditsBalanceOfHighres(address) (contracts/token/OUSD.sol#158-172)\n","markdown":"[OUSD.isUpgraded](contracts/token/OUSD.sol#L52) is never initialized. It is used in:\n\t- [OUSD.creditsBalanceOfHighres(address)](contracts/token/OUSD.sol#L158-L172)\n","first_markdown_element":"contracts/token/OUSD.sol#L52","id":"1a9fd10ae49fbf202e5333c123ca53e5ea8614f3f7a5ace5a8e001758b5be263","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"function","name":"scaleBy","source_mapping":{"start":781,"length":288,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[27,28,29,30,31,32,33,34,35,36,37,38],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":285,"length":3569,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,uint256,uint256)"}},{"type":"node","name":"x = x.mul(10 ** (to - from))","source_mapping":{"start":936,"length":26,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[33],"starting_column":13,"ending_column":39},"type_specific_fields":{"parent":{"type":"function","name":"scaleBy","source_mapping":{"start":781,"length":288,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[27,28,29,30,31,32,33,34,35,36,37,38],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":285,"length":3569,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,uint256,uint256)"}}}},{"type":"node","name":"x = x.div(10 ** (from - to))","source_mapping":{"start":1008,"length":26,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[35],"starting_column":13,"ending_column":39},"type_specific_fields":{"parent":{"type":"function","name":"scaleBy","source_mapping":{"start":781,"length":288,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[27,28,29,30,31,32,33,34,35,36,37,38],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":285,"length":3569,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,uint256,uint256)"}}}}],"description":"StableMath.scaleBy(uint256,uint256,uint256) (contracts/utils/StableMath.sol#27-38) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** (to - from)) (contracts/utils/StableMath.sol#33)\n\t-x = x.div(10 ** (from - to)) (contracts/utils/StableMath.sol#35)\n","markdown":"[StableMath.scaleBy(uint256,uint256,uint256)](contracts/utils/StableMath.sol#L27-L38) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** (to - from))](contracts/utils/StableMath.sol#L33)\n\t-[x = x.div(10 ** (from - to))](contracts/utils/StableMath.sol#L35)\n","first_markdown_element":"contracts/utils/StableMath.sol#L27-L38","id":"b1500b45d44a127aa3729dda962b0f1fad4c4141dfa4fb20f46e1148cf288944","check":"divide-before-multiply","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"function","name":"addSwapToken","source_mapping":{"start":7974,"length":644,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultAdmin","source_mapping":{"start":527,"length":18940,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.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,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],"starting_column":1,"ending_column":2}},"signature":"addSwapToken(address)"}},{"type":"node","name":"IOracle(priceProvider).price(_addr)","source_mapping":{"start":8261,"length":35,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[243],"starting_column":9,"ending_column":44},"type_specific_fields":{"parent":{"type":"function","name":"addSwapToken","source_mapping":{"start":7974,"length":644,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultAdmin","source_mapping":{"start":527,"length":18940,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.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,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],"starting_column":1,"ending_column":2}},"signature":"addSwapToken(address)"}}}}],"description":"VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#235-255) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#243)\n","markdown":"[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L235-L255) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L243)\n","first_markdown_element":"contracts/vault/VaultAdmin.sol#L235-L255","id":"62ac1769a2c1d54d7ea6660de35020316e5057588e99010c778d43e01aacf3e2","check":"unused-return","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"function","name":"addSwapToken","source_mapping":{"start":7510,"length":644,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultAdmin","source_mapping":{"start":527,"length":18435,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.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,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],"starting_column":1,"ending_column":2}},"signature":"addSwapToken(address)"}},{"type":"node","name":"IOracle(priceProvider).price(_addr)","source_mapping":{"start":7797,"length":35,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[231],"starting_column":9,"ending_column":44},"type_specific_fields":{"parent":{"type":"function","name":"addSwapToken","source_mapping":{"start":7510,"length":644,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultAdmin","source_mapping":{"start":527,"length":18435,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.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,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],"starting_column":1,"ending_column":2}},"signature":"addSwapToken(address)"}}}}],"description":"VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#223-243) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#231)\n","markdown":"[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L223-L243) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L231)\n","first_markdown_element":"contracts/vault/VaultAdmin.sol#L223-L243","id":"9c71d10f9809eae2cbece0fe66259b93d8a7423a5a0e5362b2e132b55970c1a9","check":"unused-return","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9273,"length":4326,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24503,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"IVault(address(this)).harvest(allStrategies[i])","source_mapping":{"start":10657,"length":47,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[289],"starting_column":25,"ending_column":72},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9273,"length":4326,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24503,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#289)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L289)\n","id":"14738114fda112fc8f37877cd29cc70a2cd815ef7bd1c03a5a0774ec1e219673","check":"unused-return","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":449,"length":8364,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},{"type":"node","name":"assetsMapped.push(_asset)","source_mapping":{"start":6547,"length":25,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[189],"starting_column":9,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_setPTokenAddress","source_mapping":{"start":6231,"length":438,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[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":"InitializableAbstractStrategy","source_mapping":{"start":449,"length":8364,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},"signature":"_setPTokenAddress(address,address)"}}}}],"description":"InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#11-263) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#189)\n","markdown":"[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L11-L263) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L189)\n","id":"381ac16a09532b8a5dfd39a5d7c89b8a098eed32925b60281cbd3b0fcad4f990","check":"controlled-array-length","impact":"High","confidence":"Medium"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9273,"length":4326,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24503,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"IVault(address(this)).harvest(allStrategies[i])","source_mapping":{"start":10027,"length":47,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[278],"starting_column":21,"ending_column":68},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9273,"length":4326,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24503,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#278)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L278)\n","id":"7e2dac8db9a46c3c11c5d4b3e04cb5233cb9693607e01c54045f05b7dae4fc76","check":"unused-return","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":392,"length":8280,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,248,249,250,251,252,253,254,255,256,257,258,259],"starting_column":1,"ending_column":2}},{"type":"node","name":"assetsMapped.push(_asset)","source_mapping":{"start":6406,"length":25,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[185],"starting_column":9,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_setPTokenAddress","source_mapping":{"start":6090,"length":438,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[177,178,179,180,181,182,183,184,185,186,187,188,189,190],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":392,"length":8280,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,248,249,250,251,252,253,254,255,256,257,258,259],"starting_column":1,"ending_column":2}},"signature":"_setPTokenAddress(address,address)"}}}}],"description":"InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-259) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#185)\n","markdown":"[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L259) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L185)\n","id":"30b7d9aab47a66b59f74bd13941e813c3b5a5ae6448a3f7679c53e7ddbe332ae","check":"controlled-array-length","impact":"High","confidence":"Medium"},{"elements":[{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":392,"length":7885,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,248,249],"starting_column":1,"ending_column":2}},{"type":"node","name":"assetsMapped.push(_asset)","source_mapping":{"start":6011,"length":25,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[175],"starting_column":9,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_setPTokenAddress","source_mapping":{"start":5695,"length":438,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[167,168,169,170,171,172,173,174,175,176,177,178,179,180],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":392,"length":7885,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,248,249],"starting_column":1,"ending_column":2}},"signature":"_setPTokenAddress(address,address)"}}}}],"description":"InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-249) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#175)\n","markdown":"[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L249) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L175)\n","id":"4768a672e113dfcc66a3411dcecbb416a83238a54329eb946079711430f271a2","check":"controlled-array-length","impact":"High","confidence":"Medium"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9261,"length":3882,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24145,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"assetBalance == 0","source_mapping":{"start":10940,"length":17,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[302],"starting_column":17,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9261,"length":3882,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24145,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#265-351) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#302)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L265-L351) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L302)\n","id":"68299d4d220bd6c43bb5621c4879a0d491e7543f1165aecf84c78d5c75097361","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"variable","name":"trusteeAddress","source_mapping":{"start":3698,"length":29,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[101],"starting_column":5,"ending_column":34},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":807,"length":3487,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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}}}},{"type":"function","name":"_allocate","source_mapping":{"start":9506,"length":3882,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24302,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"function","name":"_rebase","source_mapping":{"start":13841,"length":953,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24302,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681],"starting_column":1,"ending_column":2}},"signature":"_rebase()"}}],"description":"VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n","markdown":"[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n","id":"65e007df44c00b192cdedf6acb4c0c396774b55569e66aa864570ff224919500","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9506,"length":3882,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24302,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"assetBalance == 0","source_mapping":{"start":11185,"length":17,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[308],"starting_column":17,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9506,"length":3882,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24302,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#308)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L308)\n","id":"3cdb474d424497377560f2617a225571d094bc5a4d9068ed28cc039cf36bb0a9","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9451,"length":3809,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":566,"length":24229,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"assetBalance == 0","source_mapping":{"start":11130,"length":17,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[307],"starting_column":17,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9451,"length":3809,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":566,"length":24229,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#270-353) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#307)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L270-L353) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L307)\n","id":"67337dd8b3da36d12ebd0856bc1dd88acd22e740abd8d2e6e33a46a1d187e940","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":396,"length":7885,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},{"type":"node","name":"assetsMapped.push(_asset)","source_mapping":{"start":6016,"length":25,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[177],"starting_column":9,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_setPTokenAddress","source_mapping":{"start":5700,"length":438,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[169,170,171,172,173,174,175,176,177,178,179,180,181,182],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":396,"length":7885,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},"signature":"_setPTokenAddress(address,address)"}}}}],"description":"InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-251) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#177)\n","markdown":"[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L251) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L177)\n","id":"df38af393431fdde0ef600ae1071c57ca43fd15a0015a0d24d83245f0a52a803","check":"controlled-array-length","impact":"High","confidence":"Medium"},{"elements":[{"type":"variable","name":"trusteeFeeBps","source_mapping":{"start":3782,"length":28,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[104],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":807,"length":3486,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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}}}},{"type":"function","name":"_rebase","source_mapping":{"start":13775,"length":953,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":24561,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686],"starting_column":1,"ending_column":2}},"signature":"_rebase()"}}],"description":"VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#370-394)\n","markdown":"[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L370-L394)\n","id":"6026824a262c80dba27267266bd932f6ced8a0ab28731a229e2747099e556a33","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"trusteeAddress","source_mapping":{"start":3699,"length":29,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[101],"starting_column":5,"ending_column":34},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":807,"length":3490,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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}}}},{"type":"function","name":"_rebase","source_mapping":{"start":13871,"length":960,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":24664,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688],"starting_column":1,"ending_column":2}},"signature":"_rebase()"}}],"description":"VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n","markdown":"[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n","id":"38c6f1922de1e66b8be48d1e73897a517a266abf443487b0429c6d6070aa67d7","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"trusteeFeeBasis","source_mapping":{"start":3784,"length":30,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[104],"starting_column":5,"ending_column":35},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":807,"length":3490,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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}}}},{"type":"function","name":"_rebase","source_mapping":{"start":13871,"length":960,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":24664,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688],"starting_column":1,"ending_column":2}},"signature":"_rebase()"}}],"description":"VaultStorage.trusteeFeeBasis (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n","markdown":"[VaultStorage.trusteeFeeBasis](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n","id":"3f7908a03d07c1a38ed6e02e0e85b2e0e3e7b96dcad11d66ac62102edf3951f9","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"function","name":"scaleBy","source_mapping":{"start":734,"length":308,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[25,26,27,28,29,30,31,32,33,34,35,36],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":242,"length":3585,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[8,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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,int8)"}},{"type":"node","name":"x = x.mul(10 ** uint256(adjustment))","source_mapping":{"start":883,"length":34,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[31],"starting_column":13,"ending_column":47},"type_specific_fields":{"parent":{"type":"function","name":"scaleBy","source_mapping":{"start":734,"length":308,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[25,26,27,28,29,30,31,32,33,34,35,36],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":242,"length":3585,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[8,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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,int8)"}}}},{"type":"node","name":"x = x.div(10 ** uint256(adjustment * - 1))","source_mapping":{"start":968,"length":39,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[33],"starting_column":13,"ending_column":52},"type_specific_fields":{"parent":{"type":"function","name":"scaleBy","source_mapping":{"start":734,"length":308,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[25,26,27,28,29,30,31,32,33,34,35,36],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":242,"length":3585,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[8,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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,int8)"}}}}],"description":"StableMath.scaleBy(uint256,int8) (contracts/utils/StableMath.sol#25-36) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** uint256(adjustment)) (contracts/utils/StableMath.sol#31)\n\t-x = x.div(10 ** uint256(adjustment * - 1)) (contracts/utils/StableMath.sol#33)\n","markdown":"[StableMath.scaleBy(uint256,int8)](contracts/utils/StableMath.sol#L25-L36) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** uint256(adjustment))](contracts/utils/StableMath.sol#L31)\n\t-[x = x.div(10 ** uint256(adjustment * - 1))](contracts/utils/StableMath.sol#L33)\n","id":"db2ef8c1daf9b02deedbcc86671a36b6336566289f0ec3f91ff45f5afe31fd91","check":"divide-before-multiply","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"function","name":"balanceOf","source_mapping":{"start":2744,"length":223,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[83,84,85,86,87],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":17607,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}},{"type":"node","name":"_creditBalances[_account] == 0","source_mapping":{"start":2825,"length":30,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[84],"starting_column":13,"ending_column":43},"type_specific_fields":{"parent":{"type":"function","name":"balanceOf","source_mapping":{"start":2744,"length":223,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[83,84,85,86,87],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":17607,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}}}}],"description":"OUSD.balanceOf(address) (contracts/token/OUSD.sol#83-87) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#84)\n","markdown":"[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L83-L87) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L84)\n","id":"ccb46234e07af49545e8f6ec6328d958fa1c2f6c5bc4170dbf99f57e4003ebeb","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"function","name":"balanceOf","source_mapping":{"start":2849,"length":223,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[87,88,89,90,91],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":16903,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}},{"type":"node","name":"_creditBalances[_account] == 0","source_mapping":{"start":2930,"length":30,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[88],"starting_column":13,"ending_column":43},"type_specific_fields":{"parent":{"type":"function","name":"balanceOf","source_mapping":{"start":2849,"length":223,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[87,88,89,90,91],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":16903,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}}}}],"description":"OUSD.balanceOf(address) (contracts/token/OUSD.sol#87-91) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#88)\n","markdown":"[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L87-L91) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L88)\n","id":"ac0ff05bcf967595b64b2a24b53884cfca5e30e06792da3ba40104ab169d77a4","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":396,"length":8222,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},{"type":"node","name":"assetsMapped.push(_asset)","source_mapping":{"start":6476,"length":25,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[193],"starting_column":9,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_setPTokenAddress","source_mapping":{"start":6160,"length":438,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[185,186,187,188,189,190,191,192,193,194,195,196,197,198],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":396,"length":8222,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},"signature":"_setPTokenAddress(address,address)"}}}}],"description":"InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-262) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#193)\n","markdown":"[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L262) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L193)\n","id":"e99c44d951e76857b3f5bfc5cdccca773021441bfde515673b7eccdad421c7e3","check":"controlled-array-length","impact":"High","confidence":"Medium"},{"elements":[{"type":"variable","name":"assets","source_mapping":{"start":1854,"length":32,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[51],"starting_column":5,"ending_column":37},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":738,"length":3013,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":1313,"length":1551,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"mintMultiple","source_mapping":{"start":3165,"length":2120,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"mintMultiple(address[],uint256[],uint256)"}},{"type":"function","name":"isSupportedAsset","source_mapping":{"start":23379,"length":121,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[647,648,649],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"isSupportedAsset(address)"}}],"description":"VaultStorage.assets (contracts/vault/VaultStorage.sol#51) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#42-87)\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#647-649)\n","markdown":"[VaultStorage.assets](contracts/vault/VaultStorage.sol#L51) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L42-L87)\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L647-L649)\n","id":"b5f535d2516b1f696e381fc7ef334ac08dab475e61c7fd193ef8eb0498172128","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"allAssets","source_mapping":{"start":1892,"length":19,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[52],"starting_column":5,"ending_column":24},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":738,"length":3013,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mintMultiple","source_mapping":{"start":3165,"length":2120,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"mintMultiple(address[],uint256[],uint256)"}},{"type":"function","name":"_redeem","source_mapping":{"start":5959,"length":2568,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}},{"type":"function","name":"_allocate","source_mapping":{"start":9491,"length":3809,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"function","name":"_totalValueInVault","source_mapping":{"start":14993,"length":456,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[412,413,414,415,416,417,418,419,420,421,422],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_totalValueInVault()"}},{"type":"function","name":"_totalValueInStrategy","source_mapping":{"start":16033,"length":605,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_totalValueInStrategy(address)"}},{"type":"function","name":"_checkBalance","source_mapping":{"start":17760,"length":347,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[491,492,493,494,495,496,497,498,499],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_checkBalance()"}},{"type":"function","name":"_calculateRedeemOutputs","source_mapping":{"start":18615,"length":3196,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,581,582,583,584,585,586,587,588,589,590,591,592,593,594],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_calculateRedeemOutputs(uint256)"}},{"type":"function","name":"_getAssetPrices","source_mapping":{"start":21960,"length":754,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_getAssetPrices(bool)"}},{"type":"function","name":"getAssetCount","source_mapping":{"start":22919,"length":95,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[629,630,631],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"getAssetCount()"}},{"type":"function","name":"getAllAssets","source_mapping":{"start":23084,"length":98,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[636,637,638],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"getAllAssets()"}}],"description":"VaultStorage.allAssets (contracts/vault/VaultStorage.sol#52) is never initialized. It is used in:\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#412-422)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#440-456)\n\t- VaultCore._checkBalance() (contracts/vault/VaultCore.sol#491-499)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#518-594)\n\t- VaultCore._getAssetPrices(bool) (contracts/vault/VaultCore.sol#600-620)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#629-631)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#636-638)\n","markdown":"[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L52) is never initialized. It is used in:\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L412-L422)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L440-L456)\n\t- [VaultCore._checkBalance()](contracts/vault/VaultCore.sol#L491-L499)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L518-L594)\n\t- [VaultCore._getAssetPrices(bool)](contracts/vault/VaultCore.sol#L600-L620)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L629-L631)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L636-L638)\n","id":"a0bcee4b84d596e46f4bdc315977842c894250f10de805d7cb76ef572ecc6eed","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"allStrategies","source_mapping":{"start":2121,"length":23,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[60],"starting_column":5,"ending_column":28},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":738,"length":3013,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_allocate","source_mapping":{"start":9491,"length":3809,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"function","name":"_totalValueInStrategies","source_mapping":{"start":15600,"length":232,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[428,429,430,431,432,433],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_totalValueInStrategies()"}},{"type":"function","name":"_checkBalance","source_mapping":{"start":17149,"length":458,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[472,473,474,475,476,477,478,479,480,481,482,483,484,485],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_checkBalance(address)"}},{"type":"function","name":"getStrategyCount","source_mapping":{"start":23269,"length":104,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[643,644,645],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"getStrategyCount()"}}],"description":"VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#60) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#428-433)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#472-485)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#643-645)\n","markdown":"[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L60) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L428-L433)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L472-L485)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L643-L645)\n","id":"ea3b2d51d5c7b49d49000d98c22ad2e6114ee9ddc5ae0a3dbca43230b1d86caa","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"assetDefaultStrategies","source_mapping":{"start":3296,"length":57,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[92],"starting_column":5,"ending_column":62},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":738,"length":3013,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_redeem","source_mapping":{"start":5959,"length":2568,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}},{"type":"function","name":"_allocate","source_mapping":{"start":9491,"length":3809,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}],"description":"VaultStorage.assetDefaultStrategies (contracts/vault/VaultStorage.sol#92) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n","markdown":"[VaultStorage.assetDefaultStrategies](contracts/vault/VaultStorage.sol#L92) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n","id":"2a2b38bc90433cda7268d5e5e361bda99612c0a8a010cde7677ef881ee8366ee","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"function","name":"balanceOf","source_mapping":{"start":3072,"length":223,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[93,94,95,96,97],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":17126,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}},{"type":"node","name":"_creditBalances[_account] == 0","source_mapping":{"start":3153,"length":30,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[94],"starting_column":13,"ending_column":43},"type_specific_fields":{"parent":{"type":"function","name":"balanceOf","source_mapping":{"start":3072,"length":223,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[93,94,95,96,97],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":17126,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}}}}],"description":"OUSD.balanceOf(address) (contracts/token/OUSD.sol#93-97) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#94)\n","markdown":"[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L93-L97) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L94)\n","id":"a55a1e1f6ea78bddc5cbd6d68e5a4302d75fcd721b5a8c9f6966a014896ca1d4","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9491,"length":3809,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"assetBalance == 0","source_mapping":{"start":11170,"length":17,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[309],"starting_column":17,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9491,"length":3809,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#309)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L309)\n","id":"e076e0868789c4c8eac321fa296d864f811cdc98d51f0a6c652fad192cda236b","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"variable","name":"_deprecated_nonRebasingCredits","source_mapping":{"start":1889,"length":46,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[56],"starting_column":5,"ending_column":51},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":17126,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSD._deprecated_nonRebasingCredits (contracts/token/OUSD.sol#56) should be constant\n","markdown":"[OUSD._deprecated_nonRebasingCredits](contracts/token/OUSD.sol#L56) should be constant\n","id":"d1ea4fe9408f80125156de9fe468a481994a6d08fef3b6b1933e37e2df899f9e","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"_deprecated_rebaseHooksAddr","source_mapping":{"start":2977,"length":56,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[82],"starting_column":5,"ending_column":61},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":738,"length":3013,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage._deprecated_rebaseHooksAddr (contracts/vault/VaultStorage.sol#82) should be constant\n","markdown":"[VaultStorage._deprecated_rebaseHooksAddr](contracts/vault/VaultStorage.sol#L82) should be constant\n","id":"ed4ffd431fec4020c56a7e926083a9e68612827dfc15d7aabf73103cd7bcf2aa","check":"constable-states","impact":"Optimization","confidence":"High"}] \ No newline at end of file +[{"elements":[{"type":"variable","name":"dripDuration","source_mapping":{"start":2711,"length":27,"filename_relative":"contracts/harvest/Dripper.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol","filename_short":"contracts/harvest/Dripper.sol","is_dependency":false,"lines":[57],"starting_column":5,"ending_column":32},"type_specific_fields":{"parent":{"type":"contract","name":"Dripper","source_mapping":{"start":2394,"length":3391,"filename_relative":"contracts/harvest/Dripper.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol","filename_short":"contracts/harvest/Dripper.sol","is_dependency":false,"lines":[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140],"starting_column":1,"ending_column":2}}}}],"description":"Dripper.dripDuration (contracts/harvest/Dripper.sol#57) should be constant \n","markdown":"[Dripper.dripDuration](contracts/harvest/Dripper.sol#L57) should be constant \n","first_markdown_element":"contracts/harvest/Dripper.sol#L57","id":"bc07634cb03823a539637d4023f73df6c30f68d98c2cf684831a8f7870d7705a","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"function","name":"_deposit","source_mapping":{"start":2484,"length":386,"filename_relative":"contracts/strategies/Generalized4626Strategy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol","filename_short":"contracts/strategies/Generalized4626Strategy.sol","is_dependency":false,"lines":[75,76,77,78,79,80,81,82],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"Generalized4626Strategy","source_mapping":{"start":454,"length":6746,"filename_relative":"contracts/strategies/Generalized4626Strategy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol","filename_short":"contracts/strategies/Generalized4626Strategy.sol","is_dependency":false,"lines":[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],"starting_column":1,"ending_column":2}},"signature":"_deposit(address,uint256)"}}],"description":"Generalized4626Strategy._deposit(address,uint256) (contracts/strategies/Generalized4626Strategy.sol#75-82) is never used and should be removed\n","markdown":"[Generalized4626Strategy._deposit(address,uint256)](contracts/strategies/Generalized4626Strategy.sol#L75-L82) is never used and should be removed\n","first_markdown_element":"contracts/strategies/Generalized4626Strategy.sol#L75-L82","id":"36721a3f5c9b22c9bd57a3041f3b07fcc21c57f456cc144dfe21fbfc82b777dd","check":"dead-code","impact":"Informational","confidence":"Medium"},{"elements":[{"type":"function","name":"_initialize","source_mapping":{"start":321,"length":98,"filename_relative":"contracts/governance/InitializableGovernable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol","filename_short":"contracts/governance/InitializableGovernable.sol","is_dependency":false,"lines":[13,14,15],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializableGovernable","source_mapping":{"start":253,"length":168,"filename_relative":"contracts/governance/InitializableGovernable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol","filename_short":"contracts/governance/InitializableGovernable.sol","is_dependency":false,"lines":[12,13,14,15,16],"starting_column":1,"ending_column":2}},"signature":"_initialize(address)"}}],"description":"InitializableGovernable._initialize(address) (contracts/governance/InitializableGovernable.sol#13-15) is never used and should be removed\n","markdown":"[InitializableGovernable._initialize(address)](contracts/governance/InitializableGovernable.sol#L13-L15) is never used and should be removed\n","first_markdown_element":"contracts/governance/InitializableGovernable.sol#L13-L15","id":"3f2ac1fe30d5e500e79d00d7cdcee650008e5473ee804bcc3ba92d1969ece075","check":"dead-code","impact":"Informational","confidence":"Medium"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/governance/Governable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/governance/Governable.sol","filename_short":"contracts/governance/Governable.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/governance/Governable.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/governance/Governable.sol#L2) allows old versions\n","first_markdown_element":"contracts/governance/Governable.sol#L2","id":"a9f16bb10340d2d12d80ed061384a2ffef346969793204e4fbedca1c24145ed8","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/governance/InitializableGovernable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/governance/InitializableGovernable.sol","filename_short":"contracts/governance/InitializableGovernable.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/governance/InitializableGovernable.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/governance/InitializableGovernable.sol#L2) allows old versions\n","first_markdown_element":"contracts/governance/InitializableGovernable.sol#L2","id":"79d0ce734dc0dff71f45eec4127b00b9a96f302b448bccb8e53eac5491a7dea4","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/governance/Strategizable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/governance/Strategizable.sol","filename_short":"contracts/governance/Strategizable.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/governance/Strategizable.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/governance/Strategizable.sol#L2) allows old versions\n","first_markdown_element":"contracts/governance/Strategizable.sol#L2","id":"6704e69d816d659695f9dff4ba63d12478df83cf402a95906fe4d0a8e3030a3f","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/harvest/Dripper.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/harvest/Dripper.sol","filename_short":"contracts/harvest/Dripper.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/harvest/Dripper.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/harvest/Dripper.sol#L2) allows old versions\n","first_markdown_element":"contracts/harvest/Dripper.sol#L2","id":"1140b3378dbcf85f848dd3593f6db455b81de599993575647a78a8e9e16d7e86","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IBasicToken.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IBasicToken.sol","filename_short":"contracts/interfaces/IBasicToken.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/IBasicToken.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IBasicToken.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IBasicToken.sol#L2","id":"94bff6382b90ad3924c0066cfd097d81ac291208d0369684cb54afe8658dabba","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IEthUsdOracle.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IEthUsdOracle.sol","filename_short":"contracts/interfaces/IEthUsdOracle.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/IEthUsdOracle.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IEthUsdOracle.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IEthUsdOracle.sol#L2","id":"272e660a7ba45f6a97e0c83762294ab6e2cf4d00cbceda6120b5d8672a34489e","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":0,"length":23,"filename_relative":"contracts/interfaces/IGetExchangeRateToken.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IGetExchangeRateToken.sol","filename_short":"contracts/interfaces/IGetExchangeRateToken.sol","is_dependency":false,"lines":[1],"starting_column":1,"ending_column":24},"type_specific_fields":{"directive":["solidity","^","0.8",".0"]}}],"description":"Pragma version^0.8.0 (contracts/interfaces/IGetExchangeRateToken.sol#1) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IGetExchangeRateToken.sol#L1) allows old versions\n","first_markdown_element":"contracts/interfaces/IGetExchangeRateToken.sol#L1","id":"d40ef5adf85becbae2a11790f9e20e51d1a263c96199ebf02bb2f573909a129e","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IMinMaxOracle.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IMinMaxOracle.sol","filename_short":"contracts/interfaces/IMinMaxOracle.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/IMinMaxOracle.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IMinMaxOracle.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IMinMaxOracle.sol#L2","id":"c2690b6bd4695286c86c5a3bd76986a663dca50c509ccf6ee859eccca2c7dc4d","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":0,"length":23,"filename_relative":"contracts/interfaces/IOUSD.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOUSD.sol","filename_short":"contracts/interfaces/IOUSD.sol","is_dependency":false,"lines":[1],"starting_column":1,"ending_column":24},"type_specific_fields":{"directive":["solidity","^","0.8",".0"]}}],"description":"Pragma version^0.8.0 (contracts/interfaces/IOUSD.sol#1) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IOUSD.sol#L1) allows old versions\n","first_markdown_element":"contracts/interfaces/IOUSD.sol#L1","id":"3853d01e8691288aa7cdbaa59886ee68e2413ccd489d898d83b2e49b4a1ddc23","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IOracle.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IOracle.sol","filename_short":"contracts/interfaces/IOracle.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/IOracle.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IOracle.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IOracle.sol#L2","id":"a4d7c9eafef08e42e6544dd4019cf9efe7f51c00050c35eb8c7cc462a5834952","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IPriceOracle.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IPriceOracle.sol","filename_short":"contracts/interfaces/IPriceOracle.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/IPriceOracle.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IPriceOracle.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IPriceOracle.sol#L2","id":"ee7fa68441e218913764ed19aac4e5f2cf7278f785e7b33a65296ad6480202c1","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IStrategy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IStrategy.sol","filename_short":"contracts/interfaces/IStrategy.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/IStrategy.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IStrategy.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IStrategy.sol#L2","id":"525cec582bcb9c733e3300d58ff77ebd629cf4d89a52fa0fe61d13f65c353a26","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":0,"length":23,"filename_relative":"contracts/interfaces/ITimelock.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/ITimelock.sol","filename_short":"contracts/interfaces/ITimelock.sol","is_dependency":false,"lines":[1],"starting_column":1,"ending_column":24},"type_specific_fields":{"directive":["solidity","^","0.8",".0"]}}],"description":"Pragma version^0.8.0 (contracts/interfaces/ITimelock.sol#1) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/ITimelock.sol#L1) allows old versions\n","first_markdown_element":"contracts/interfaces/ITimelock.sol#L1","id":"4475b124b600f3a464049046512f274d7d487f5569d04b0d0c8896a5148bc47f","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IVault.sol","filename_short":"contracts/interfaces/IVault.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/IVault.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IVault.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IVault.sol#L2","id":"17d8cdfc74b00a04ec29c0f955fcb435e6cea0762362480e26698d7dade395b8","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IWETH9.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWETH9.sol","filename_short":"contracts/interfaces/IWETH9.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/IWETH9.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IWETH9.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IWETH9.sol#L2","id":"fe92400d6c1a3a9d73cdad69563291319f87d651a109ea6ae2beabb7ce0257df","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/IWstETH.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/IWstETH.sol","filename_short":"contracts/interfaces/IWstETH.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/IWstETH.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/IWstETH.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/IWstETH.sol#L2","id":"c5904f6311ae3dc0bc00d39c836d70c764336a6ee29b70c304c77c88bc0a33c2","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/Tether.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/Tether.sol","filename_short":"contracts/interfaces/Tether.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/Tether.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/Tether.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/Tether.sol#L2","id":"a844a7c861e5d4669cae48ad216d93b53f055ecb38cb7e03df7bbebe4807598f","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/balancer/IBalancerVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IBalancerVault.sol","filename_short":"contracts/interfaces/balancer/IBalancerVault.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/balancer/IBalancerVault.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/balancer/IBalancerVault.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/balancer/IBalancerVault.sol#L2","id":"cdc4df825083a60dad418af5da34b0a1ec66633977db1a83c207f24c4bd63695","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":688,"length":23,"filename_relative":"contracts/interfaces/balancer/IRateProvider.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/balancer/IRateProvider.sol","filename_short":"contracts/interfaces/balancer/IRateProvider.sol","is_dependency":false,"lines":[15],"starting_column":1,"ending_column":24},"type_specific_fields":{"directive":["solidity","^","0.8",".0"]}}],"description":"Pragma version^0.8.0 (contracts/interfaces/balancer/IRateProvider.sol#15) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/balancer/IRateProvider.sol#L15) allows old versions\n","first_markdown_element":"contracts/interfaces/balancer/IRateProvider.sol#L15","id":"a0200a0094ccd65b05e62909b5fb57759e74fd67119ad883a12d88b5d212a337","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/chainlink/AggregatorV3Interface.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/chainlink/AggregatorV3Interface.sol","filename_short":"contracts/interfaces/chainlink/AggregatorV3Interface.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/chainlink/AggregatorV3Interface.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/chainlink/AggregatorV3Interface.sol#L2","id":"bc2ed3a6e692a07531fedf75dcd82f2e3779a5b53516d2e1624c85b32b4e820a","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Pair.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Pair.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Pair.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/uniswap/IUniswapV2Pair.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/uniswap/IUniswapV2Pair.sol#L2","id":"b1c5a3bbf566b0e621c50e7ba4220664bd1e54da43fad71dbc938a5eded7f2c2","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.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/uniswap/IUniswapV2Router02.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2) allows old versions\n","first_markdown_element":"contracts/interfaces/uniswap/IUniswapV2Router02.sol#L2","id":"ad47007ddc5c67344d81dc344b49bf500ecc26e3135bd77a62fde43bd7c7b7dd","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.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/proxies/InitializeGovernedUpgradeabilityProxy.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2) allows old versions\n","first_markdown_element":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L2","id":"4c766eb1c2e89d40beed9275537ff433a6045d434cdfc1b437e6fc4acc2856b9","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/proxies/Proxies.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/Proxies.sol","filename_short":"contracts/proxies/Proxies.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/proxies/Proxies.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/proxies/Proxies.sol#L2) allows old versions\n","first_markdown_element":"contracts/proxies/Proxies.sol#L2","id":"54449952b8d4d7f912b7edd63a4d5f250415aca230353b6f0c2436fd08bab7c4","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/Generalized4626Strategy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/Generalized4626Strategy.sol","filename_short":"contracts/strategies/Generalized4626Strategy.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/strategies/Generalized4626Strategy.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/Generalized4626Strategy.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/Generalized4626Strategy.sol#L2","id":"2a08a0f02b99768b50a70e61fa311b9a27abdbe4d3123dac80ce0a92a573621e","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/IAave.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAave.sol","filename_short":"contracts/strategies/IAave.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/strategies/IAave.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/IAave.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/IAave.sol#L2","id":"03d09f76f6327ec3e00462e72f330bc5b7b74c4c76dd86178740bae9b58213df","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/IAaveIncentivesController.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveIncentivesController.sol","filename_short":"contracts/strategies/IAaveIncentivesController.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/strategies/IAaveIncentivesController.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/IAaveIncentivesController.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/IAaveIncentivesController.sol#L2","id":"021193b4603c0ed5ac062858b53e3888ceb0c79df1cc0b782fafd97a6197c153","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/IAaveStakeToken.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/IAaveStakeToken.sol","filename_short":"contracts/strategies/IAaveStakeToken.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/strategies/IAaveStakeToken.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/IAaveStakeToken.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/IAaveStakeToken.sol#L2","id":"51aed3d5dcdcf77b6106f36ac622c82acef7e0d7ff7892b311e1adc4bbb0edc7","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/ICRVMinter.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICRVMinter.sol","filename_short":"contracts/strategies/ICRVMinter.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/strategies/ICRVMinter.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/ICRVMinter.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/ICRVMinter.sol#L2","id":"c1e0e830ba7445a95b4c566d6ec67217c2d6b9749ead120e45b1ebf8015c8bc4","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/IConvexDeposits.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/IConvexDeposits.sol","filename_short":"contracts/strategies/IConvexDeposits.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/strategies/IConvexDeposits.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/IConvexDeposits.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/IConvexDeposits.sol#L2","id":"bd18c560914c2915ea918e64268f9d1d198f7ccf10dd56022daaac37648414e1","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/ICurveETHPoolV1.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveETHPoolV1.sol","filename_short":"contracts/strategies/ICurveETHPoolV1.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/strategies/ICurveETHPoolV1.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/ICurveETHPoolV1.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/ICurveETHPoolV1.sol#L2","id":"87f73a3e8426ca53be7f43f25aef20229cd70ff8b3959b7f179297693c5de12f","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/ICurveGauge.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurveGauge.sol","filename_short":"contracts/strategies/ICurveGauge.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/strategies/ICurveGauge.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/ICurveGauge.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/ICurveGauge.sol#L2","id":"238b46b151a29be97e64f11d9fe1618d42b47fe81401a8cdcc641adba9ebc20e","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/ICurvePool.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/ICurvePool.sol","filename_short":"contracts/strategies/ICurvePool.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/strategies/ICurvePool.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/ICurvePool.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/ICurvePool.sol#L2","id":"f757494eaef356ad0c81503b9251f6301b88a90c82132045d49aaad9905f3f93","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/IRewardStaking.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/IRewardStaking.sol","filename_short":"contracts/strategies/IRewardStaking.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/strategies/IRewardStaking.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/IRewardStaking.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/IRewardStaking.sol#L2","id":"9f4345a2ad09e15353a5110b5f623427acaef0955ffa86e0566554f27c6888fe","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/strategies/VaultValueChecker.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/strategies/VaultValueChecker.sol","filename_short":"contracts/strategies/VaultValueChecker.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/strategies/VaultValueChecker.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/strategies/VaultValueChecker.sol#L2) allows old versions\n","first_markdown_element":"contracts/strategies/VaultValueChecker.sol#L2","id":"f0e49630796934edda0580f937847757b9f78dfd24164ef52ff32d0624f92cbf","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/token/OETH.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/token/OETH.sol","filename_short":"contracts/token/OETH.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/token/OETH.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/token/OETH.sol#L2) allows old versions\n","first_markdown_element":"contracts/token/OETH.sol#L2","id":"0c536785d47453c3e04de56ec0b68c6a1615dccdc19a62e2c85682e2a8f7c7d5","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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/token/OUSD.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/token/OUSD.sol#L2) allows old versions\n","first_markdown_element":"contracts/token/OUSD.sol#L2","id":"4c28a6c60c940b0c929b0752f10fc43d2c0da77f4294e3d9a3a7284d9d82299a","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/token/WOETH.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/token/WOETH.sol","filename_short":"contracts/token/WOETH.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/token/WOETH.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/token/WOETH.sol#L2) allows old versions\n","first_markdown_element":"contracts/token/WOETH.sol#L2","id":"17861c958de8b62ca693a620b8acfdfa2d1bd58c2f5784a862e1b7547303e94d","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/token/WrappedOusd.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/token/WrappedOusd.sol","filename_short":"contracts/token/WrappedOusd.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/token/WrappedOusd.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/token/WrappedOusd.sol#L2) allows old versions\n","first_markdown_element":"contracts/token/WrappedOusd.sol#L2","id":"3e4418ef1bc9e338a5aeb1cfa883886f37ab4e0da2435bd3b234ba49d317e730","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/utils/Helpers.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/utils/Helpers.sol","filename_short":"contracts/utils/Helpers.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/utils/Helpers.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/utils/Helpers.sol#L2) allows old versions\n","first_markdown_element":"contracts/utils/Helpers.sol#L2","id":"86623102155b1f075f6ea2dd0ddac7ed6b2d3b622cb613deefb6c97e2a0be030","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/utils/Initializable.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/utils/Initializable.sol","filename_short":"contracts/utils/Initializable.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/utils/Initializable.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/utils/Initializable.sol#L2) allows old versions\n","first_markdown_element":"contracts/utils/Initializable.sol#L2","id":"1b5144dca22360d396579ab156ffa691cbf0ed4e22bf3c00ee10fabf9703e062","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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/utils/InitializableAbstractStrategy.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/utils/InitializableAbstractStrategy.sol#L2) allows old versions\n","first_markdown_element":"contracts/utils/InitializableAbstractStrategy.sol#L2","id":"e4ba9f8308fcf868334ea35ea0011b4dc5065ea98e8e2f866b6663636a34133c","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/utils/InitializableERC20Detailed.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/utils/InitializableERC20Detailed.sol","filename_short":"contracts/utils/InitializableERC20Detailed.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/utils/InitializableERC20Detailed.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/utils/InitializableERC20Detailed.sol#L2) allows old versions\n","first_markdown_element":"contracts/utils/InitializableERC20Detailed.sol#L2","id":"cc3087c4f9d79aeb7b09b5af0de7a2c21f568639180749dfae8282cc230769ac","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/vault/OETHVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol","filename_short":"contracts/vault/OETHVault.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/vault/OETHVault.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/vault/OETHVault.sol#L2) allows old versions\n","first_markdown_element":"contracts/vault/OETHVault.sol#L2","id":"604949a689d5c3b2ab20fb9cd6b7310f14ac7bd713bc96e0db26d320a9eb864d","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.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/vault/VaultAdmin.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/vault/VaultAdmin.sol#L2) allows old versions\n","first_markdown_element":"contracts/vault/VaultAdmin.sol#L2","id":"af09cf9a6cd593314e07a4a02c9fda9d86de52506100b576110e312776e508d3","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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/vault/VaultCore.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/vault/VaultCore.sol#L2) allows old versions\n","first_markdown_element":"contracts/vault/VaultCore.sol#L2","id":"c6f1fe952b98499175623c21fa73863d0e52ede9adcdb9a0840b62c0ba0f4636","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"pragma","name":"^0.8.0","source_mapping":{"start":32,"length":23,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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/vault/VaultStorage.sol#2) allows old versions\n","markdown":"Pragma version[^0.8.0](contracts/vault/VaultStorage.sol#L2) allows old versions\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L2","id":"8f3edef86568cc9c580189310994269662f4ded56367af9f91567362f996681f","check":"solc-version","impact":"Informational","confidence":"High"},{"elements":[{"type":"function","name":"initialize","source_mapping":{"start":1352,"length":545,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializeGovernedUpgradeabilityProxy","source_mapping":{"start":450,"length":6294,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.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],"starting_column":1,"ending_column":2}},"signature":"initialize(address,address,bytes)"}},{"type":"node","name":"(success) = _logic.delegatecall(_data)","source_mapping":{"start":1765,"length":45,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[46],"starting_column":13,"ending_column":58},"type_specific_fields":{"parent":{"type":"function","name":"initialize","source_mapping":{"start":1352,"length":545,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializeGovernedUpgradeabilityProxy","source_mapping":{"start":450,"length":6294,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.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],"starting_column":1,"ending_column":2}},"signature":"initialize(address,address,bytes)"}}}}],"description":"Low level call in InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#34-50):\n\t- (success) = _logic.delegatecall(_data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#46)\n","markdown":"Low level call in [InitializeGovernedUpgradeabilityProxy.initialize(address,address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50):\n\t- [(success) = _logic.delegatecall(_data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L46)\n","first_markdown_element":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L34-L50","id":"6c5c3cf16cf2b84b5eb1ddd1ec60c27b5513ecedd039521383bf5b583573950a","check":"low-level-calls","impact":"Informational","confidence":"High"},{"elements":[{"type":"function","name":"upgradeToAndCall","source_mapping":{"start":3091,"length":269,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[84,85,86,87,88,89,90,91,92],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializeGovernedUpgradeabilityProxy","source_mapping":{"start":450,"length":6294,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.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],"starting_column":1,"ending_column":2}},"signature":"upgradeToAndCall(address,bytes)"}},{"type":"node","name":"(success) = newImplementation.delegatecall(data)","source_mapping":{"start":3272,"length":55,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[90],"starting_column":9,"ending_column":64},"type_specific_fields":{"parent":{"type":"function","name":"upgradeToAndCall","source_mapping":{"start":3091,"length":269,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","is_dependency":false,"lines":[84,85,86,87,88,89,90,91,92],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializeGovernedUpgradeabilityProxy","source_mapping":{"start":450,"length":6294,"filename_relative":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol","filename_short":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.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],"starting_column":1,"ending_column":2}},"signature":"upgradeToAndCall(address,bytes)"}}}}],"description":"Low level call in InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#84-92):\n\t- (success) = newImplementation.delegatecall(data) (contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#90)\n","markdown":"Low level call in [InitializeGovernedUpgradeabilityProxy.upgradeToAndCall(address,bytes)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92):\n\t- [(success) = newImplementation.delegatecall(data)](contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L90)\n","first_markdown_element":"contracts/proxies/InitializeGovernedUpgradeabilityProxy.sol#L84-L92","id":"7f2660b6c4c8a8a08bd4c88bece7832ccd9c9463eef8e34dabd5f732b86d6d47","check":"low-level-calls","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"amountADesired","source_mapping":{"start":448,"length":22,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[18],"starting_column":9,"ending_column":31},"type_specific_fields":{"parent":{"type":"function","name":"addLiquidity","source_mapping":{"start":369,"length":375,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],"starting_column":5,"ending_column":11},"type_specific_fields":{"parent":{"type":"contract","name":"IUniswapV2Router","source_mapping":{"start":57,"length":689,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[4,5,6,7,8,9,10,11,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":"addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}},{"type":"variable","name":"amountBDesired","source_mapping":{"start":480,"length":22,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[19],"starting_column":9,"ending_column":31},"type_specific_fields":{"parent":{"type":"function","name":"addLiquidity","source_mapping":{"start":369,"length":375,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],"starting_column":5,"ending_column":11},"type_specific_fields":{"parent":{"type":"contract","name":"IUniswapV2Router","source_mapping":{"start":57,"length":689,"filename_relative":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/interfaces/uniswap/IUniswapV2Router02.sol","filename_short":"contracts/interfaces/uniswap/IUniswapV2Router02.sol","is_dependency":false,"lines":[4,5,6,7,8,9,10,11,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":"addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)"}}}}],"description":"Variable IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#18) is too similar to IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired (contracts/interfaces/uniswap/IUniswapV2Router02.sol#19)\n","markdown":"Variable [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountADesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18) is too similar to [IUniswapV2Router.addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256).amountBDesired](contracts/interfaces/uniswap/IUniswapV2Router02.sol#L19)\n","first_markdown_element":"contracts/interfaces/uniswap/IUniswapV2Router02.sol#L18","id":"ebfb97f25d979455759836fd8e6dfb5873e5f0066fe15708bfbea958a6c97d6c","check":"similar-names","impact":"Informational","confidence":"Medium"},{"elements":[{"type":"variable","name":"MINT_MINIMUM_UNIT_PRICE","source_mapping":{"start":5582,"length":51,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[138],"starting_column":5,"ending_column":56},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVault","source_mapping":{"start":164,"length":32,"filename_relative":"contracts/vault/OETHVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol","filename_short":"contracts/vault/OETHVault.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n","markdown":"[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L138","id":"149a5dd32dc4281e6676bc6235d5b98438630b9dd44b947183da6f2539763ef9","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MIN_UNIT_PRICE_DRIFT","source_mapping":{"start":6052,"length":46,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[149],"starting_column":5,"ending_column":51},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVault","source_mapping":{"start":164,"length":32,"filename_relative":"contracts/vault/OETHVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol","filename_short":"contracts/vault/OETHVault.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n","markdown":"[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L149","id":"7f19bc3e2fb9a9561aee099dc073232975619a6c5032b3a61c1645bf58315f67","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MAX_UNIT_PRICE_DRIFT","source_mapping":{"start":6104,"length":46,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[150],"starting_column":5,"ending_column":51},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVault","source_mapping":{"start":164,"length":32,"filename_relative":"contracts/vault/OETHVault.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVault.sol","filename_short":"contracts/vault/OETHVault.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVault (contracts/vault/OETHVault.sol#10-12)\n","markdown":"[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVault](contracts/vault/OETHVault.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L150","id":"e5390a7816c93ca32a85f9b57349d42579c55c04a3a4ef2b4769d2575a1905bb","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MINT_MINIMUM_UNIT_PRICE","source_mapping":{"start":5582,"length":51,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[138],"starting_column":5,"ending_column":56},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultAdmin","source_mapping":{"start":179,"length":42,"filename_relative":"contracts/vault/OETHVaultAdmin.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol","filename_short":"contracts/vault/OETHVaultAdmin.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MINT_MINIMUM_UNIT_PRICE (contracts/vault/VaultStorage.sol#138) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n","markdown":"[VaultStorage.MINT_MINIMUM_UNIT_PRICE](contracts/vault/VaultStorage.sol#L138) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L138","id":"bbab6f2a0b738f60095768009071f55614b28ba6b6e5e6a71f67f94ee08c8e4d","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MIN_UNIT_PRICE_DRIFT","source_mapping":{"start":6052,"length":46,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[149],"starting_column":5,"ending_column":51},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultAdmin","source_mapping":{"start":179,"length":42,"filename_relative":"contracts/vault/OETHVaultAdmin.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol","filename_short":"contracts/vault/OETHVaultAdmin.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MIN_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#149) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n","markdown":"[VaultStorage.MIN_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L149) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L149","id":"94393d439aab1bc281bb45a54cf564b95035d6a7bd2911a0c2ab82805660cbdc","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MAX_UNIT_PRICE_DRIFT","source_mapping":{"start":6104,"length":46,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[150],"starting_column":5,"ending_column":51},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultAdmin","source_mapping":{"start":179,"length":42,"filename_relative":"contracts/vault/OETHVaultAdmin.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultAdmin.sol","filename_short":"contracts/vault/OETHVaultAdmin.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.MAX_UNIT_PRICE_DRIFT (contracts/vault/VaultStorage.sol#150) is never used in OETHVaultAdmin (contracts/vault/OETHVaultAdmin.sol#10-12)\n","markdown":"[VaultStorage.MAX_UNIT_PRICE_DRIFT](contracts/vault/VaultStorage.sol#L150) is never used in [OETHVaultAdmin](contracts/vault/OETHVaultAdmin.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L150","id":"0c56f807a05d376afb6eb2e3300f124c71164a80c1bb85eb40f65da6f9f8a1d2","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"strategies","source_mapping":{"start":3271,"length":48,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[83],"starting_column":5,"ending_column":53},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultCore","source_mapping":{"start":176,"length":40,"filename_relative":"contracts/vault/OETHVaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol","filename_short":"contracts/vault/OETHVaultCore.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.strategies (contracts/vault/VaultStorage.sol#83) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n","markdown":"[VaultStorage.strategies](contracts/vault/VaultStorage.sol#L83) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L83","id":"e1cb59e398429820cba9c8fa98f9b6f9bb5766b0248f0efc2355d8a1028187de","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"swapConfig","source_mapping":{"start":6552,"length":58,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[161],"starting_column":5,"ending_column":63},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultCore","source_mapping":{"start":176,"length":40,"filename_relative":"contracts/vault/OETHVaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol","filename_short":"contracts/vault/OETHVaultCore.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultStorage.swapConfig (contracts/vault/VaultStorage.sol#161) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n","markdown":"[VaultStorage.swapConfig](contracts/vault/VaultStorage.sol#L161) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L161","id":"2f693fe1c1b55189b244c3d2836962822084ed42ba961b3b1a724748878d58d8","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"MAX_UINT","source_mapping":{"start":998,"length":111,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[28,29],"starting_column":5,"ending_column":75},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":788,"length":27831,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803],"starting_column":1,"ending_column":2}}}},{"type":"contract","name":"OETHVaultCore","source_mapping":{"start":176,"length":40,"filename_relative":"contracts/vault/OETHVaultCore.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/OETHVaultCore.sol","filename_short":"contracts/vault/OETHVaultCore.sol","is_dependency":false,"lines":[10,11,12],"starting_column":1,"ending_column":2}}],"description":"VaultCore.MAX_UINT (contracts/vault/VaultCore.sol#28-29) is never used in OETHVaultCore (contracts/vault/OETHVaultCore.sol#10-12)\n","markdown":"[VaultCore.MAX_UINT](contracts/vault/VaultCore.sol#L28-L29) is never used in [OETHVaultCore](contracts/vault/OETHVaultCore.sol#L10-L12)\n","first_markdown_element":"contracts/vault/VaultCore.sol#L28-L29","id":"95344e00c1decfbff4303679bb74ce8912b6e6ff165ec7001fd0c3e38aa363c5","check":"unused-state","impact":"Informational","confidence":"High"},{"elements":[{"type":"variable","name":"maxSupplyDiff","source_mapping":{"start":5213,"length":28,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[127],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#127) should be constant \n","markdown":"[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L127) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L127","id":"09fd4446efe571b7801efb7877d22557574ea45e2982bf4d5366e0bdf1142249","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"netOusdMintForStrategyThreshold","source_mapping":{"start":5995,"length":50,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[147],"starting_column":5,"ending_column":55},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.netOusdMintForStrategyThreshold (contracts/vault/VaultStorage.sol#147) should be constant \n","markdown":"[VaultStorage.netOusdMintForStrategyThreshold](contracts/vault/VaultStorage.sol#L147) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L147","id":"bd0e4f67d5f6fb2a9810eb8385684dfcfa6d5febceacff6a21756e0514dc7dd7","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"oUSD","source_mapping":{"start":4376,"length":18,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[106],"starting_column":5,"ending_column":23},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.oUSD (contracts/vault/VaultStorage.sol#106) should be constant \n","markdown":"[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L106) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L106","id":"500e8adb38d72426b5e12a19f032430bae7fe79fc3b9039de8e1d2b8043c9f27","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"ousdMetaStrategy","source_mapping":{"start":5739,"length":44,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[141],"starting_column":5,"ending_column":49},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.ousdMetaStrategy (contracts/vault/VaultStorage.sol#141) should be constant \n","markdown":"[VaultStorage.ousdMetaStrategy](contracts/vault/VaultStorage.sol#L141) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L141","id":"79f67b513634062fa94cfd8c1f0eaac89d45211dbbaf7e930609371ec6e8a4a1","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"strategistAddr","source_mapping":{"start":4897,"length":42,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[120],"starting_column":5,"ending_column":47},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.strategistAddr (contracts/vault/VaultStorage.sol#120) should be constant \n","markdown":"[VaultStorage.strategistAddr](contracts/vault/VaultStorage.sol#L120) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L120","id":"3040efebbb4c164522cb91db7f6c9c1d2aff4f8ca7753b542e75df9130cdb792","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"trusteeAddress","source_mapping":{"start":5320,"length":29,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[130],"starting_column":5,"ending_column":34},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#130) should be constant \n","markdown":"[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L130) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L130","id":"1694f1d2905ea29eda65443d05da440b7e71abfa3cbf6cfa6a42f6a9ff44e094","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"trusteeFeeBps","source_mapping":{"start":5429,"length":28,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[133],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":695,"length":6457,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Volumes/origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#133) should be constant \n","markdown":"[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L133) should be constant \n","first_markdown_element":"contracts/vault/VaultStorage.sol#L133","id":"684276aeea9e321f463f752fc69838fd6f7e79e627cb01fe42aff0ff1706283a","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"assets","source_mapping":{"start":2394,"length":41,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[61],"starting_column":5,"ending_column":46},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":2178,"length":1436,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"isSupportedAsset","source_mapping":{"start":22648,"length":121,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[627,628,629],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"isSupportedAsset(address)"}},{"type":"function","name":"_toUnits","source_mapping":{"start":23346,"length":597,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_toUnits(uint256,address)"}},{"type":"function","name":"_toUnitPrice","source_mapping":{"start":23949,"length":573,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_toUnitPrice(uint256,address)"}}],"description":"VaultStorage.assets (contracts/vault/VaultStorage.sol#61) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#627-629)\n\t- VaultCore._toUnits(uint256,address) (contracts/vault/VaultCore.sol#646-661)\n\t- VaultCore._toUnitPrice(uint256,address) (contracts/vault/VaultCore.sol#663-678)\n","markdown":"[VaultStorage.assets](contracts/vault/VaultStorage.sol#L61) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L627-L629)\n\t- [VaultCore._toUnits(uint256,address)](contracts/vault/VaultCore.sol#L646-L661)\n\t- [VaultCore._toUnitPrice(uint256,address)](contracts/vault/VaultCore.sol#L663-L678)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L61","id":"c860938e159ea26b593c250740cbaa2024ab5c9ac0d6205f97e9af6dac87675f","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"allAssets","source_mapping":{"start":2441,"length":28,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[62],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_redeem","source_mapping":{"start":5763,"length":2485,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}},{"type":"function","name":"_allocate","source_mapping":{"start":10672,"length":2860,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"function","name":"_totalValueInVault","source_mapping":{"start":15676,"length":356,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[432,433,434,435,436,437,438,439,440],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_totalValueInVault()"}},{"type":"function","name":"_totalValueInStrategy","source_mapping":{"start":16603,"length":505,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[457,458,459,460,461,462,463,464,465,466,467,468,469,470,471],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_totalValueInStrategy(address)"}},{"type":"function","name":"_calculateRedeemOutputs","source_mapping":{"start":18727,"length":3082,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,581,582,583,584,585,586,587,588,589,590,591,592,593],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_calculateRedeemOutputs(uint256)"}},{"type":"function","name":"getAssetCount","source_mapping":{"start":22013,"length":95,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[602,603,604],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"getAssetCount()"}},{"type":"function","name":"getAllAssets","source_mapping":{"start":22178,"length":98,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[609,610,611],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"getAllAssets()"}}],"description":"VaultStorage.allAssets (contracts/vault/VaultStorage.sol#62) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#432-440)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#457-471)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#602-604)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#609-611)\n","markdown":"[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L62) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L432-L440)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L457-L471)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L602-L604)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L609-L611)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L62","id":"e730fe429679f7811e61698e718568e8a56bd48136d661a5573f979234e6996c","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"allStrategies","source_mapping":{"start":2688,"length":32,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[70],"starting_column":5,"ending_column":37},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_totalValueInStrategies","source_mapping":{"start":16181,"length":223,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[446,447,448,449,450],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_totalValueInStrategies()"}},{"type":"function","name":"_checkBalance","source_mapping":{"start":17619,"length":486,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[487,488,489,490,491,492,493,494,495,496,497,498,499,500,501],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_checkBalance(address)"}},{"type":"function","name":"getStrategyCount","source_mapping":{"start":22363,"length":104,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[616,617,618],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"getStrategyCount()"}},{"type":"function","name":"getAllStrategies","source_mapping":{"start":22536,"length":106,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[623,624,625],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"getAllStrategies()"}}],"description":"VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#70) is never initialized. It is used in:\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#446-450)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#487-501)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#616-618)\n\t- VaultCore.getAllStrategies() (contracts/vault/VaultCore.sol#623-625)\n","markdown":"[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L70) is never initialized. It is used in:\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L446-L450)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L487-L501)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L616-L618)\n\t- [VaultCore.getAllStrategies()](contracts/vault/VaultCore.sol#L623-L625)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L70","id":"777cbcb013e313a3fd0021436d35e92824a94e210c1611ee051fc5d399d6661c","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"priceProvider","source_mapping":{"start":2780,"length":28,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[73],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":2178,"length":1436,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"_calculateRedeemOutputs","source_mapping":{"start":18727,"length":3082,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,581,582,583,584,585,586,587,588,589,590,591,592,593],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_calculateRedeemOutputs(uint256)"}}],"description":"VaultStorage.priceProvider (contracts/vault/VaultStorage.sol#73) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n","markdown":"[VaultStorage.priceProvider](contracts/vault/VaultStorage.sol#L73) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L73","id":"eb7c2db1064787af6f239823c6b9223ba83a523396f8c7dc61c479282af97886","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"redeemFeeBps","source_mapping":{"start":2949,"length":27,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[78],"starting_column":5,"ending_column":32},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_calculateRedeemOutputs","source_mapping":{"start":18727,"length":3082,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,581,582,583,584,585,586,587,588,589,590,591,592,593],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_calculateRedeemOutputs(uint256)"}}],"description":"VaultStorage.redeemFeeBps (contracts/vault/VaultStorage.sol#78) is never initialized. It is used in:\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#522-593)\n","markdown":"[VaultStorage.redeemFeeBps](contracts/vault/VaultStorage.sol#L78) is never initialized. It is used in:\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L522-L593)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L78","id":"c4819c8bb26576b24a1992a0ece73900c1b258ae9f166389ef2521f675df5cb1","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"vaultBuffer","source_mapping":{"start":3052,"length":26,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[80],"starting_column":5,"ending_column":31},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_allocate","source_mapping":{"start":10672,"length":2860,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}],"description":"VaultStorage.vaultBuffer (contracts/vault/VaultStorage.sol#80) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#301-369)\n","markdown":"[VaultStorage.vaultBuffer](contracts/vault/VaultStorage.sol#L80) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L301-L369)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L80","id":"7147ba0fbcdb532f72f8a1425c5779a2caf2d432ef22a51a9c541b90d6da121c","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"autoAllocateThreshold","source_mapping":{"start":3157,"length":36,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[82],"starting_column":5,"ending_column":41},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":2178,"length":1436,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}}],"description":"VaultStorage.autoAllocateThreshold (contracts/vault/VaultStorage.sol#82) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n","markdown":"[VaultStorage.autoAllocateThreshold](contracts/vault/VaultStorage.sol#L82) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L82","id":"3d9c26c30d04bc19d1bc2436186d32a82dbdee2c98be4833dff1f7fefa80858d","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"rebaseThreshold","source_mapping":{"start":3264,"length":30,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[84],"starting_column":5,"ending_column":35},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":2178,"length":1436,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"mintForStrategy","source_mapping":{"start":4345,"length":813,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mintForStrategy(uint256)"}},{"type":"function","name":"_redeem","source_mapping":{"start":5763,"length":2485,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}},{"type":"function","name":"burnForStrategy","source_mapping":{"start":8974,"length":951,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"burnForStrategy(uint256)"}}],"description":"VaultStorage.rebaseThreshold (contracts/vault/VaultStorage.sol#84) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n","markdown":"[VaultStorage.rebaseThreshold](contracts/vault/VaultStorage.sol#L84) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L84","id":"b8efcc08277c777ff50a11fc931031018cad1a54978f03183217cd13dd183093","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"oUSD","source_mapping":{"start":3301,"length":18,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[86],"starting_column":5,"ending_column":23},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":2178,"length":1436,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"mintForStrategy","source_mapping":{"start":4345,"length":813,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"mintForStrategy(uint256)"}},{"type":"function","name":"_redeem","source_mapping":{"start":5763,"length":2485,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}},{"type":"function","name":"burnForStrategy","source_mapping":{"start":8974,"length":951,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"burnForStrategy(uint256)"}},{"type":"function","name":"redeemAll","source_mapping":{"start":10087,"length":190,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[281,282,283,284,285,286,287],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"redeemAll(uint256)"}},{"type":"function","name":"_rebase","source_mapping":{"start":13976,"length":953,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_rebase()"}}],"description":"VaultStorage.oUSD (contracts/vault/VaultStorage.sol#86) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#66-107)\n\t- VaultCore.mintForStrategy(uint256) (contracts/vault/VaultCore.sol#122-147)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n\t- VaultCore.burnForStrategy(uint256) (contracts/vault/VaultCore.sol#248-275)\n\t- VaultCore.redeemAll(uint256) (contracts/vault/VaultCore.sol#281-287)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#384-408)\n","markdown":"[VaultStorage.oUSD](contracts/vault/VaultStorage.sol#L86) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L66-L107)\n\t- [VaultCore.mintForStrategy(uint256)](contracts/vault/VaultCore.sol#L122-L147)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n\t- [VaultCore.burnForStrategy(uint256)](contracts/vault/VaultCore.sol#L248-L275)\n\t- [VaultCore.redeemAll(uint256)](contracts/vault/VaultCore.sol#L281-L287)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L384-L408)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L86","id":"df26918b8bdd621ec118d2015bb8578817d734b6d3c33937967b164cadc2ace0","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"maxSupplyDiff","source_mapping":{"start":4028,"length":28,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[106],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4640,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_redeem","source_mapping":{"start":5763,"length":2485,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":1068,"length":25108,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}}],"description":"VaultStorage.maxSupplyDiff (contracts/vault/VaultStorage.sol#106) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#169-233)\n","markdown":"[VaultStorage.maxSupplyDiff](contracts/vault/VaultStorage.sol#L106) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L169-L233)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L106","id":"6a3430804bec9d029a57ae03c02e8a40c310203865799000bf50016777b36f8f","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"decimalsCache","source_mapping":{"start":4736,"length":50,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[124],"starting_column":5,"ending_column":55},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":4497,"filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_getDecimals","source_mapping":{"start":23780,"length":204,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[668,669,670,671,672],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":987,"length":24439,"filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717],"starting_column":1,"ending_column":2}},"signature":"_getDecimals(address)"}}],"description":"VaultStorage.decimalsCache (contracts/vault/VaultStorage.sol#124) is never initialized. It is used in:\n\t- VaultCore._getDecimals(address) (contracts/vault/VaultCore.sol#668-672)\n","markdown":"[VaultStorage.decimalsCache](contracts/vault/VaultStorage.sol#L124) is never initialized. It is used in:\n\t- [VaultCore._getDecimals(address)](contracts/vault/VaultCore.sol#L668-L672)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L124","id":"ae957b4f96eb11ddea5ee4d030d41472ceee6954f34cde52618144ab869fa8c3","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"assets","source_mapping":{"start":2283,"length":41,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[57],"starting_column":5,"ending_column":46},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":828,"length":3795,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,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}}}},{"type":"function","name":"mint","source_mapping":{"start":1716,"length":1511,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":874,"length":22316,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"isSupportedAsset","source_mapping":{"start":21910,"length":121,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[599,600,601],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":874,"length":22316,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639],"starting_column":1,"ending_column":2}},"signature":"isSupportedAsset(address)"}}],"description":"VaultStorage.assets (contracts/vault/VaultStorage.sol#57) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#53-97)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#599-601)\n","markdown":"[VaultStorage.assets](contracts/vault/VaultStorage.sol#L57) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L53-L97)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L599-L601)\n","first_markdown_element":"contracts/vault/VaultStorage.sol#L57","id":"6a182c24e91d1dd53b0b1ef0dab5f77981ebaf050bd25c19b9cca70afaf18e67","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"_decimals","source_mapping":{"start":393,"length":23,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[19],"starting_column":5,"ending_column":28},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade._decimals (contracts/token/OUSDResolutionUpgrade.sol#19) should be constant\n","markdown":"[OUSDResolutionUpgrade._decimals](contracts/token/OUSDResolutionUpgrade.sol#L19) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L19","id":"c6b2c8888913a809e3344ed0dee21191412ae3601896db9c573f735f6c3d7a8a","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"_name","source_mapping":{"start":339,"length":20,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[17],"starting_column":5,"ending_column":25},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade._name (contracts/token/OUSDResolutionUpgrade.sol#17) should be constant\n","markdown":"[OUSDResolutionUpgrade._name](contracts/token/OUSDResolutionUpgrade.sol#L17) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L17","id":"6956191c111bc7668de81941132c1a31576d2af9cfae5034646c97388cdec653","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"_symbol","source_mapping":{"start":365,"length":22,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[18],"starting_column":5,"ending_column":27},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade._symbol (contracts/token/OUSDResolutionUpgrade.sol#18) should be constant\n","markdown":"[OUSDResolutionUpgrade._symbol](contracts/token/OUSDResolutionUpgrade.sol#L18) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L18","id":"4a6b27b5189d0409bd8717ec6416071376f25ba75d9a3fcb2c617036aa554257","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"_totalSupply","source_mapping":{"start":510,"length":27,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[23],"starting_column":5,"ending_column":32},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade._totalSupply (contracts/token/OUSDResolutionUpgrade.sol#23) should be constant\n","markdown":"[OUSDResolutionUpgrade._totalSupply](contracts/token/OUSDResolutionUpgrade.sol#L23) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L23","id":"1658e506f1e0828cb824d099c91bb2a569de15dbd05bdc7f11b98a69a98f8638","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"initialized","source_mapping":{"start":166,"length":24,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[11],"starting_column":5,"ending_column":29},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade.initialized (contracts/token/OUSDResolutionUpgrade.sol#11) should be constant\n","markdown":"[OUSDResolutionUpgrade.initialized](contracts/token/OUSDResolutionUpgrade.sol#L11) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L11","id":"fefc27aa7f63a8fb938914b29bdf6913ea43894d2297e65bc64c63cf5cf82af9","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"initializing","source_mapping":{"start":196,"length":25,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[12],"starting_column":5,"ending_column":30},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade.initializing (contracts/token/OUSDResolutionUpgrade.sol#12) should be constant\n","markdown":"[OUSDResolutionUpgrade.initializing](contracts/token/OUSDResolutionUpgrade.sol#L12) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L12","id":"c69133d357c924089ed02bb4dde070a42b4bf6de4c0b65d348e468864973316a","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"nonRebasingSupply","source_mapping":{"start":803,"length":32,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[29],"starting_column":5,"ending_column":37},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade.nonRebasingSupply (contracts/token/OUSDResolutionUpgrade.sol#29) should be constant\n","markdown":"[OUSDResolutionUpgrade.nonRebasingSupply](contracts/token/OUSDResolutionUpgrade.sol#L29) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L29","id":"e17fd436e0a604cb7be2d272cdd362338280663a1a0aa613116ea1b3fbe6ebc9","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"vaultAddress","source_mapping":{"start":616,"length":40,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[25],"starting_column":5,"ending_column":45},"type_specific_fields":{"parent":{"type":"contract","name":"OUSDResolutionUpgrade","source_mapping":{"start":25,"length":4062,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_relative":"contracts/token/OUSDResolutionUpgrade.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSDResolutionUpgrade.sol","filename_short":"contracts/token/OUSDResolutionUpgrade.sol","is_dependency":false,"lines":[3,4,5,6,7,8,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSDResolutionUpgrade.vaultAddress (contracts/token/OUSDResolutionUpgrade.sol#25) should be constant\n","markdown":"[OUSDResolutionUpgrade.vaultAddress](contracts/token/OUSDResolutionUpgrade.sol#L25) should be constant\n","first_markdown_element":"contracts/token/OUSDResolutionUpgrade.sol#L25","id":"d17c40d13f23171f24f257c05a906ba4f825e300c024fcec7986d2bf6ed00657","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"isUpgraded","source_mapping":{"start":1875,"length":45,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[52],"starting_column":5,"ending_column":50},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":840,"length":19113,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"creditsBalanceOfHighres","source_mapping":{"start":5205,"length":322,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":840,"length":19113,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},"signature":"creditsBalanceOfHighres(address)"}}],"description":"OUSD.isUpgraded (contracts/token/OUSD.sol#52) is never initialized. It is used in:\n\t- OUSD.creditsBalanceOfHighres(address) (contracts/token/OUSD.sol#158-172)\n","markdown":"[OUSD.isUpgraded](contracts/token/OUSD.sol#L52) is never initialized. It is used in:\n\t- [OUSD.creditsBalanceOfHighres(address)](contracts/token/OUSD.sol#L158-L172)\n","first_markdown_element":"contracts/token/OUSD.sol#L52","id":"1a9fd10ae49fbf202e5333c123ca53e5ea8614f3f7a5ace5a8e001758b5be263","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"function","name":"scaleBy","source_mapping":{"start":781,"length":288,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[27,28,29,30,31,32,33,34,35,36,37,38],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":285,"length":3569,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,uint256,uint256)"}},{"type":"node","name":"x = x.mul(10 ** (to - from))","source_mapping":{"start":936,"length":26,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[33],"starting_column":13,"ending_column":39},"type_specific_fields":{"parent":{"type":"function","name":"scaleBy","source_mapping":{"start":781,"length":288,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[27,28,29,30,31,32,33,34,35,36,37,38],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":285,"length":3569,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,uint256,uint256)"}}}},{"type":"node","name":"x = x.div(10 ** (from - to))","source_mapping":{"start":1008,"length":26,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[35],"starting_column":13,"ending_column":39},"type_specific_fields":{"parent":{"type":"function","name":"scaleBy","source_mapping":{"start":781,"length":288,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[27,28,29,30,31,32,33,34,35,36,37,38],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":285,"length":3569,"filename_used":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/dvf/Sites/foo/origin-dollar-04/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,uint256,uint256)"}}}}],"description":"StableMath.scaleBy(uint256,uint256,uint256) (contracts/utils/StableMath.sol#27-38) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** (to - from)) (contracts/utils/StableMath.sol#33)\n\t-x = x.div(10 ** (from - to)) (contracts/utils/StableMath.sol#35)\n","markdown":"[StableMath.scaleBy(uint256,uint256,uint256)](contracts/utils/StableMath.sol#L27-L38) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** (to - from))](contracts/utils/StableMath.sol#L33)\n\t-[x = x.div(10 ** (from - to))](contracts/utils/StableMath.sol#L35)\n","first_markdown_element":"contracts/utils/StableMath.sol#L27-L38","id":"b1500b45d44a127aa3729dda962b0f1fad4c4141dfa4fb20f46e1148cf288944","check":"divide-before-multiply","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"function","name":"addSwapToken","source_mapping":{"start":7974,"length":644,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultAdmin","source_mapping":{"start":527,"length":18940,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.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,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],"starting_column":1,"ending_column":2}},"signature":"addSwapToken(address)"}},{"type":"node","name":"IOracle(priceProvider).price(_addr)","source_mapping":{"start":8261,"length":35,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[243],"starting_column":9,"ending_column":44},"type_specific_fields":{"parent":{"type":"function","name":"addSwapToken","source_mapping":{"start":7974,"length":644,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultAdmin","source_mapping":{"start":527,"length":18940,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.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,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],"starting_column":1,"ending_column":2}},"signature":"addSwapToken(address)"}}}}],"description":"VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#235-255) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#243)\n","markdown":"[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L235-L255) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L243)\n","first_markdown_element":"contracts/vault/VaultAdmin.sol#L235-L255","id":"62ac1769a2c1d54d7ea6660de35020316e5057588e99010c778d43e01aacf3e2","check":"unused-return","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"function","name":"addSwapToken","source_mapping":{"start":7510,"length":644,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultAdmin","source_mapping":{"start":527,"length":18435,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.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,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],"starting_column":1,"ending_column":2}},"signature":"addSwapToken(address)"}},{"type":"node","name":"IOracle(priceProvider).price(_addr)","source_mapping":{"start":7797,"length":35,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[231],"starting_column":9,"ending_column":44},"type_specific_fields":{"parent":{"type":"function","name":"addSwapToken","source_mapping":{"start":7510,"length":644,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.sol","is_dependency":false,"lines":[223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultAdmin","source_mapping":{"start":527,"length":18435,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_relative":"contracts/vault/VaultAdmin.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultAdmin.sol","filename_short":"contracts/vault/VaultAdmin.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,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],"starting_column":1,"ending_column":2}},"signature":"addSwapToken(address)"}}}}],"description":"VaultAdmin.addSwapToken(address) (contracts/vault/VaultAdmin.sol#223-243) ignores return value by IOracle(priceProvider).price(_addr) (contracts/vault/VaultAdmin.sol#231)\n","markdown":"[VaultAdmin.addSwapToken(address)](contracts/vault/VaultAdmin.sol#L223-L243) ignores return value by [IOracle(priceProvider).price(_addr)](contracts/vault/VaultAdmin.sol#L231)\n","first_markdown_element":"contracts/vault/VaultAdmin.sol#L223-L243","id":"9c71d10f9809eae2cbece0fe66259b93d8a7423a5a0e5362b2e132b55970c1a9","check":"unused-return","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9273,"length":4326,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24503,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"IVault(address(this)).harvest(allStrategies[i])","source_mapping":{"start":10657,"length":47,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[289],"starting_column":25,"ending_column":72},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9273,"length":4326,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24503,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#289)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L289)\n","id":"14738114fda112fc8f37877cd29cc70a2cd815ef7bd1c03a5a0774ec1e219673","check":"unused-return","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":449,"length":8364,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},{"type":"node","name":"assetsMapped.push(_asset)","source_mapping":{"start":6547,"length":25,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[189],"starting_column":9,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_setPTokenAddress","source_mapping":{"start":6231,"length":438,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[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":"InitializableAbstractStrategy","source_mapping":{"start":449,"length":8364,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},"signature":"_setPTokenAddress(address,address)"}}}}],"description":"InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#11-263) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#189)\n","markdown":"[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L11-L263) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L189)\n","id":"381ac16a09532b8a5dfd39a5d7c89b8a098eed32925b60281cbd3b0fcad4f990","check":"controlled-array-length","impact":"High","confidence":"Medium"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9273,"length":4326,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24503,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"IVault(address(this)).harvest(allStrategies[i])","source_mapping":{"start":10027,"length":47,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[278],"starting_column":21,"ending_column":68},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9273,"length":4326,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24503,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#266-362) ignores return value by IVault(address(this)).harvest(allStrategies[i]) (contracts/vault/VaultCore.sol#278)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L266-L362) ignores return value by [IVault(address(this)).harvest(allStrategies[i])](contracts/vault/VaultCore.sol#L278)\n","id":"7e2dac8db9a46c3c11c5d4b3e04cb5233cb9693607e01c54045f05b7dae4fc76","check":"unused-return","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":392,"length":8280,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,248,249,250,251,252,253,254,255,256,257,258,259],"starting_column":1,"ending_column":2}},{"type":"node","name":"assetsMapped.push(_asset)","source_mapping":{"start":6406,"length":25,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[185],"starting_column":9,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_setPTokenAddress","source_mapping":{"start":6090,"length":438,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[177,178,179,180,181,182,183,184,185,186,187,188,189,190],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":392,"length":8280,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,248,249,250,251,252,253,254,255,256,257,258,259],"starting_column":1,"ending_column":2}},"signature":"_setPTokenAddress(address,address)"}}}}],"description":"InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-259) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#185)\n","markdown":"[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L259) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L185)\n","id":"30b7d9aab47a66b59f74bd13941e813c3b5a5ae6448a3f7679c53e7ddbe332ae","check":"controlled-array-length","impact":"High","confidence":"Medium"},{"elements":[{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":392,"length":7885,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,248,249],"starting_column":1,"ending_column":2}},{"type":"node","name":"assetsMapped.push(_asset)","source_mapping":{"start":6011,"length":25,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[175],"starting_column":9,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_setPTokenAddress","source_mapping":{"start":5695,"length":438,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[167,168,169,170,171,172,173,174,175,176,177,178,179,180],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":392,"length":7885,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,248,249],"starting_column":1,"ending_column":2}},"signature":"_setPTokenAddress(address,address)"}}}}],"description":"InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#10-249) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#175)\n","markdown":"[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L10-L249) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L175)\n","id":"4768a672e113dfcc66a3411dcecbb416a83238a54329eb946079711430f271a2","check":"controlled-array-length","impact":"High","confidence":"Medium"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9261,"length":3882,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24145,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"assetBalance == 0","source_mapping":{"start":10940,"length":17,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[302],"starting_column":17,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9261,"length":3882,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24145,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#265-351) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#302)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L265-L351) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L302)\n","id":"68299d4d220bd6c43bb5621c4879a0d491e7543f1165aecf84c78d5c75097361","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"variable","name":"trusteeAddress","source_mapping":{"start":3698,"length":29,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[101],"starting_column":5,"ending_column":34},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":807,"length":3487,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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}}}},{"type":"function","name":"_allocate","source_mapping":{"start":9506,"length":3882,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24302,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"function","name":"_rebase","source_mapping":{"start":13841,"length":953,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24302,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681],"starting_column":1,"ending_column":2}},"signature":"_rebase()"}}],"description":"VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357)\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n","markdown":"[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357)\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n","id":"65e007df44c00b192cdedf6acb4c0c396774b55569e66aa864570ff224919500","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9506,"length":3882,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24302,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"assetBalance == 0","source_mapping":{"start":11185,"length":17,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[308],"starting_column":17,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9506,"length":3882,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":621,"length":24302,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#271-357) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#308)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L271-L357) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L308)\n","id":"3cdb474d424497377560f2617a225571d094bc5a4d9068ed28cc039cf36bb0a9","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9451,"length":3809,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":566,"length":24229,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"assetBalance == 0","source_mapping":{"start":11130,"length":17,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[307],"starting_column":17,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9451,"length":3809,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":566,"length":24229,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#270-353) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#307)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L270-L353) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L307)\n","id":"67337dd8b3da36d12ebd0856bc1dd88acd22e740abd8d2e6e33a46a1d187e940","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":396,"length":7885,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},{"type":"node","name":"assetsMapped.push(_asset)","source_mapping":{"start":6016,"length":25,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[177],"starting_column":9,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_setPTokenAddress","source_mapping":{"start":5700,"length":438,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[169,170,171,172,173,174,175,176,177,178,179,180,181,182],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":396,"length":7885,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},"signature":"_setPTokenAddress(address,address)"}}}}],"description":"InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-251) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#177)\n","markdown":"[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L251) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L177)\n","id":"df38af393431fdde0ef600ae1071c57ca43fd15a0015a0d24d83245f0a52a803","check":"controlled-array-length","impact":"High","confidence":"Medium"},{"elements":[{"type":"variable","name":"trusteeFeeBps","source_mapping":{"start":3782,"length":28,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[104],"starting_column":5,"ending_column":33},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":807,"length":3486,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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}}}},{"type":"function","name":"_rebase","source_mapping":{"start":13775,"length":953,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":24561,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686],"starting_column":1,"ending_column":2}},"signature":"_rebase()"}}],"description":"VaultStorage.trusteeFeeBps (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#370-394)\n","markdown":"[VaultStorage.trusteeFeeBps](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L370-L394)\n","id":"6026824a262c80dba27267266bd932f6ced8a0ab28731a229e2747099e556a33","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"trusteeAddress","source_mapping":{"start":3699,"length":29,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[101],"starting_column":5,"ending_column":34},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":807,"length":3490,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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}}}},{"type":"function","name":"_rebase","source_mapping":{"start":13871,"length":960,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":24664,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688],"starting_column":1,"ending_column":2}},"signature":"_rebase()"}}],"description":"VaultStorage.trusteeAddress (contracts/vault/VaultStorage.sol#101) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n","markdown":"[VaultStorage.trusteeAddress](contracts/vault/VaultStorage.sol#L101) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n","id":"38c6f1922de1e66b8be48d1e73897a517a266abf443487b0429c6d6070aa67d7","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"trusteeFeeBasis","source_mapping":{"start":3784,"length":30,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[104],"starting_column":5,"ending_column":35},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":807,"length":3490,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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}}}},{"type":"function","name":"_rebase","source_mapping":{"start":13871,"length":960,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":24664,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688],"starting_column":1,"ending_column":2}},"signature":"_rebase()"}}],"description":"VaultStorage.trusteeFeeBasis (contracts/vault/VaultStorage.sol#104) is never initialized. It is used in:\n\t- VaultCore._rebase() (contracts/vault/VaultCore.sol#372-396)\n","markdown":"[VaultStorage.trusteeFeeBasis](contracts/vault/VaultStorage.sol#L104) is never initialized. It is used in:\n\t- [VaultCore._rebase()](contracts/vault/VaultCore.sol#L372-L396)\n","id":"3f7908a03d07c1a38ed6e02e0e85b2e0e3e7b96dcad11d66ac62102edf3951f9","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"function","name":"scaleBy","source_mapping":{"start":734,"length":308,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[25,26,27,28,29,30,31,32,33,34,35,36],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":242,"length":3585,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[8,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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,int8)"}},{"type":"node","name":"x = x.mul(10 ** uint256(adjustment))","source_mapping":{"start":883,"length":34,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[31],"starting_column":13,"ending_column":47},"type_specific_fields":{"parent":{"type":"function","name":"scaleBy","source_mapping":{"start":734,"length":308,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[25,26,27,28,29,30,31,32,33,34,35,36],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":242,"length":3585,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[8,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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,int8)"}}}},{"type":"node","name":"x = x.div(10 ** uint256(adjustment * - 1))","source_mapping":{"start":968,"length":39,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[33],"starting_column":13,"ending_column":52},"type_specific_fields":{"parent":{"type":"function","name":"scaleBy","source_mapping":{"start":734,"length":308,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[25,26,27,28,29,30,31,32,33,34,35,36],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"StableMath","source_mapping":{"start":242,"length":3585,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_relative":"contracts/utils/StableMath.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/StableMath.sol","filename_short":"contracts/utils/StableMath.sol","is_dependency":false,"lines":[8,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],"starting_column":1,"ending_column":2}},"signature":"scaleBy(uint256,int8)"}}}}],"description":"StableMath.scaleBy(uint256,int8) (contracts/utils/StableMath.sol#25-36) performs a multiplication on the result of a division:\n\t-x = x.mul(10 ** uint256(adjustment)) (contracts/utils/StableMath.sol#31)\n\t-x = x.div(10 ** uint256(adjustment * - 1)) (contracts/utils/StableMath.sol#33)\n","markdown":"[StableMath.scaleBy(uint256,int8)](contracts/utils/StableMath.sol#L25-L36) performs a multiplication on the result of a division:\n\t-[x = x.mul(10 ** uint256(adjustment))](contracts/utils/StableMath.sol#L31)\n\t-[x = x.div(10 ** uint256(adjustment * - 1))](contracts/utils/StableMath.sol#L33)\n","id":"db2ef8c1daf9b02deedbcc86671a36b6336566289f0ec3f91ff45f5afe31fd91","check":"divide-before-multiply","impact":"Medium","confidence":"Medium"},{"elements":[{"type":"function","name":"balanceOf","source_mapping":{"start":2744,"length":223,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[83,84,85,86,87],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":17607,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}},{"type":"node","name":"_creditBalances[_account] == 0","source_mapping":{"start":2825,"length":30,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[84],"starting_column":13,"ending_column":43},"type_specific_fields":{"parent":{"type":"function","name":"balanceOf","source_mapping":{"start":2744,"length":223,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[83,84,85,86,87],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":17607,"filename_used":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/dvf/Sites/Origin/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}}}}],"description":"OUSD.balanceOf(address) (contracts/token/OUSD.sol#83-87) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#84)\n","markdown":"[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L83-L87) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L84)\n","id":"ccb46234e07af49545e8f6ec6328d958fa1c2f6c5bc4170dbf99f57e4003ebeb","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"function","name":"balanceOf","source_mapping":{"start":2849,"length":223,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[87,88,89,90,91],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":16903,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}},{"type":"node","name":"_creditBalances[_account] == 0","source_mapping":{"start":2930,"length":30,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[88],"starting_column":13,"ending_column":43},"type_specific_fields":{"parent":{"type":"function","name":"balanceOf","source_mapping":{"start":2849,"length":223,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[87,88,89,90,91],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":16903,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}}}}],"description":"OUSD.balanceOf(address) (contracts/token/OUSD.sol#87-91) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#88)\n","markdown":"[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L87-L91) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L88)\n","id":"ac0ff05bcf967595b64b2a24b53884cfca5e30e06792da3ba40104ab169d77a4","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":396,"length":8222,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},{"type":"node","name":"assetsMapped.push(_asset)","source_mapping":{"start":6476,"length":25,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[193],"starting_column":9,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_setPTokenAddress","source_mapping":{"start":6160,"length":438,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.sol","is_dependency":false,"lines":[185,186,187,188,189,190,191,192,193,194,195,196,197,198],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"InitializableAbstractStrategy","source_mapping":{"start":396,"length":8222,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_relative":"contracts/utils/InitializableAbstractStrategy.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/utils/InitializableAbstractStrategy.sol","filename_short":"contracts/utils/InitializableAbstractStrategy.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,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":1,"ending_column":2}},"signature":"_setPTokenAddress(address,address)"}}}}],"description":"InitializableAbstractStrategy (contracts/utils/InitializableAbstractStrategy.sol#12-262) contract sets array length with a user-controlled value:\n\t- assetsMapped.push(_asset) (contracts/utils/InitializableAbstractStrategy.sol#193)\n","markdown":"[InitializableAbstractStrategy](contracts/utils/InitializableAbstractStrategy.sol#L12-L262) contract sets array length with a user-controlled value:\n\t- [assetsMapped.push(_asset)](contracts/utils/InitializableAbstractStrategy.sol#L193)\n","id":"e99c44d951e76857b3f5bfc5cdccca773021441bfde515673b7eccdad421c7e3","check":"controlled-array-length","impact":"High","confidence":"Medium"},{"elements":[{"type":"variable","name":"assets","source_mapping":{"start":1854,"length":32,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[51],"starting_column":5,"ending_column":37},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":738,"length":3013,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mint","source_mapping":{"start":1313,"length":1551,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"mint(address,uint256,uint256)"}},{"type":"function","name":"mintMultiple","source_mapping":{"start":3165,"length":2120,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"mintMultiple(address[],uint256[],uint256)"}},{"type":"function","name":"isSupportedAsset","source_mapping":{"start":23379,"length":121,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[647,648,649],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"isSupportedAsset(address)"}}],"description":"VaultStorage.assets (contracts/vault/VaultStorage.sol#51) is never initialized. It is used in:\n\t- VaultCore.mint(address,uint256,uint256) (contracts/vault/VaultCore.sol#42-87)\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore.isSupportedAsset(address) (contracts/vault/VaultCore.sol#647-649)\n","markdown":"[VaultStorage.assets](contracts/vault/VaultStorage.sol#L51) is never initialized. It is used in:\n\t- [VaultCore.mint(address,uint256,uint256)](contracts/vault/VaultCore.sol#L42-L87)\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore.isSupportedAsset(address)](contracts/vault/VaultCore.sol#L647-L649)\n","id":"b5f535d2516b1f696e381fc7ef334ac08dab475e61c7fd193ef8eb0498172128","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"allAssets","source_mapping":{"start":1892,"length":19,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[52],"starting_column":5,"ending_column":24},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":738,"length":3013,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"mintMultiple","source_mapping":{"start":3165,"length":2120,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"mintMultiple(address[],uint256[],uint256)"}},{"type":"function","name":"_redeem","source_mapping":{"start":5959,"length":2568,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}},{"type":"function","name":"_allocate","source_mapping":{"start":9491,"length":3809,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"function","name":"_totalValueInVault","source_mapping":{"start":14993,"length":456,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[412,413,414,415,416,417,418,419,420,421,422],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_totalValueInVault()"}},{"type":"function","name":"_totalValueInStrategy","source_mapping":{"start":16033,"length":605,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_totalValueInStrategy(address)"}},{"type":"function","name":"_checkBalance","source_mapping":{"start":17760,"length":347,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[491,492,493,494,495,496,497,498,499],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_checkBalance()"}},{"type":"function","name":"_calculateRedeemOutputs","source_mapping":{"start":18615,"length":3196,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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,581,582,583,584,585,586,587,588,589,590,591,592,593,594],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_calculateRedeemOutputs(uint256)"}},{"type":"function","name":"_getAssetPrices","source_mapping":{"start":21960,"length":754,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_getAssetPrices(bool)"}},{"type":"function","name":"getAssetCount","source_mapping":{"start":22919,"length":95,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[629,630,631],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"getAssetCount()"}},{"type":"function","name":"getAllAssets","source_mapping":{"start":23084,"length":98,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[636,637,638],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"getAllAssets()"}}],"description":"VaultStorage.allAssets (contracts/vault/VaultStorage.sol#52) is never initialized. It is used in:\n\t- VaultCore.mintMultiple(address[],uint256[],uint256) (contracts/vault/VaultCore.sol#96-153)\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInVault() (contracts/vault/VaultCore.sol#412-422)\n\t- VaultCore._totalValueInStrategy(address) (contracts/vault/VaultCore.sol#440-456)\n\t- VaultCore._checkBalance() (contracts/vault/VaultCore.sol#491-499)\n\t- VaultCore._calculateRedeemOutputs(uint256) (contracts/vault/VaultCore.sol#518-594)\n\t- VaultCore._getAssetPrices(bool) (contracts/vault/VaultCore.sol#600-620)\n\t- VaultCore.getAssetCount() (contracts/vault/VaultCore.sol#629-631)\n\t- VaultCore.getAllAssets() (contracts/vault/VaultCore.sol#636-638)\n","markdown":"[VaultStorage.allAssets](contracts/vault/VaultStorage.sol#L52) is never initialized. It is used in:\n\t- [VaultCore.mintMultiple(address[],uint256[],uint256)](contracts/vault/VaultCore.sol#L96-L153)\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInVault()](contracts/vault/VaultCore.sol#L412-L422)\n\t- [VaultCore._totalValueInStrategy(address)](contracts/vault/VaultCore.sol#L440-L456)\n\t- [VaultCore._checkBalance()](contracts/vault/VaultCore.sol#L491-L499)\n\t- [VaultCore._calculateRedeemOutputs(uint256)](contracts/vault/VaultCore.sol#L518-L594)\n\t- [VaultCore._getAssetPrices(bool)](contracts/vault/VaultCore.sol#L600-L620)\n\t- [VaultCore.getAssetCount()](contracts/vault/VaultCore.sol#L629-L631)\n\t- [VaultCore.getAllAssets()](contracts/vault/VaultCore.sol#L636-L638)\n","id":"a0bcee4b84d596e46f4bdc315977842c894250f10de805d7cb76ef572ecc6eed","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"allStrategies","source_mapping":{"start":2121,"length":23,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[60],"starting_column":5,"ending_column":28},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":738,"length":3013,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_allocate","source_mapping":{"start":9491,"length":3809,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"function","name":"_totalValueInStrategies","source_mapping":{"start":15600,"length":232,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[428,429,430,431,432,433],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_totalValueInStrategies()"}},{"type":"function","name":"_checkBalance","source_mapping":{"start":17149,"length":458,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[472,473,474,475,476,477,478,479,480,481,482,483,484,485],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_checkBalance(address)"}},{"type":"function","name":"getStrategyCount","source_mapping":{"start":23269,"length":104,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[643,644,645],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"getStrategyCount()"}}],"description":"VaultStorage.allStrategies (contracts/vault/VaultStorage.sol#60) is never initialized. It is used in:\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n\t- VaultCore._totalValueInStrategies() (contracts/vault/VaultCore.sol#428-433)\n\t- VaultCore._checkBalance(address) (contracts/vault/VaultCore.sol#472-485)\n\t- VaultCore.getStrategyCount() (contracts/vault/VaultCore.sol#643-645)\n","markdown":"[VaultStorage.allStrategies](contracts/vault/VaultStorage.sol#L60) is never initialized. It is used in:\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n\t- [VaultCore._totalValueInStrategies()](contracts/vault/VaultCore.sol#L428-L433)\n\t- [VaultCore._checkBalance(address)](contracts/vault/VaultCore.sol#L472-L485)\n\t- [VaultCore.getStrategyCount()](contracts/vault/VaultCore.sol#L643-L645)\n","id":"ea3b2d51d5c7b49d49000d98c22ad2e6114ee9ddc5ae0a3dbca43230b1d86caa","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"variable","name":"assetDefaultStrategies","source_mapping":{"start":3296,"length":57,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[92],"starting_column":5,"ending_column":62},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":738,"length":3013,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106],"starting_column":1,"ending_column":2}}}},{"type":"function","name":"_redeem","source_mapping":{"start":5959,"length":2568,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_redeem(uint256,uint256)"}},{"type":"function","name":"_allocate","source_mapping":{"start":9491,"length":3809,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}],"description":"VaultStorage.assetDefaultStrategies (contracts/vault/VaultStorage.sol#92) is never initialized. It is used in:\n\t- VaultCore._redeem(uint256,uint256) (contracts/vault/VaultCore.sol#176-241)\n\t- VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355)\n","markdown":"[VaultStorage.assetDefaultStrategies](contracts/vault/VaultStorage.sol#L92) is never initialized. It is used in:\n\t- [VaultCore._redeem(uint256,uint256)](contracts/vault/VaultCore.sol#L176-L241)\n\t- [VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355)\n","id":"2a2b38bc90433cda7268d5e5e361bda99612c0a8a010cde7677ef881ee8366ee","check":"uninitialized-state","impact":"High","confidence":"High"},{"elements":[{"type":"function","name":"balanceOf","source_mapping":{"start":3072,"length":223,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[93,94,95,96,97],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":17126,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}},{"type":"node","name":"_creditBalances[_account] == 0","source_mapping":{"start":3153,"length":30,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[94],"starting_column":13,"ending_column":43},"type_specific_fields":{"parent":{"type":"function","name":"balanceOf","source_mapping":{"start":3072,"length":223,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[93,94,95,96,97],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":17126,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}},"signature":"balanceOf(address)"}}}}],"description":"OUSD.balanceOf(address) (contracts/token/OUSD.sol#93-97) uses a dangerous strict equality:\n\t- _creditBalances[_account] == 0 (contracts/token/OUSD.sol#94)\n","markdown":"[OUSD.balanceOf(address)](contracts/token/OUSD.sol#L93-L97) uses a dangerous strict equality:\n\t- [_creditBalances[_account] == 0](contracts/token/OUSD.sol#L94)\n","id":"a55a1e1f6ea78bddc5cbd6d68e5a4302d75fcd721b5a8c9f6966a014896ca1d4","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"function","name":"_allocate","source_mapping":{"start":9491,"length":3809,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}},{"type":"node","name":"assetBalance == 0","source_mapping":{"start":11170,"length":17,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[309],"starting_column":17,"ending_column":34},"type_specific_fields":{"parent":{"type":"function","name":"_allocate","source_mapping":{"start":9491,"length":3809,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.sol","is_dependency":false,"lines":[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],"starting_column":5,"ending_column":6},"type_specific_fields":{"parent":{"type":"contract","name":"VaultCore","source_mapping":{"start":578,"length":23987,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_relative":"contracts/vault/VaultCore.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultCore.sol","filename_short":"contracts/vault/VaultCore.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,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,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680],"starting_column":1,"ending_column":2}},"signature":"_allocate()"}}}}],"description":"VaultCore._allocate() (contracts/vault/VaultCore.sol#272-355) uses a dangerous strict equality:\n\t- assetBalance == 0 (contracts/vault/VaultCore.sol#309)\n","markdown":"[VaultCore._allocate()](contracts/vault/VaultCore.sol#L272-L355) uses a dangerous strict equality:\n\t- [assetBalance == 0](contracts/vault/VaultCore.sol#L309)\n","id":"e076e0868789c4c8eac321fa296d864f811cdc98d51f0a6c652fad192cda236b","check":"incorrect-equality","impact":"Medium","confidence":"High"},{"elements":[{"type":"variable","name":"_deprecated_nonRebasingCredits","source_mapping":{"start":1889,"length":46,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.sol","is_dependency":false,"lines":[56],"starting_column":5,"ending_column":51},"type_specific_fields":{"parent":{"type":"contract","name":"OUSD","source_mapping":{"start":829,"length":17126,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_relative":"contracts/token/OUSD.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/token/OUSD.sol","filename_short":"contracts/token/OUSD.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,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],"starting_column":1,"ending_column":2}}}}],"description":"OUSD._deprecated_nonRebasingCredits (contracts/token/OUSD.sol#56) should be constant\n","markdown":"[OUSD._deprecated_nonRebasingCredits](contracts/token/OUSD.sol#L56) should be constant\n","id":"d1ea4fe9408f80125156de9fe468a481994a6d08fef3b6b1933e37e2df899f9e","check":"constable-states","impact":"Optimization","confidence":"High"},{"elements":[{"type":"variable","name":"_deprecated_rebaseHooksAddr","source_mapping":{"start":2977,"length":56,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.sol","is_dependency":false,"lines":[82],"starting_column":5,"ending_column":61},"type_specific_fields":{"parent":{"type":"contract","name":"VaultStorage","source_mapping":{"start":738,"length":3013,"filename_used":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_relative":"contracts/vault/VaultStorage.sol","filename_absolute":"/Users/tom/Code/origin-dollar/contracts/contracts/vault/VaultStorage.sol","filename_short":"contracts/vault/VaultStorage.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,102,103,104,105,106],"starting_column":1,"ending_column":2}}}}],"description":"VaultStorage._deprecated_rebaseHooksAddr (contracts/vault/VaultStorage.sol#82) should be constant\n","markdown":"[VaultStorage._deprecated_rebaseHooksAddr](contracts/vault/VaultStorage.sol#L82) should be constant\n","id":"ed4ffd431fec4020c56a7e926083a9e68612827dfc15d7aabf73103cd7bcf2aa","check":"constable-states","impact":"Optimization","confidence":"High"}] \ No newline at end of file diff --git a/contracts/tasks/actions/SKILL.md b/contracts/tasks/actions/SKILL.md index 4d09742ab2..28abd2164d 100644 --- a/contracts/tasks/actions/SKILL.md +++ b/contracts/tasks/actions/SKILL.md @@ -9,8 +9,7 @@ description: Develop, modify, review, and maintain standalone Talos actions in c - Author actions in `tasks/actions/.ts` with the `action({...})` wrapper from `tasks/lib/action.ts`. -- Actions self-register and run through `tasks/run.ts`; do not import Hardhat or - register Hardhat tasks. +- Actions self-register and run through `tasks/run.ts`; do not register ops tasks. - Run an action locally with `pnpm exec tsx tasks/run.ts --network `. Treat a transaction-writing invocation as production-affecting. - Production schedules are defined in `migrations/seed_schedules.sql`; the @@ -45,7 +44,7 @@ description: Develop, modify, review, and maintain standalone Talos actions in c address, but its ABI may not expose an implementation method. Prefer curated `abi/*.json` interfaces for stable proxy calls. - When a Foundry deployment changes an action target, update the corresponding - Hardhat deployment address or pinned action address in the same change. + deployment descriptor address or pinned action address in the same change. - Preserve idempotency and useful action-specific logging. Do not turn a manual-only or proposal action into an enabled schedule without explicit authorization. diff --git a/contracts/tasks/actions/permissionedRebase.ts b/contracts/tasks/actions/permissionedRebase.ts index e2df6aa3a8..fcf4b331ab 100644 --- a/contracts/tasks/actions/permissionedRebase.ts +++ b/contracts/tasks/actions/permissionedRebase.ts @@ -4,7 +4,7 @@ import { logTxDetails } from "../../utils/txLogger"; // PermissionedRebase Safe module addresses, keyed by chain id. The contract // source lives in a PR not yet merged into this branch — until that lands and -// the module gets a Hardhat deployment artifact, addresses are pinned here. +// the module gets a deployment descriptor, addresses are pinned here. const MODULES_BY_CHAIN_ID: Record = { 1: "0xB3bCfA33C54fa4D18146196eDfB404BD036a52a6", // Ethereum 8453: "0xf633980A61E9F90a41d030676059Dc201D9d4A37", // Base diff --git a/contracts/tasks/amoStrategy.js b/contracts/tasks/amoStrategy.js index 558d7ca4da..12af2cfcca 100644 --- a/contracts/tasks/amoStrategy.js +++ b/contracts/tasks/amoStrategy.js @@ -18,7 +18,7 @@ const { logTxDetails } = require("../utils/txLogger"); const log = require("../utils/logger")("task:curve"); /** - * Hardhat task that dumps the current state of an AMO strategy + * Task that dumps the current state of an AMO strategy */ async function amoStrategyTask(taskArguments) { const poolOTokenSymbol = taskArguments.pool; diff --git a/contracts/tasks/beacon.js b/contracts/tasks/beacon.js index 636b295513..21bbd47319 100644 --- a/contracts/tasks/beacon.js +++ b/contracts/tasks/beacon.js @@ -28,7 +28,7 @@ const { } = require("../utils/proofs"); const { toHex } = require("../utils/units"); const { logTxDetails } = require("../utils/txLogger"); -const { getNetworkName } = require("./lib/network"); +const { CHAIN_NAMES, getNetworkName } = require("./lib/network"); const { ZERO_BYTES32 } = require("../utils/constants"); const { address: mainnetCompoundingStakingSSVStrategyProxy, @@ -43,15 +43,7 @@ const { const log = require("../utils/logger")("task:beacon"); const MAX_DATE_MS = 8640000000000000n; -const getStrategyNetworkName = async () => { - const networkName = await getNetworkName(); - if (networkName === "hardhat") { - return ( - process.env.FORK_NETWORK_NAME || process.env.NETWORK_NAME || "hardhat" - ); - } - return networkName; -}; +const getStrategyNetworkName = async () => getNetworkName(); const getKnownWithdrawalStrategies = (networkName) => { if (networkName === "mainnet") { @@ -150,9 +142,12 @@ const formatEpochUtc = (epoch, networkName) => { }; /// Returns an ethers provider connected to the Ethereum mainnet or Hoodi. -/// @param {Provider} [provider] - Optional ethers provider connected to local fork or live chain. Uses Hardhat provider if not supplied. +/// @param {Provider} [provider] - Optional ethers provider connected to local fork or live chain. Uses the ambient provider if not supplied. async function getLiveProvider(provider) { - const networkName = await getNetworkName(provider); + const networkName = provider + ? CHAIN_NAMES[(await provider.getNetwork()).chainId] + : getNetworkName(); + if (!networkName) throw new Error("Unsupported provider chain"); if (networkName == "hoodi") { return new ethers.providers.JsonRpcProvider(process.env.HOODI_PROVIDER_URL); } diff --git a/contracts/tasks/beaconTesting.js b/contracts/tasks/beaconTesting.js index a7b3f7dccc..7c7d22f404 100644 --- a/contracts/tasks/beaconTesting.js +++ b/contracts/tasks/beaconTesting.js @@ -2,7 +2,7 @@ const { solidityPack, parseUnits } = require("ethers/lib/utils"); const { beaconRoot } = require("./beacon"); const addresses = require("../utils/addresses"); -const { replaceContractAt } = require("../utils/hardhat"); +const { replaceContractAt } = require("../utils/anvil"); const { logTxDetails } = require("../utils/txLogger"); const log = require("../utils/logger")("task:beacon:test:utils"); @@ -100,10 +100,8 @@ async function copyBeaconRoot({ block, signer }) { } async function mockBeaconRoot() { - if (hre.network.name == "mainnet") { - throw new Error( - "This task can only be run against a hardhat or a local forked network" - ); + if (process.env.FORK !== "true") { + throw new Error("This task can only be run against a local forked network"); } const factory = await hre.ethers.getContractFactory("MockBeaconRoots"); diff --git a/contracts/tasks/block.js b/contracts/tasks/block.js index f747cec4c1..ddbdc49290 100644 --- a/contracts/tasks/block.js +++ b/contracts/tasks/block.js @@ -1,15 +1,8 @@ const log = require("../utils/logger")("task:block"); -// Works in both runtimes: the standalone action CLI (ambient provider from -// tasks/lib/network) and legacy hardhat dev tasks (the `hre` global). Prefer -// the standalone provider; fall back to hre when the network isn't initialized. +// Uses the ambient provider initialized by the standalone CLI. function currentProvider() { - try { - return require("./lib/network").getProvider(); - } catch { - // eslint-disable-next-line no-undef - return hre.ethers.provider; - } + return require("./lib/network").getProvider(); } async function getBlock(block) { @@ -40,7 +33,7 @@ async function getDiffBlocks(taskArguments) { async function advanceBlocks(blocks) { log(`Advancing ${blocks} blocks`); - await currentProvider().send("hardhat_mine", [`0x${blocks.toString(16)}`]); + await currentProvider().send("anvil_mine", [`0x${blocks.toString(16)}`]); } module.exports = { diff --git a/contracts/tasks/commands.ts b/contracts/tasks/commands.ts index 415b3b16e5..2d29936765 100644 --- a/contracts/tasks/commands.ts +++ b/contracts/tasks/commands.ts @@ -1,7 +1,7 @@ import { readFileSync } from "node:fs"; import { join } from "node:path"; import { - legacyHandler, + taskHandler, type CommandDefinition, type CommandParam, } from "./lib/command"; @@ -31,7 +31,7 @@ export const commands: CommandDefinition[] = catalogue.map((entry) => ({ console.log(`${address}${role}`); } } - : legacyHandler(entry.name), + : taskHandler(entry.name), })); export const commandByName = new Map( diff --git a/contracts/tasks/curve.js b/contracts/tasks/curve.js index f13e99b871..753af9e55a 100644 --- a/contracts/tasks/curve.js +++ b/contracts/tasks/curve.js @@ -10,7 +10,7 @@ const { getSigner } = require("../utils/signers"); const log = require("../utils/logger")("task:curve"); /** - * Hardhat task to dump the current state of a Curve Metapool pool used for AMO + * Task to dump the current state of a Curve Metapool pool used for AMO */ async function curvePoolTask(taskArguments) { const poolOTokenSymbol = taskArguments.pool; diff --git a/contracts/tasks/governance.js b/contracts/tasks/governance.js index 7824ee7a35..2f3d23cc7d 100644 --- a/contracts/tasks/governance.js +++ b/contracts/tasks/governance.js @@ -26,7 +26,7 @@ async function getProposalExecutionValue(governor, proposalId) { } async function execute(taskArguments, hre) { - const { isMainnet, isFork } = require("../utils/hardhat-task-helpers"); + const { isMainnet, isFork } = require("../utils/runtime-helpers"); if (isMainnet) { throw new Error("The execute task can not be used on mainnet"); @@ -102,7 +102,7 @@ async function executeOnFork(taskArguments, hre) { : null; console.log("Enqueueing and executing proposal", proposalId); - const { isFork } = require("../utils/hardhat-task-helpers"); + const { isFork } = require("../utils/runtime-helpers"); if (!isFork) throw new Error("Can only be used on Fork"); const { guardianAddr } = await hre.getNamedAccounts(); diff --git a/contracts/tasks/lib/action.ts b/contracts/tasks/lib/action.ts index 256173ffa7..476bb2a57b 100644 --- a/contracts/tasks/lib/action.ts +++ b/contracts/tasks/lib/action.ts @@ -1,10 +1,10 @@ import type { ethers } from "ethers"; /** - * Standalone (hardhat-free) action framework. Same authoring API as before — + * Standalone action framework. Same authoring API as before — * action({ name, description, chains, params, run }) with an ethers `signer` in * the run context — but actions self-register into an in-process registry - * instead of hardhat tasks, and the `params:(t)=>{...}` builder is served by a + * instead of runtime tasks, and the `params:(t)=>{...}` builder is served by a * lightweight shim so existing action bodies need no change. Dispatched by * tasks/run.ts; catalogued by dump-actions-catalog.ts. */ @@ -35,14 +35,13 @@ export interface ParamSpec { defaultValue: string | number | boolean | null; } -// hardhat-compatible `types` markers — only `.name` is ever read. Lets action -// files do `import { types } from "../lib/action"` instead of "hardhat/config". +// Task-compatible `types` markers — only `.name` is ever read. export const types = { string: { name: "string" as const }, int: { name: "int" as const }, float: { name: "float" as const }, boolean: { name: "boolean" as const }, - // Aliases hardhat exposes that some actions may reference. + // Aliases some actions may reference. json: { name: "string" as const }, bigint: { name: "string" as const }, }; @@ -50,7 +49,7 @@ export const types = { type TypeMarker = { name: string }; /** - * Mirrors the subset of hardhat's ConfigurableTaskDefinition param builder that + * Mirrors the subset of the task parameter builder that * action files use, so `params:(t)=>{ t.addParam(...) }` blocks are unchanged. */ export class ParamBuilder { diff --git a/contracts/tasks/lib/command.ts b/contracts/tasks/lib/command.ts index c26e5c39c0..b1a9a1512f 100644 --- a/contracts/tasks/lib/command.ts +++ b/contracts/tasks/lib/command.ts @@ -3,6 +3,11 @@ import * as contracts from "./contracts"; import * as deployments from "./deployments"; import { getChainId, getNetworkName, getProvider } from "./network"; import { rolesFor } from "./roles"; +import { + registeredTasks, + type TaskAction, + type TaskEntry, +} from "./task-registry"; export type ParamType = "string" | "int" | "float" | "boolean" | "json"; export type CommandParam = { @@ -130,88 +135,24 @@ export function createCommandContext(): CommandContext { }; } -type LegacyAction = ( - args: Record, - context: CommandContext, - runSuper: () => Promise -) => Promise; -type LegacyEntry = { action?: LegacyAction; superAction?: LegacyAction }; -let legacyActions: Map | undefined; +let taskEntries: Map | undefined; -/** - * Temporary PR-A adapter: loads the existing task declarations through a tiny, - * registration-only shim. It never imports or starts Hardhat; the captured - * business handlers receive the explicit standalone CommandContext above. - * tasks/tasks.js remains unchanged as the A/B oracle until PR B. - */ -function loadLegacyActions(): Map { - if (legacyActions) return legacyActions; - const entries = new Map(); - const types = Object.fromEntries( - ["string", "int", "float", "boolean", "json", "any"].map((name) => [ - name, - { name }, - ]) - ); - const makeDefinition = (name: string) => { - const prior = entries.get(name); - const entry: LegacyEntry = prior - ? { action: undefined, superAction: prior.action ?? prior.superAction } - : {}; - entries.set(name, entry); - const definition: Record = { - paramDefinitions: {}, - addParam() { - return definition; - }, - addOptionalParam() { - return definition; - }, - addFlag() { - return definition; - }, - addVariadicParam() { - return definition; - }, - addOptionalVariadicParam() { - return definition; - }, - setAction(action: LegacyAction) { - entry.action = action; - return definition; - }, - }; - return definition; - }; - const registration = { - task: (name: string) => makeDefinition(name), - subtask: (name: string) => makeDefinition(name), - types, - }; - const moduleApi = require("node:module") as { - _load: (request: string, parent: unknown, isMain: boolean) => unknown; - }; - const originalLoad = moduleApi._load; - moduleApi._load = (request, parent, isMain) => - request === "hardhat/config" - ? registration - : originalLoad(request, parent, isMain); - try { - require("../tasks.js"); - } finally { - moduleApi._load = originalLoad; - } - legacyActions = entries; - return entries; +function loadTaskEntries(): Map { + if (taskEntries) return taskEntries; + require("../tasks.js"); + taskEntries = registeredTasks(); + return taskEntries; } -export function legacyHandler(name: string): CommandHandler { +export function taskHandler(name: string): CommandHandler { return async (args, context) => { - const entry = loadLegacyActions().get(name); + const entry = loadTaskEntries().get(name); if (!entry?.action) throw new Error(`No operational handler for '${name}'`); - const run = (action: LegacyAction | undefined): Promise => { + const run = (action: TaskAction | undefined): Promise => { if (!action) throw new Error(`No parent handler for '${name}'`); - return action(args, context, () => run(entry.superAction)); + return action(args, context, () => + run(entry.superAction) + ) as Promise; }; const globals = globalThis as Record; const values: Record = { diff --git a/contracts/tasks/lib/contracts.ts b/contracts/tasks/lib/contracts.ts index e6bed9be8e..e494e8e256 100644 --- a/contracts/tasks/lib/contracts.ts +++ b/contracts/tasks/lib/contracts.ts @@ -4,17 +4,16 @@ import { ethers } from "ethers"; import { getChainId, getSignerOrProvider } from "./network"; /** - * Drop-in replacements for `hre.ethers.getContract` / `hre.ethers.getContractAt` - * that do NOT require hardhat. Addresses come from the committed hardhat-deploy - * artifacts in deployments//.json (the deployed truth); ABIs come + * Standalone `getContract` / `getContractAt` helpers. Addresses come from the + * committed descriptors in deployments//.json (the deployed truth); ABIs come * from the deployment artifact (getContract) or a curated interface ABI in abi/ * (getContractAt by name). Contracts are bound to the ambient signer (writes) or - * provider (reads), matching hardhat's signer-connected contracts. + * provider (reads). */ const CONTRACTS_ROOT = join(__dirname, "..", ".."); -// chainId -> deployments/ sub-directory (mirrors utils/hardhat-helpers.js networkMap). +// chainId -> deployments/ sub-directory. const DIR_BY_CHAIN: Record = { 1: "mainnet", 42161: "arbitrumOne", @@ -118,7 +117,7 @@ function findFoundryArtifact(directory: string, name: string): string | null { return null; } -/** Load a deployable Foundry artifact from out/ without hardhat artifacts. */ +/** Load a deployable Foundry artifact from out/. */ export async function getContractFactory( name: string ): Promise { diff --git a/contracts/tasks/lib/network.ts b/contracts/tasks/lib/network.ts index da6707df02..0160665fb3 100644 --- a/contracts/tasks/lib/network.ts +++ b/contracts/tasks/lib/network.ts @@ -1,10 +1,10 @@ import { ethers } from "ethers"; /** - * Ambient network context for the standalone (hardhat-free) action runtime. + * Ambient network context for the standalone action runtime. * `run.ts` calls initNetwork() once per process from `--network`; getContract / * getContractAt / getSigner read the provider + chainId from here — the same - * role `hre.network` / `hre.ethers.provider` played under hardhat. + * role previously served by an injected runtime object. */ export const CHAIN_NAMES: Record = { @@ -42,17 +42,6 @@ let _networkName: string | undefined; let _provider: ethers.providers.JsonRpcProvider | undefined; let _signer: ethers.Signer | undefined; -type HardhatGlobal = { - hre?: { - ethers?: { provider?: ethers.providers.JsonRpcProvider }; - network?: { name?: string; config?: { chainId?: number } }; - }; -}; - -function hardhatRuntime() { - return (globalThis as typeof globalThis & HardhatGlobal).hre; -} - /** Resolve the RPC URL for a chain: LOCAL_PROVIDER_URL on a fork, else the * matching `*_PROVIDER_URL` env var. */ export function rpcUrlFor(nameOrId: string | number): { @@ -119,36 +108,26 @@ export function initNetwork(nameOrId: string | number): { } export function getProvider(): ethers.providers.JsonRpcProvider { - const provider = _provider ?? hardhatRuntime()?.ethers?.provider; - if (!provider) + if (!_provider) throw new Error("Network not initialized — call initNetwork() first"); - return provider; + return _provider; } export function getChainId(): number { - const hardhatNetwork = hardhatRuntime()?.network; - const chainId = - _chainId ?? - hardhatNetwork?.config?.chainId ?? - (hardhatNetwork?.name - ? CHAIN_IDS[hardhatNetwork.name.toLowerCase()] - : undefined); - if (chainId == null) throw new Error("Network not initialized"); - return chainId; + if (_chainId == null) throw new Error("Network not initialized"); + return _chainId; } export function getNetworkName(): string { - const networkName = _networkName ?? hardhatRuntime()?.network?.name; - if (!networkName) throw new Error("Network not initialized"); - return networkName; + if (!_networkName) throw new Error("Network not initialized"); + return _networkName; } export function setSigner(signer: ethers.Signer): void { _signer = signer; } -/** getContract/getContractAt bind to the ambient signer when set (so writes work - * like hardhat's signer-connected contracts), else the provider (reads). */ +/** Bind contracts to the ambient signer when set, else the provider. */ export function getSignerOrProvider(): | ethers.Signer | ethers.providers.Provider { diff --git a/contracts/tasks/lib/signer.ts b/contracts/tasks/lib/signer.ts index af7ba7a0b4..9b74f89c60 100644 --- a/contracts/tasks/lib/signer.ts +++ b/contracts/tasks/lib/signer.ts @@ -6,15 +6,14 @@ import { AWS_KMS_REGION, hasAwsKmsCredentials, resolveKmsRelayerId, -} from "../../utils/signersNoHardhat"; +} from "../../utils/signersStandalone"; /** - * Standalone (hardhat-free) signer factory. Same precedence as the old + * Standalone signer factory. Same precedence as the old * utils/signers.js, reusing the exact same production-proven building blocks: * the purrikey AWS KMS ethers signer and the * Talos ethers-v5 nonce queue (wrapSignerWithNonceQueueV5). The only change vs. - * hardhat is the provider — a standalone JsonRpcProvider from the RPC env - * instead of hre.ethers.provider. + * runtime is the provider — a standalone JsonRpcProvider from the RPC env. */ type Db = unknown; @@ -33,7 +32,7 @@ let dbInstance: Db | null = null; function getNonceDb(): Db | null { if (!process.env.DATABASE_URL) return null; if (!talosClient) { - // Talos is an optional peer dependency so non-Talos Hardhat commands do not + // Talos is an optional peer dependency so local ops commands do not // require credentials for the private package registry. talosClient = require("@oplabs/talos-client") as TalosClient; } @@ -93,16 +92,8 @@ export async function getSigner( // 3. Fork impersonation (dev/testing only — the node signs). if (process.env.FORK === "true" && process.env.IMPERSONATE) { const address = process.env.IMPERSONATE; - try { - await provider.send("anvil_impersonateAccount", [address]); - await provider.send("anvil_setBalance", [address, "0x56bc75e2d63100000"]); // 100 ETH - } catch { - await provider.send("hardhat_impersonateAccount", [address]); - await provider.send("hardhat_setBalance", [ - address, - "0x56bc75e2d63100000", - ]); - } + await provider.send("anvil_impersonateAccount", [address]); + await provider.send("anvil_setBalance", [address, "0x56bc75e2d63100000"]); // 100 ETH // Wrapped like the KMS and private-key branches: without it the // transaction bypasses the nonce queue, so Talos never records it and the // run shows no transactions. ethers v5 getSigner() is synchronous. diff --git a/contracts/tasks/lib/task-registry.ts b/contracts/tasks/lib/task-registry.ts new file mode 100644 index 0000000000..aa9d3b680e --- /dev/null +++ b/contracts/tasks/lib/task-registry.ts @@ -0,0 +1,57 @@ +export type TaskAction = ( + args: Record, + context: unknown, + runSuper: () => Promise +) => Promise; + +export type TaskEntry = { + action?: TaskAction; + superAction?: TaskAction; +}; + +const entries = new Map(); + +export const types = Object.fromEntries( + ["string", "int", "float", "boolean", "json", "any"].map((name) => [ + name, + { name }, + ]) +); + +function makeDefinition(name: string) { + const prior = entries.get(name); + const entry: TaskEntry = prior + ? { action: undefined, superAction: prior.action ?? prior.superAction } + : {}; + entries.set(name, entry); + const definition = { + paramDefinitions: {} as Record, + addParam() { + return definition; + }, + addOptionalParam() { + return definition; + }, + addFlag() { + return definition; + }, + addVariadicParam() { + return definition; + }, + addOptionalVariadicParam() { + return definition; + }, + setAction(action: TaskAction) { + entry.action = action; + return definition; + }, + }; + return definition; +} + +export const task = (name: string) => makeDefinition(name); +export const subtask = (name: string) => makeDefinition(name); + +export function registeredTasks(): Map { + return entries; +} diff --git a/contracts/tasks/merklPoolBooster.js b/contracts/tasks/merklPoolBooster.js index 1282c40c9b..d007bb5bc5 100644 --- a/contracts/tasks/merklPoolBooster.js +++ b/contracts/tasks/merklPoolBooster.js @@ -68,7 +68,7 @@ async function manageMerklBribes({ } /** - * Hardhat task wrapper for manageMerklBribes + * Task wrapper for manageMerklBribes */ async function manageMerklBribesTask(taskArguments) { const { getSigner } = require("../utils/signers"); diff --git a/contracts/tasks/poolBooster.js b/contracts/tasks/poolBooster.js index 230dbf3de2..7ccd496fdf 100644 --- a/contracts/tasks/poolBooster.js +++ b/contracts/tasks/poolBooster.js @@ -351,7 +351,7 @@ async function calculateRewardsPerVote(provider, options = {}) { } /** - * Hardhat task to calculate and display the MaxPricePerVote for all Curve Pool Boosters + * Task to calculate and display the MaxPricePerVote for all Curve Pool Boosters */ async function calculateMaxPricePerVoteTask(taskArguments) { const targetEfficiency = parseFloat(taskArguments.efficiency || "1"); @@ -496,7 +496,7 @@ function buildManageBribesChunks({ } module.exports = { - // Hardhat task + // Ops task calculateMaxPricePerVoteTask, // Shared function for automation actions calculateRewardsPerVote, diff --git a/contracts/tasks/run.ts b/contracts/tasks/run.ts index 84c2a43b08..92c99259dc 100644 --- a/contracts/tasks/run.ts +++ b/contracts/tasks/run.ts @@ -1,7 +1,6 @@ #!/usr/bin/env tsx /** - * Standalone (hardhat-free) CLI entrypoint for Talos actions. Replaces - * `pnpm hardhat --network `. The Talos dispatcher spawns this as a + * Standalone CLI entrypoint for Talos actions. The dispatcher spawns this as a * tsx/node child, e.g. `pnpm exec tsx tasks/run.ts harvest --network mainnet`. * * Usage: tsx tasks/run.ts --network [--flag value ...] diff --git a/contracts/tasks/tasks.js b/contracts/tasks/tasks.js index 348d60cfa5..c8622dbb53 100644 --- a/contracts/tasks/tasks.js +++ b/contracts/tasks/tasks.js @@ -1,12 +1,12 @@ const { - subtask: baseSubtask, task: baseTask, + subtask: baseSubtask, types, -} = require("hardhat/config"); +} = require("./lib/task-registry"); const { env } = require("./env"); const { execute, executeOnFork, proposal, governors } = require("./governance"); const addresses = require("../utils/addresses"); -const { getNetworkName } = require("../utils/hardhat-helpers"); +const { getNetworkName } = require("./lib/network"); const { signMessage } = require("./crypto"); const { advanceBlocks } = require("./block"); const { getSigner } = require("../utils/signers"); @@ -92,7 +92,7 @@ const { claimMerklRewards } = require("./merkl"); const { withTaskSignerContext, DEFAULT_KMS_RELAYER_ID, -} = require("../utils/signersNoHardhat"); +} = require("../utils/signersStandalone"); const { rebalancerTask } = require("./rebalancer"); const log = require("../utils/logger")("tasks"); diff --git a/contracts/tasks/test/command-catalog.js b/contracts/tasks/test/command-catalog.js index 1797553928..4a6b15fdd0 100644 --- a/contracts/tasks/test/command-catalog.js +++ b/contracts/tasks/test/command-catalog.js @@ -13,6 +13,8 @@ describe("standalone ops command catalogue", function () { ) ); const { commands } = require("../commands"); + require("../tasks"); + const { registeredTasks } = require("../lib/task-registry"); const registrations = readFileSync( join(__dirname, "..", "tasks.js"), "utf8" @@ -51,5 +53,15 @@ describe("standalone ops command catalogue", function () { commands.every(({ handler }) => typeof handler === "function"), true ); + const runtimeEntries = registeredTasks(); + assert.equal(runtimeEntries.size, 74); + assert.equal( + fixture + .filter(({ name }) => name !== "accounts") + .every( + ({ name }) => typeof runtimeEntries.get(name)?.action === "function" + ), + true + ); }); }); diff --git a/contracts/tasks/test/command.js b/contracts/tasks/test/command.js index 5ebe4612a8..0214eb51f7 100644 --- a/contracts/tasks/test/command.js +++ b/contracts/tasks/test/command.js @@ -1,5 +1,5 @@ const assert = require("node:assert/strict"); -const { coerceParams, legacyHandler, parseCli } = require("../lib/command"); +const { coerceParams, taskHandler, parseCli } = require("../lib/command"); const deployments = require("../lib/deployments"); const { rpcUrlFor } = require("../lib/network"); const { getOptionalSigner } = require("../lib/signer"); @@ -115,7 +115,7 @@ describe("ops CLI parsing", function () { } }); - it("provides legacy globals only while a standalone handler runs", async function () { + it("provides task globals only while a standalone handler runs", async function () { const before = { ethers: global.ethers, deployments: global.deployments, @@ -142,7 +142,7 @@ describe("ops CLI parsing", function () { const originalLog = console.log; console.log = () => {}; try { - await legacyHandler("governors")({}, context); + await taskHandler("governors")({}, context); } finally { console.log = originalLog; } diff --git a/contracts/tasks/test/governance.js b/contracts/tasks/test/governance.js index 6a04818d9a..4f68dda93f 100644 --- a/contracts/tasks/test/governance.js +++ b/contracts/tasks/test/governance.js @@ -2,7 +2,7 @@ const { expect } = require("chai"); const governancePath = require.resolve("../governance"); const dependencyPaths = { - taskHelpers: require.resolve("../../utils/hardhat-task-helpers"), + taskHelpers: require.resolve("../../utils/runtime-helpers"), signers: require.resolve("../../utils/signers"), time: require.resolve("../../utils/time.js"), tx: require.resolve("../../utils/tx"), diff --git a/contracts/tasks/test/runtime-helpers.js b/contracts/tasks/test/runtime-helpers.js new file mode 100644 index 0000000000..e7801936ce --- /dev/null +++ b/contracts/tasks/test/runtime-helpers.js @@ -0,0 +1,41 @@ +const assert = require("node:assert/strict"); +const { initNetwork } = require("../lib/network"); + +const helperPath = require.resolve("../../utils/runtime-helpers"); + +describe("runtime helpers", function () { + const originalFork = process.env.FORK; + const originalRpc = process.env.MAINNET_PROVIDER_URL; + + before(function () { + process.env.MAINNET_PROVIDER_URL = "http://127.0.0.1:8545"; + initNetwork("mainnet"); + }); + + after(function () { + if (originalRpc === undefined) delete process.env.MAINNET_PROVIDER_URL; + else process.env.MAINNET_PROVIDER_URL = originalRpc; + }); + + afterEach(function () { + if (originalFork === undefined) delete process.env.FORK; + else process.env.FORK = originalFork; + delete require.cache[helperPath]; + }); + + it("distinguishes a mainnet fork from live mainnet", function () { + process.env.FORK = "true"; + delete require.cache[helperPath]; + assert.deepEqual(require(helperPath), { + isFork: true, + isMainnet: false, + }); + + delete process.env.FORK; + delete require.cache[helperPath]; + assert.deepEqual(require(helperPath), { + isFork: false, + isMainnet: true, + }); + }); +}); diff --git a/contracts/tasks/vault.js b/contracts/tasks/vault.js index 682d567a13..d17d3bab04 100644 --- a/contracts/tasks/vault.js +++ b/contracts/tasks/vault.js @@ -5,7 +5,7 @@ const { resolveAsset } = require("../utils/resolvers"); const { getSigner } = require("../utils/signers"); const { logTxDetails } = require("../utils/txLogger"); const { ethereumAddress } = require("../utils/regex"); -const { getNetworkName } = require("../utils/hardhat-helpers"); +const { getNetworkName } = require("./lib/network"); const log = require("../utils/logger")("task:vault"); @@ -229,7 +229,7 @@ async function rebase({ symbol }, hre) { * Call the Vault's admin pauseCapital method. */ async function capital({ symbol, pause }, hre) { - const { isMainnet } = require("../utils/hardhat-task-helpers"); + const { isMainnet } = require("../utils/runtime-helpers"); const { proposeArgs } = require("../utils/governor"); log("Setting Vault capitalPause to", pause); diff --git a/contracts/tasks/votemarket.js b/contracts/tasks/votemarket.js index 8f8f1a5972..17d4f2d5a0 100644 --- a/contracts/tasks/votemarket.js +++ b/contracts/tasks/votemarket.js @@ -154,7 +154,7 @@ async function updateVotemarketEpochs({ } /** - * Hardhat task to update Votemarket epochs for all Curve Pool Booster campaigns. + * Task to update Votemarket epochs for all Curve Pool Booster campaigns. */ async function updateVotemarketEpochsTask(taskArguments) { const dryRun = taskArguments.dryRun !== false; diff --git a/contracts/tests/fork/base/strategies/AerodromeAMOStrategy/concrete/Withdraw.t.sol b/contracts/tests/fork/base/strategies/AerodromeAMOStrategy/concrete/Withdraw.t.sol index e9809fb975..af42a97ddc 100644 --- a/contracts/tests/fork/base/strategies/AerodromeAMOStrategy/concrete/Withdraw.t.sol +++ b/contracts/tests/fork/base/strategies/AerodromeAMOStrategy/concrete/Withdraw.t.sol @@ -39,7 +39,7 @@ contract Fork_AerodromeAMOStrategy_Withdraw_Test is Fork_AerodromeAMOStrategy_Sh vm.prank(address(oethBaseVault)); aerodromeAMOStrategy.withdraw(address(oethBaseVault), BaseAddresses.WETH, 1 ether); - // Per Hardhat tolerance: ≤1e6 wei WETH residual + // Preserve the prior tolerance: ≤1e6 wei WETH residual assertLe( IERC20(BaseAddresses.WETH).balanceOf(address(aerodromeAMOStrategy)), 1e6, "WETH residual should be minimal" ); @@ -59,7 +59,7 @@ contract Fork_AerodromeAMOStrategy_Withdraw_Test is Fork_AerodromeAMOStrategy_Sh uint256 vaultBalanceAfter = IERC20(BaseAddresses.WETH).balanceOf(address(oethBaseVault)); assertApproxEqRel(vaultBalanceAfter, vaultBalanceBefore + 1 ether, 0.01 ether, "Vault should receive ~1 WETH"); - // WETH residual may be higher due to rounding, but per Hardhat ≤1e6 + // WETH residual may be higher due to rounding, but remains ≤1e6 assertLe( IERC20(BaseAddresses.WETH).balanceOf(address(aerodromeAMOStrategy)), 1e6, "WETH residual should be minimal" ); diff --git a/contracts/tests/fork/mainnet/automation/ClaimStrategyRewardsSafeModule/shared/Shared.t.sol b/contracts/tests/fork/mainnet/automation/ClaimStrategyRewardsSafeModule/shared/Shared.t.sol index 85370b0396..b04101fc69 100644 --- a/contracts/tests/fork/mainnet/automation/ClaimStrategyRewardsSafeModule/shared/Shared.t.sol +++ b/contracts/tests/fork/mainnet/automation/ClaimStrategyRewardsSafeModule/shared/Shared.t.sol @@ -65,7 +65,7 @@ abstract contract Fork_ClaimStrategyRewardsSafeModule_Shared_Test is BaseFork { } function _deployModule() internal { - // Pass all 5 strategies in constructor (as the Hardhat test does) + // Pass all 5 strategies in constructor (as the legacy test does) address[] memory strategies = new address[](5); strategies[0] = ousdCurveAMOProxy; strategies[1] = oethCurveAMOProxy; diff --git a/contracts/tests/fork/mainnet/beacon/BeaconRoots/shared/Shared.t.sol b/contracts/tests/fork/mainnet/beacon/BeaconRoots/shared/Shared.t.sol index a9ade94364..b5fafaac4b 100644 --- a/contracts/tests/fork/mainnet/beacon/BeaconRoots/shared/Shared.t.sol +++ b/contracts/tests/fork/mainnet/beacon/BeaconRoots/shared/Shared.t.sol @@ -23,13 +23,13 @@ abstract contract Fork_BeaconRoots_Shared_Test is BaseFork { _createAndSelectForkMainnet(); - // This suite mirrors the Hardhat test's live-mainnet behavior. + // This suite mirrors the legacy test's live-mainnet behavior. // If the repo env pins mainnet globally, roll the selected fork forward here. if (vm.envExists("FORK_BLOCK_NUMBER_MAINNET")) { vm.rollFork(forkIdMainnet, _latestMainnetBlockNumber()); } - // Use the deployed wrapper contract on mainnet, matching the Hardhat test. + // Use the deployed wrapper contract on mainnet, matching the legacy test. beaconRoots = MockBeaconRoots(Mainnet.mockBeaconRoots); vm.label(address(beaconRoots), "BeaconRoots"); diff --git a/contracts/tests/unit/strategies/CompoundingStakingStrategy/README.md b/contracts/tests/unit/strategies/CompoundingStakingStrategy/README.md index 7e279d7e6e..daf80c36e4 100644 --- a/contracts/tests/unit/strategies/CompoundingStakingStrategy/README.md +++ b/contracts/tests/unit/strategies/CompoundingStakingStrategy/README.md @@ -4,9 +4,9 @@ Most unit tests here use `MockBeaconProofs`, which auto-passes proof verification and isolates the strategy's state machine. The historical-fixture tests use `EnhancedBeaconProofs` to exercise the real `BeaconProofs` implementation. -### Legacy Hardhat parity +### Legacy JavaScript parity -The deleted Hardhat coverage came from two files: +The deleted JavaScript coverage came from two files: - All nine first-deposit/reset scenarios from the final `compoundingStaking.js` are covered in `concrete/ValidatorStaking.t.sol` and `concrete/Configuration.t.sol`, including exact staking events and the large-deposit boundaries. - The older `compoundingSSVStaking.js` contained the historical Beacon-proof scenarios summarized below. diff --git a/contracts/tests/unit/strategies/CompoundingStakingStrategy/concrete/ValidatorStaking.t.sol b/contracts/tests/unit/strategies/CompoundingStakingStrategy/concrete/ValidatorStaking.t.sol index 7c6ef1d89b..ea6aa61d90 100644 --- a/contracts/tests/unit/strategies/CompoundingStakingStrategy/concrete/ValidatorStaking.t.sol +++ b/contracts/tests/unit/strategies/CompoundingStakingStrategy/concrete/ValidatorStaking.t.sol @@ -195,7 +195,7 @@ contract Unit_Concrete_CompoundingStakingStrategy_ValidatorStaking_Test is Unit_ compoundingStakingStrategy.stakeEth(stakeData, uint64(0.5 ether / 1 gwei)); } - /// @dev Mirrors Hardhat line 799: "Should stake 1 ETH then 2047 ETH to a validator" + /// @dev Mirrors the legacy case: "Should stake 1 ETH then 2047 ETH to a validator" function test_stakeEth_firstDepositThenTopUp() public { // 1. Stake validator 0 diff --git a/contracts/tests/unit/strategies/CompoundingStakingStrategy/fixtures/validators.json b/contracts/tests/unit/strategies/CompoundingStakingStrategy/fixtures/validators.json index bdf0ef2a1a..d55bf6333a 100644 --- a/contracts/tests/unit/strategies/CompoundingStakingStrategy/fixtures/validators.json +++ b/contracts/tests/unit/strategies/CompoundingStakingStrategy/fixtures/validators.json @@ -33,14 +33,14 @@ "depositProcessedSlot": 11787328, "processedBlockNumber": 22567745, "firstDepositValidatorCreatedSlot": 11787456, - "command": "npx hardhat verifyDeposit --slot 11787328 --index 1930685 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 11787328 --index 1930685 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x33258f692fe9f5cb697918d2acb0beb634142f08efd02014bf345d14eb01b0f9", "depositx tx": "0x6bee31cbe395435fac4b9632ef718f6cf6f938a48d417d05bb96502fa588cf2d", "Proof from beacon chain slot": 12145621, "execution layer block": 22923668, - "comment": "So next block is 22923669 which is needed to set the parent beacon block root, use the following Hardhat task to generate the proof and root: npx hardhat verifyValidator --index 1930685 --slot 12145621 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "So next block is 22923669 which is needed to set the parent beacon block root, use the following ops command to generate the proof and root: pnpm ops verifyValidator --index 1930685 --slot 12145621 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -76,14 +76,14 @@ "depositProcessedSlot": 12084224, "processedBlockNumber": 22862630, "firstDepositValidatorCreatedSlot": 12084256, - "command": "npx hardhat verifyDeposit --slot 12084224 --index 1998611 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12084224 --index 1998611 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x8998d4f271f149cf48eabe8b8d0d6d8d0b914734758ac36f5845c042dab21eba", "depositx tx": "0xbc44fa6de0a8e1e307aff7a4702681de4a82ec495db5eb2152a632538ac2bd86", "Proof from beacon chain slot": 12153322, "execution layer block": 22931335, - "comment": "So next block is 22931336 which is needed to set the parent beacon block root, use the following Hardhat task to generate the proof and root: npx hardhat verifyValidator --index 1998611 --slot 12153322 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "So next block is 22931336 which is needed to set the parent beacon block root, use the following ops command to generate the proof and root: pnpm ops verifyValidator --index 1998611 --slot 12153322 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -119,14 +119,14 @@ "depositProcessedSlot": "11772896", "processedBlockNumber": "22553449", "firstDepositValidatorCreatedSlot": 11772928, - "command": "npx hardhat verifyDeposit --slot 11772896 --index 1927585 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 11772896 --index 1927585 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x94e113697fdae7e6be3dfaf128c8147a7a7896f46f57c42d825dfc5ad72a021f", "depositx tx": "0x5823e074eddcdfd72b79a184cb7d6b21bd4d6c959468dd00a751756125b6477d", "Proof from beacon chain slot": 12157238, "execution layer block": 22935232, - "comment": "So next block is 22935233 which is needed to set the parent beacon block root, use the following Hardhat task to generate the proof and root: npx hardhat verifyValidator --index 1927585 --slot 12157238 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "So next block is 22935233 which is needed to set the parent beacon block root, use the following ops command to generate the proof and root: pnpm ops verifyValidator --index 1927585 --slot 12157238 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -141,7 +141,7 @@ "bytes": "0x020000000000000000000000840081c97256d553a8f234d469d797b9535a3b49f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b99b713642e2ee8e825fea982cdaab16ec93294083e4910fe9950ccd28f1e3035a1ccfa45efdb3f6bec7ed55a981f5d01db87351f9afec41d8a50380bc2bd67a3fbd3e8dbd983cd7fbd03bc54b3938403f6d7505dc3d259e6aa86fcf49ddf27c858b5cf6165cb97b9e3ca546da60f9d31915a8f6b6f7bed3982155d2a62867e617299d9da5daf75df6bf3082eb6e17965778ea55ef7a6838e5cfae95646d6fc9ca4985ed8c929e483cf1d61c88ef13f0061f63bfac39fd0c71cfc0022437b072c71b7a19a907cea1cdabb4a7dce017525b7e2a00bedff2f23d93aa25c9c8b4261b5b33d3e4f6f050c58241affdd5d78439ecd4ec01f46fd38e0be62da2ada91940df7b24bf95f71183980d2d89a1dde8b953ce5ee9bfa6ee50b8ad5bf865a85e2aaf34e7dbb79b27ed84cdc8be096f37eefa32090ab9241787779225fba5d76f9da7ae9627c3563d9b95fee67ab53d9aeca9f5319cb8c926a88715dadb9ae9f16a815c56655f2d9f99d738d56da22ddfa68950b27ee8be873718338bbca3bd8c7f0d12cbea1cb040ce0406511d817270b7aba0216661089c1a5aaca7a33b83a0e314721f87dc2b4c885971b285c5c6cf19fec5c7e66bd626c59d5683ac1bc6c7998534184d57236bbebe9a4d4304c14409b9e07f8dbb6b3fc0d5f273b3a3b95e1b0e70adbdd9459d65973d2128654bfb7cd83b542c2a640c1c9f869f6a902362edd80ce0126069bdcb00ffa77d5aa9891b62a10da3f6087e14c2ee5b86a8da587fda203ecd612b6bf9608835609882d9cd6fed6f67aadc2f49bf93049695bfc8e6375b66eda10af23cc8f0ab907b8d745a128dbcb92309463acd27064941cd7215e6dc933dd4409545cbb0aa6be737c72d5bc72cd185df267babec812e2eb543076b6e310326178d665aab463237600ce3fbce63ffd62f7ec03604b9938c0469122d972f9e06a7355e800e1c388d856f87e5d1d42e0519417f947c1fc9f7d06e38a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206f8dbe1e0000000000000000000000000000000000000000000000000000000000c6341f000000000000000000000000000000000000000000000000000000000077fc3aa4d23a816a7a78a3c5be68d69929e15967b8797df9a4581d983c87256538423867718f1ef1f9f1d9a0acd6f1c8a7e59ee891ab6c3f80a5455629835a2ac8218d5c77ed033e03697d44b0fd43821badc7de8d26e105e7035daf8b6488f8e6974315ed465a721ddae8054d52fd783ece4a2f355fbe5b5f6aaf2d2a9028e6eabab4bdce8e9d311f4968ed0411640fb79cd25aaa61c67e9b4092f867cd00f9b1103e525ec8dc44ba3f79ac24cf48127da695e86b82b090e85465f8091cd5a494da8fee38bd34cef2425ce91f71ff9744bbe93234cb65acc776e34973ea17765d93dd1d7088652ff8fdaf031380743881946d4f82cfd6a36114508d7d9ef933", "root": "0xe96dedc675361e240d5101fa44c504d1b1dd209419c451b953aada3ceb16f1f2", "nextBlockTimestamp": 1752723203, - "comment": "npx hardhat verifyValidator --index 1897126 --slot 12158264 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 1897126 --slot 12158264 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" }, "depositProof": { "firstPendingDeposit": { @@ -161,7 +161,7 @@ "depositBlockNumber": 22886969, "depositSlot": 12108720, "depositProcessedSlot": 11747136, - "command": "npx hardhat verifyDeposit --slot 11747136 --index 1897126 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 11747136 --index 1897126 --id 1 --test true --network mainnet" }, "comments": { "deposit tx 1": "0xf766074547a732de8517f6a7d531db6183ced5b1d0893163fe50f0a6910066ae", @@ -215,7 +215,7 @@ "depositSlot": "12120147", "depositProcessedSlot": "12172064", "processedBlockNumber": "22949998", - "command": "npx hardhat verifyDeposit --slot 12172064 --index 2018225 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12172064 --index 2018225 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x196014cc5d151529c2c7b73f97d72cec0f7957b8d4b15e758ec6b64066ff87a0", @@ -254,7 +254,7 @@ "depositSlot": "12120147", "depositProcessedSlot": "12172064", "processedBlockNumber": "22949998", - "command": "npx hardhat verifyDeposit --slot 12172064 --index 2018224 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12172064 --index 2018224 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x196014cc5d151529c2c7b73f97d72cec0f7957b8d4b15e758ec6b64066ff87a0", @@ -294,7 +294,7 @@ "depositRoot": "0xb79c73d23892c0444087328e549f8767edc746ef3999c35d797aec34bb3144e3", "depositProcessedSlot": "12084256", "processedBlockNumber": "22862662", - "command": "npx hardhat verifyDeposit --slot 12084256 --index 1998612 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12084256 --index 1998612 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x8998d4f271f149cf48eabe8b8d0d6d8d0b914734758ac36f5845c042dab21eba", @@ -334,12 +334,12 @@ "depositRoot": "0x079e6ec12cfc226e02d578e604ba0c7791e381f9299728189f9a7863c8f85b8e", "depositProcessedSlot": 11966000, "processedBlockNumber": 22745150, - "command": "npx hardhat verifyDeposit --slot 11966000 --index 1970362 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 11966000 --index 1970362 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x4b29a7a2f442b44d8f6d87626743fea9a292608e9f5348e0cc9ab3fcce6c328d", "deposit tx": "0xa93890a08cd7c80224a467f2d7e6422ca466fcd26b069e0e8f4db70e433f1388", - "comment": "npx hardhat verifyValidator --index 1970362 --slot 12202000 --index 1970362 --network mainnet --test true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 1970362 --slot 12202000 --index 1970362 --network mainnet --test true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -375,13 +375,13 @@ "depositRoot": "0xda937b3db89bc41751648b7d75d2260609503a2240849aaee45aeeca02a7d3c9", "depositProcessedSlot": 11751000, "processedBlockNumber": 22531723, - "command": "npx hardhat verifyDeposit --slot 11751000 --index 1922881 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 11751000 --index 1922881 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x1be26d6e8af2486aa0e26f1230540ce3ac2cd34af2726035c57a0f02c08b6779", "deposit tx": "0x1be26d6e8af2486aa0e26f1230540ce3ac2cd34af2726035c57a0f02c08b6779", "Proof from beacon chain slot": 12202000, - "comment": "npx hardhat verifyValidator --index 1922881 --slot 12202000 --network mainnet --test true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 1922881 --slot 12202000 --network mainnet --test true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -416,12 +416,12 @@ "depositSlot": 11743750, "depositProcessedSlot": 11750900, "processedBlockNumber": 22531624, - "command": "npx hardhat verifyDeposit --slot 11750900 --index 1922882 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 11750900 --index 1922882 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x1be26d6e8af2486aa0e26f1230540ce3ac2cd34af2726035c57a0f02c08b6779", "deposit tx": "0x1be26d6e8af2486aa0e26f1230540ce3ac2cd34af2726035c57a0f02c08b6779", - "comment": "npx hardhat verifyValidator --index 1922882 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 1922882 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -456,12 +456,12 @@ "depositSlot": 12098163, "depositProcessedSlot": 12136000, "processedBlockNumber": 22914093, - "command": "npx hardhat verifyDeposit --slot 12136000 --index 2009356 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12136000 --index 2009356 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x0c787be8606fedd512f7ce2a8e12f8957f681aef3b397bac1f2145b63f070be7", "deposit tx": "0xe0da9236c1f121d3a927c2d744b006d642b9a4a47c4af5176f2063e9493df386", - "comment": "npx hardhat verifyValidator --index 2009356 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 2009356 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -496,13 +496,13 @@ "depositSlot": 12056630, "depositProcessedSlot": 12082650, "processedBlockNumber": 22861065, - "command": "npx hardhat verifyDeposit --slot 12082650 --index 1998140 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12082650 --index 1998140 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x0fa6e09b0dfef4aa098bf82e8f3b6c8d9546369d828343781b1b7d8c14b4c75c", "deposit tx": "0xb95c9f19d50a1a5c541d4347ecebaa74e05d57a9c1f902f0ca0c69cce10699a2", "Proof from beacon chain slot": 12202000, - "comment": "npx hardhat verifyValidator --index 1998140 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 1998140 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -537,12 +537,12 @@ "depositSlot": 11657711, "depositProcessedSlot": 11668800, "processedBlockNumber": 22450481, - "command": "npx hardhat verifyDeposit --slot 11668800 --index 1906722 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 11668800 --index 1906722 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x93dee85a1f92b3f70cfaf14d08fe1631de23e8a23b4c185eef1c22482e686b4b", "deposit tx": "0x93dee85a1f92b3f70cfaf14d08fe1631de23e8a23b4c185eef1c22482e686b4b", - "comment": "npx hardhat verifyValidator --index 1906722 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 1906722 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -557,7 +557,7 @@ "bytes": "0x020000000000000000000000840081c97256d553a8f234d469d797b9535a3b49f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4bb8a4dc8346bceab5a54170169a975454f3d7d47b3f0a855a46b9c1682f0e68c45e1a2482875fa0c1844e9eb19fafd10dd001f7c448e223ac2a174a070a4ae663cc2503e8b1dfda99d6a473b05b63e4ef77211090d7c7de000a3d60eb0512e6735ab8a9d341aee57da1c455a57ce11a7bc775237d6526be38f3e4a8327c9be583f40f3b115bf303e51ea29dcef8a70848a8cfbdc3ab3b51d654d9b7c4a1822f4f6dcc89c27a2126bba31f34b8a6232a8bdee644395cbd51359ad7427eadd82df8a7587443e47482dc63ab0424e3e76ba6e75a96770efb29408a37549bdae7f235de007409eb57c450e4a6d094851828248b643fea37c8c2c7ca2722cc9ab4b5db46ab7c4613ad4366f6c89a5edd17ed6e2f3166b02a5be973a9822f441d4ad98043c1dc1c5df770f5b317a3f46e3197a8b0bfaa807453cd35639eb93fc9102a9bf6f6e8941ba7ed76d08a6cf25db94a263fd1fd41e72766e4728ee41939efb03c912efb5c038ccd2cf8037a532fb6f067dc33d5c283c5f89c741b3d761408b891651016de9ac1cf5c8abfa145cc01c01b5440b4d5245bab5031834a2be57b0b565660eb3971ecf12bed5d4c10b3d200ee0b1e85228d62b37ed4edd4f76c2698f18c797738207ebb7487bc7c92f1e6efc29234317a07502d81652ddbe6361497d02030d3fa106e3a8dc286dcba72227bd702e461915cd928ca69432674300a23f7291d342ad0457de9916ef31cc38815375e6aa1c2b4940cd733873f2533a744ba859478df1c06b148271e8d12ef6a460c9ca26a636ba9b442cd141678890012106c44593d627de4af4487a52d4f449a373b225d7bd98193ee82ef6510cde5872d3d7f638fde7f712618272899e5f6b465b016f1031b4a5710c32df7b4b451cccce2f559cd1a5000ecab92f2f9407e3ac6cbae7166e187688f56ea62c72d59096c5ce5e37b4d4a8bf060fbb61e86e16ea54068bc9c4aabd4273d4d76bf1504d0d18a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fa8e01e0000000000000000000000000000000000000000000000000000000000c6341f00000000000000000000000000000000000000000000000000000000006d833de4787b4b14e2cf638da50c1707c9ff3cb0dc7a45a2660b4d3458c7efdfb6c721321dfb0e529649f74be64a31bbb7d70d337f37a56b020ecc32893d1dec899f8e0893bc267e3256c7542c6cdead589454432274d6bfdfa33e5a4372c0408332dd055e96fbddab4824219c99c6efd32f62a94680d7d7fd9a209136498a235d9eae31ca1126c31a097992d1aa46e4959dac388d050aa45b9ba26dd04c29d71e55542dbbada164392f6f61345af3b028848382633277ad75a17af787f75b843767942c6c4d511c58ce23665f710e5206efbcb15a207e9f7bc0bb86306f7409c256512691d51102f5d48c78b0bee220af931edde3dd49847fd7675ad6ab7fec", "root": "0x44b8ab595c44413189146115257225a6cc5bfb19a914c339fd35499d6b902ce7", "nextBlockTimestamp": 1753248035, - "comment": "npx hardhat verifyValidator --index 1906721 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 1906721 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" }, "depositProof": { "firstPendingDeposit": { @@ -578,7 +578,7 @@ "depositSlot": 11657690, "depositProcessedSlot": 11668900, "processedBlockNumber": 22450580, - "command": "npx hardhat verifyDeposit --slot 11668900 --index 1906721 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 11668900 --index 1906721 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x10994ef5cca6868ec412f543a6430f53eabd4eeea29bf2d9ac93c66c782d1bbc", @@ -618,12 +618,12 @@ "depositSlot": 11657106, "depositProcessedSlot": 11668550, "processedBlockNumber": 22450237, - "command": "npx hardhat verifyDeposit --slot 11668550 --index 1906639 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 11668550 --index 1906639 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0xa6411cebf89098fe837646b017b7161fdfa10d6381600ff64625152793436f16", "deposit tx": "0xa6411cebf89098fe837646b017b7161fdfa10d6381600ff64625152793436f16", - "comment": "npx hardhat verifyValidator --index 1906639 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 1906639 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -658,12 +658,12 @@ "depositSlot": 12108751, "depositProcessedSlot": 12159000, "processedBlockNumber": 22936987, - "command": "npx hardhat verifyDeposit --slot 12159000 --index 2015001 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12159000 --index 2015001 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x77a3d3ee1898ae6310bce5719ee883fe68deeca232c3dcf6ca60a396c64b4c29", "deposit tx": "0x4d2ec847b4e52285b10e3dcbd8f28b7bf37d84b71d359272249c38973ad8df1a", - "comment": "npx hardhat verifyValidator --index 2009356 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 2009356 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -698,12 +698,12 @@ "depositSlot": 12108953, "depositProcessedSlot": 12159812, "processedBlockNumber": 22937797, - "command": "npx hardhat verifyDeposit --slot 12159812 --index 2014925 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12159812 --index 2014925 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x094704cb3ee43a69a0a598d61ddd47d502b49252348897edda14c64dafc0a3ab", "deposit tx": "0xdcfcb446e984b2587c91a04e6272a61c6ad55f19a0cc068c3e9e71c51b527070", - "comment": "npx hardhat verifyValidator --index 2014925 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 2014925 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -738,12 +738,12 @@ "depositSlot": 12108732, "depositProcessedSlot": 12159809, "processedBlockNumber": 22937794, - "command": "npx hardhat verifyDeposit --slot 12159809 --index 2014907 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12159809 --index 2014907 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x094704cb3ee43a69a0a598d61ddd47d502b49252348897edda14c64dafc0a3ab", "deposit tx": "0xdcfcb446e984b2587c91a04e6272a61c6ad55f19a0cc068c3e9e71c51b527070", - "comment": "npx hardhat verifyValidator --index 2014907 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 2014907 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -778,12 +778,12 @@ "depositSlot": 12108771, "depositProcessedSlot": 12159732, "processedBlockNumber": 22937717, - "command": "npx hardhat verifyDeposit --slot 12159732 --index 2015000 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12159732 --index 2015000 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x77a3d3ee1898ae6310bce5719ee883fe68deeca232c3dcf6ca60a396c64b4c29", "deposit tx": "0x4d2ec847b4e52285b10e3dcbd8f28b7bf37d84b71d359272249c38973ad8df1a", - "comment": "npx hardhat verifyValidator --index 2015000 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 2015000 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -818,12 +818,12 @@ "depositSlot": 12108750, "depositProcessedSlot": 12159764, "processedBlockNumber": 22937749, - "command": "npx hardhat verifyDeposit --slot 12159764 --index 2014998 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12159764 --index 2014998 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x77a3d3ee1898ae6310bce5719ee883fe68deeca232c3dcf6ca60a396c64b4c29", "deposit tx": "0x4d2ec847b4e52285b10e3dcbd8f28b7bf37d84b71d359272249c38973ad8df1a", - "comment": "npx hardhat verifyValidator --index 2014998 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 2014998 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } }, { @@ -858,12 +858,12 @@ "depositSlot": 12108753, "depositProcessedSlot": 12159345, "processedBlockNumber": 22937331, - "command": "npx hardhat verifyDeposit --slot 12159345 --index 2014926 --id 1 --test true --network mainnet" + "command": "pnpm ops verifyDeposit --slot 12159345 --index 2014926 --id 1 --test true --network mainnet" }, "comments": { "register tx": "0x094704cb3ee43a69a0a598d61ddd47d502b49252348897edda14c64dafc0a3ab", "deposit tx": "0xdcfcb446e984b2587c91a04e6272a61c6ad55f19a0cc068c3e9e71c51b527070", - "comment": "npx hardhat verifyValidator --index 2014926 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" + "comment": "pnpm ops verifyValidator --index 2014926 --slot 12202000 --network mainnet --dryrun true --withdrawal 0x840081c97256d553A8F234D469D797B9535a3B49" } } ], @@ -905,7 +905,7 @@ ] }, "validatorBalances": ["0.0", "0.0", "2228.319778741"], - "command": "npx hardhat verifyBalances --indexes 1930685,1998611,1897126 --test true --slot 11763000 --deposits 1,2,3,4 --network mainnet" + "command": "pnpm ops verifyBalances --indexes 1930685,1998611,1897126 --test true --slot 11763000 --deposits 1,2,3,4 --network mainnet" }, { "description": "The third validator has done a partial withdrawal", @@ -944,7 +944,7 @@ ] }, "validatorBalances": [0, 0, 1588.918094377], - "command": "npx hardhat verifyBalances --indexes 1930685,1998611,1897126 --test true --slot 11787326 --deposits 1,2,3,4 --network mainnet" + "command": "pnpm ops verifyBalances --indexes 1930685,1998611,1897126 --test true --slot 11787326 --deposits 1,2,3,4 --network mainnet" }, { "description": "Only the first validator had a balance", @@ -983,7 +983,7 @@ ] }, "validatorBalances": ["137.28519386", "0.0", "0.0"], - "command": "npx hardhat verifyBalances --indexes 1930685,1998611,1897126 --test true --slot 12021100 --deposits 1,2,3,4 --network mainnet" + "command": "pnpm ops verifyBalances --indexes 1930685,1998611,1897126 --test true --slot 12021100 --deposits 1,2,3,4 --network mainnet" }, { "description": "The first and second validators had a balance", @@ -1022,7 +1022,7 @@ ] }, "validatorBalances": ["137.492073144", "64.03884023", "0.0"], - "command": "npx hardhat verifyBalances --indexes 1930685,1998611,1897126 --test true --slot 12153439 --deposits 1,2,3,4 --network mainnet" + "command": "pnpm ops verifyBalances --indexes 1930685,1998611,1897126 --test true --slot 12153439 --deposits 1,2,3,4 --network mainnet" }, { "description": "Both validators have earned from consensus rewards", @@ -1060,7 +1060,7 @@ ] }, "validatorBalances": ["137.497291011", "64.041294908", "0.0"], - "command": "npx hardhat verifyBalances --indexes 1930685,1998611,1897126 --test true --slot 12157779 --deposits 1,2,3,4 --network mainnet" + "command": "pnpm ops verifyBalances --indexes 1930685,1998611,1897126 --test true --slot 12157779 --deposits 1,2,3,4 --network mainnet" }, { "description": "All validators 21 balance at the same time", @@ -1169,7 +1169,7 @@ "32.012689641", "32.012759287" ], - "command": "npx hardhat verifyBalances --indexes 1930685,1998611,1927585,1897126,2018225,2018224,1998612,1970362,1922881,1922882,2009356,1998140,1906722,1906721,1906639,2015001,2014925,2014907,2015000,2014998,2014926 --test true --slot 12204316 --deposits 1,2,3,4,5,6,7,8 --network mainnet" + "command": "pnpm ops verifyBalances --indexes 1930685,1998611,1927585,1897126,2018225,2018224,1998612,1970362,1922881,1922882,2009356,1998140,1906722,1906721,1906639,2015001,2014925,2014907,2015000,2014998,2014926 --test true --slot 12204316 --deposits 1,2,3,4,5,6,7,8 --network mainnet" } ] } diff --git a/contracts/tests/unit/strategies/CompoundingStakingStrategy/shared/Shared.t.sol b/contracts/tests/unit/strategies/CompoundingStakingStrategy/shared/Shared.t.sol index 27c27fa605..8830f58687 100644 --- a/contracts/tests/unit/strategies/CompoundingStakingStrategy/shared/Shared.t.sol +++ b/contracts/tests/unit/strategies/CompoundingStakingStrategy/shared/Shared.t.sol @@ -59,7 +59,7 @@ abstract contract Unit_CompoundingStakingStrategy_Shared_Test is Base { bytes32 internal constant GOVERNOR_SLOT = 0x7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a; /// @dev ETH required for the first deposit to a new validator. Must be within - /// [1 ether, 2048 ether]; matches the Hardhat fixture. + /// [1 ether, 2048 ether]; matches the legacy fixture. uint256 internal constant INITIAL_DEPOSIT_AMOUNT = 1 ether; // Beacon chain constants @@ -198,7 +198,7 @@ abstract contract Unit_CompoundingStakingStrategy_Shared_Test is Base { vm.startPrank(governor); address[] memory emptyAddresses = new address[](0); - // Matches the Hardhat fixture's initial validator deposit amount. + // Matches the legacy fixture's initial validator deposit amount. compoundingStakingStrategy.initialize(emptyAddresses, emptyAddresses, emptyAddresses, INITIAL_DEPOSIT_AMOUNT); oethVault.approveStrategy(address(compoundingStakingStrategy)); diff --git a/contracts/tests/unit/strategies/CompoundingStakingStrategy/shared/TwentyOneValidatorsShared.t.sol b/contracts/tests/unit/strategies/CompoundingStakingStrategy/shared/TwentyOneValidatorsShared.t.sol index df3cbc569b..8d7a3c2b55 100644 --- a/contracts/tests/unit/strategies/CompoundingStakingStrategy/shared/TwentyOneValidatorsShared.t.sol +++ b/contracts/tests/unit/strategies/CompoundingStakingStrategy/shared/TwentyOneValidatorsShared.t.sol @@ -155,7 +155,7 @@ abstract contract Unit_CompoundingStakingStrategy_TwentyOneValidators_Shared_Tes internal returns (bytes32 pendingDepositRoot) { - // Hardhat mines each top-up in a new block. Keep the Beacon deposit slot + // The legacy test mined each top-up in a new block. Keep the Beacon deposit slot // distinct so equal amounts to the same validator produce distinct roots. vm.warp(block.timestamp + SLOT_DURATION); TestValidator storage validatorData = testValidators[validatorPosition]; diff --git a/contracts/tests/unit/token/OUSD/shared/Shared.t.sol b/contracts/tests/unit/token/OUSD/shared/Shared.t.sol index bf8d515348..3e87425be1 100644 --- a/contracts/tests/unit/token/OUSD/shared/Shared.t.sol +++ b/contracts/tests/unit/token/OUSD/shared/Shared.t.sol @@ -103,7 +103,7 @@ abstract contract Unit_OUSD_Shared_Test is Base { vm.stopPrank(); } - /// @dev Fund matt and josh with 100 OUSD each (matching Hardhat fixture's 200 OUSD total supply) + /// @dev Fund matt and josh with 100 OUSD each (matching the legacy fixture's 200 OUSD total supply) function _fundInitialUsers() internal { _mintOUSD(matt, 100e6); _mintOUSD(josh, 100e6); diff --git a/contracts/tests/unit/vault/OETHVault/shared/Shared.t.sol b/contracts/tests/unit/vault/OETHVault/shared/Shared.t.sol index 78023968fd..31088f0283 100644 --- a/contracts/tests/unit/vault/OETHVault/shared/Shared.t.sol +++ b/contracts/tests/unit/vault/OETHVault/shared/Shared.t.sol @@ -105,7 +105,7 @@ abstract contract Unit_OETHVault_Shared_Test is Base { vm.stopPrank(); } - /// @dev Fund matt and josh with 100 OETH each (matching Hardhat fixture's 200 OETH total supply) + /// @dev Fund matt and josh with 100 OETH each (matching the legacy fixture's 200 OETH total supply) function _fundInitialUsers() internal { _mintOETH(matt, 100e18); _mintOETH(josh, 100e18); diff --git a/contracts/tests/unit/vault/OUSDVault/shared/Shared.t.sol b/contracts/tests/unit/vault/OUSDVault/shared/Shared.t.sol index bc11dee5d2..42bb00a21b 100644 --- a/contracts/tests/unit/vault/OUSDVault/shared/Shared.t.sol +++ b/contracts/tests/unit/vault/OUSDVault/shared/Shared.t.sol @@ -107,7 +107,7 @@ abstract contract Unit_Shared_Test is Base { vm.stopPrank(); } - /// @dev Fund matt and josh with 100 OUSD each (matching Hardhat fixture's 200 OUSD total supply) + /// @dev Fund matt and josh with 100 OUSD each (matching the legacy fixture's 200 OUSD total supply) function _fundInitialUsers() internal { _mintOUSD(matt, 100e6); _mintOUSD(josh, 100e6); diff --git a/contracts/utils/anvil.js b/contracts/utils/anvil.js new file mode 100644 index 0000000000..75deeb702c --- /dev/null +++ b/contracts/utils/anvil.js @@ -0,0 +1,11 @@ +const { getProvider } = require("../tasks/lib/network"); + +const replaceContractAt = async (targetAddress, mockContract) => { + const provider = getProvider(); + const mockCode = await provider.getCode(mockContract.address); + await provider.send("anvil_setCode", [targetAddress, mockCode]); +}; + +module.exports = { + replaceContractAt, +}; diff --git a/contracts/utils/hardhat-helpers.js b/contracts/utils/hardhat-helpers.js deleted file mode 100644 index 49e53381d0..0000000000 --- a/contracts/utils/hardhat-helpers.js +++ /dev/null @@ -1,84 +0,0 @@ -require("dotenv").config(); - -const isFork = process.env.FORK === "true"; -const isArbitrumFork = process.env.FORK_NETWORK_NAME === "arbitrumOne"; -const isBaseFork = process.env.FORK_NETWORK_NAME === "base"; -const isSonicFork = process.env.FORK_NETWORK_NAME === "sonic"; -const isPlumeFork = process.env.FORK_NETWORK_NAME === "plume"; -const isHoodiFork = process.env.FORK_NETWORK_NAME === "hoodi"; -const isHyperEVMFork = process.env.FORK_NETWORK_NAME === "hyperevm"; - -const arbitrumProviderUrl = `${process.env.ARBITRUM_PROVIDER_URL}`; -const baseProviderUrl = `${process.env.BASE_PROVIDER_URL}`; -const sonicProviderUrl = `${process.env.SONIC_PROVIDER_URL}`; -const plumeProviderUrl = `${process.env.PLUME_PROVIDER_URL}`; -const hoodiProviderUrl = `${process.env.HOODI_PROVIDER_URL}`; -const hyperEVMProviderUrl = `${process.env.HYPEREVM_PROVIDER_URL}`; - -// Returns the chain ID used by the in-process Hardhat network. -const getHardhatNetworkChainId = () => { - let chainId = 1337; - if (isArbitrumFork && isFork) { - chainId = 42161; - } else if (isBaseFork && isFork) { - chainId = 8453; - } else if (isSonicFork && isFork) { - chainId = 146; - } else if (isPlumeFork && isFork) { - chainId = 98866; - } else if (isHoodiFork && isFork) { - chainId = 560048; - } else if (isHyperEVMFork && isFork) { - chainId = 999; - } else if (isFork) { - // is mainnet fork - chainId = 1; - } - - return chainId; -}; - -const networkMap = { - 1: "mainnet", - 42161: "arbitrumOne", - 1337: "hardhat", - 8453: "base", - 146: "sonic", - 98866: "plume", - 560048: "hoodi", - 999: "hyperevm", -}; - -/** - * Returns the network name based on the chain ID of the connected network. - * @param {ethers.Provider} [provider] - Optional ethers provider. Defaults to the Hardhat provider if not supplied. - * The provider is required by standalone automation code that does not load Hardhat. - * @returns {Promise} The network name. e.g. `mainnet`, `sonic`, `base` - */ -const getNetworkName = async (provider) => { - // use the provider if passed, otherwise use the Hardhat provider - const localProvider = provider ?? hre.ethers.provider; - const { chainId } = await localProvider.getNetwork(); - const network = networkMap[chainId]; - if (!network) { - throw Error(`Failed to resolve network with chain Id "${chainId}"`); - } - - return network; -}; - -module.exports = { - isBaseFork, - getNetworkName, - isSonicFork, - isPlumeFork, - isHoodiFork, - isHyperEVMFork, - arbitrumProviderUrl, - baseProviderUrl, - sonicProviderUrl, - plumeProviderUrl, - hoodiProviderUrl, - hyperEVMProviderUrl, - getHardhatNetworkChainId, -}; diff --git a/contracts/utils/hardhat-task-helpers.js b/contracts/utils/hardhat-task-helpers.js deleted file mode 100644 index 60e1d25e31..0000000000 --- a/contracts/utils/hardhat-task-helpers.js +++ /dev/null @@ -1,9 +0,0 @@ -const hre = require("hardhat"); - -const isFork = process.env.FORK === "true"; -const isMainnet = hre.network.name === "mainnet"; - -module.exports = { - isFork, - isMainnet, -}; diff --git a/contracts/utils/hardhat.js b/contracts/utils/hardhat.js deleted file mode 100644 index f94ec932cc..0000000000 --- a/contracts/utils/hardhat.js +++ /dev/null @@ -1,13 +0,0 @@ -const replaceContractAt = async (targetAddress, mockContract) => { - const signer = (await hre.ethers.getSigners())[0]; - const mockCode = await signer.provider.getCode(mockContract.address); - - await hre.network.provider.request({ - method: "hardhat_setCode", - params: [targetAddress, mockCode], - }); -}; - -module.exports = { - replaceContractAt, -}; diff --git a/contracts/utils/localKeyValueStore.js b/contracts/utils/localKeyValueStore.js index f8912b7889..d0cd83ce03 100644 --- a/contracts/utils/localKeyValueStore.js +++ b/contracts/utils/localKeyValueStore.js @@ -4,7 +4,7 @@ const path = require("path"); // When KV_STORE_DIR is set (talos runner sets it to the EFS mount at // /var/talos/kv), every kv file collapses into that flat directory by // basename so the JSON state survives Fargate task replacement. -// Without the env var (local hardhat / fork dev) we keep the original +// Without the env var (local fork development) we keep the original // `_storePath` semantics so test runs don't touch a shared dir. function resolveStorePath(storePath) { const root = process.env.KV_STORE_DIR; diff --git a/contracts/utils/logger.js b/contracts/utils/logger.js index c64091508f..8994e3b4f2 100644 --- a/contracts/utils/logger.js +++ b/contracts/utils/logger.js @@ -71,7 +71,7 @@ const createDebugLogger = (module) => { const createWinstonLogger = (module) => { let bridge; try { - // ts-node is registered by hardhat and cron entrypoints. + // ts-node is registered by CLI and cron entrypoints. bridge = require("../tasks/lib/logger"); } catch (err) { const fallback = createDebugLogger(module); diff --git a/contracts/utils/rebalancer-config.js b/contracts/utils/rebalancer-config.js index bf87ff3813..f38a866f4f 100644 --- a/contracts/utils/rebalancer-config.js +++ b/contracts/utils/rebalancer-config.js @@ -83,7 +83,7 @@ const ethMorphoConstraints = { // ─── Secrets / RPC config ──────────────────────────────────────────────────── // Automation runners call initSecrets once at startup. -// Hardhat tasks fall through to process.env (loaded from .env by hardhat config). +// Ops tasks fall through to process.env. let _secrets = {}; diff --git a/contracts/utils/rebalancer.md b/contracts/utils/rebalancer.md index 1c00180f99..de324ffa91 100644 --- a/contracts/utils/rebalancer.md +++ b/contracts/utils/rebalancer.md @@ -200,5 +200,5 @@ The before/after/Δ are shown in the table header and returned from - `utils/rebalancer.js` - core logic (allocation, filtering, formatting) - `utils/rebalancer-config.js` - strategy configs and constraints - `utils/morpho-apy.js` - Morpho APY fetching -- `tasks/rebalancer.js` - Hardhat task entry point +- `tasks/rebalancer.js` - ops task entry point - `tasks/actions/ousdRebalancer.ts` - Talos execution automation diff --git a/contracts/utils/resolvers.js b/contracts/utils/resolvers.js index c7cdce1946..67853aa0b4 100644 --- a/contracts/utils/resolvers.js +++ b/contracts/utils/resolvers.js @@ -7,36 +7,27 @@ const log = require("./logger")("task:assets"); /** * Resolves a token symbol to a ERC20 token contract. - * Uses the shared contract helpers and works in both Hardhat tasks and standalone actions. + * Uses the shared standalone contract helpers. * @param {string} symbol token symbol of the asset. eg OUSD, USDT, stETH, CRV... */ const resolveAsset = async (symbol) => { const networkName = await getNetworkName(); - // If not a unit test or task running against the hardhat network - if (networkName != "hardhat") { - const assetAddr = - addresses[networkName][symbol + "Proxy"] || - addresses[networkName][symbol]; - if (!assetAddr) { - throw Error( - `Failed to resolve symbol "${symbol}" to an address on the "${networkName}" network` - ); - } - log(`Resolved ${symbol} to ${assetAddr} on the ${networkName} network`); - const asset = await getContractAt("IERC20Metadata", assetAddr); - return asset; - } - const asset = await getContract("Mock" + symbol); - if (!asset) { - throw Error(`Failed to resolve symbol "${symbol}" to a mock contract`); + const assetAddr = + addresses[networkName][symbol + "Proxy"] || addresses[networkName][symbol]; + if (!assetAddr) { + throw Error( + `Failed to resolve symbol "${symbol}" to an address on the "${networkName}" network` + ); } + log(`Resolved ${symbol} to ${assetAddr} on the ${networkName} network`); + const asset = await getContractAt("IERC20Metadata", assetAddr); return asset; }; /** * Returns a contract instance. - * Uses the shared contract helpers and works in both Hardhat tasks and standalone actions. + * Uses the shared standalone contract helpers. * @param {string} proxy Address or name of the proxy contract or contract name if no proxy. eg OETHVaultProxy or OETHZapper * @param {string} [abiName=proxy] ABI name. Will default to proxy is not used. eg VaultAdmin, VaultCore, Governable or IERC20Metadata * @returns diff --git a/contracts/utils/runtime-helpers.js b/contracts/utils/runtime-helpers.js new file mode 100644 index 0000000000..68a9d5dda8 --- /dev/null +++ b/contracts/utils/runtime-helpers.js @@ -0,0 +1,9 @@ +const { getNetworkName } = require("../tasks/lib/network"); + +const isFork = process.env.FORK === "true"; +const isMainnet = getNetworkName() === "mainnet" && !isFork; + +module.exports = { + isFork, + isMainnet, +}; diff --git a/contracts/utils/signers.js b/contracts/utils/signers.js index 6546e98452..e775c7024f 100644 --- a/contracts/utils/signers.js +++ b/contracts/utils/signers.js @@ -1,12 +1,12 @@ const { parseEther } = require("ethers/lib/utils"); -const { getKmsSigner } = require("./signersNoHardhat"); +const { getKmsSigner } = require("./signersStandalone"); const { ethereumAddress } = require("./regex"); const log = require("./logger")("utils:signers"); // These modules are TypeScript and belong to the standalone Talos runtime. -// Resolve them lazily so importing this legacy CommonJS helper still works in -// Hardhat environments where the optional Talos dependencies are not installed. +// Resolve them lazily so importing this CommonJS helper still works when the +// optional Talos dependencies are not installed. function getProvider() { return require("../tasks/lib/network").getProvider(); } @@ -16,7 +16,7 @@ async function getStandaloneSigner() { } /** - * Signer factory for the standalone (hardhat-free) action runtime. + * Signer factory for the standalone action runtime. * - If an address is passed, return a JSON-RPC signer for it on the ambient * provider (fork impersonation tooling). * - Otherwise delegate to tasks/lib/signer.getSigner(), which selects AWS KMS / @@ -35,18 +35,14 @@ async function getSigner(address = undefined) { } /** - * Impersonate an account on a forked node (anvil / hardhat node) via raw RPC. + * Impersonate an account on a forked Anvil node via raw RPC. * @param {string} account address to impersonate * @returns an Ethers.js Signer object */ async function impersonateAccount(account) { log(`Impersonating account ${account}`); const provider = getProvider(); - try { - await provider.send("anvil_impersonateAccount", [account]); - } catch { - await provider.send("hardhat_impersonateAccount", [account]); - } + await provider.send("anvil_impersonateAccount", [account]); return await provider.getSigner(account); } @@ -61,11 +57,7 @@ async function impersonateAndFund(account, amount = "100") { log(`Funding account ${account} with ${amount} ETH`); const wei = parseEther(amount.toString()).toHexString(); const provider = getProvider(); - try { - await provider.send("anvil_setBalance", [account, wei]); - } catch { - await provider.send("hardhat_setBalance", [account, wei]); - } + await provider.send("anvil_setBalance", [account, wei]); return signer; } diff --git a/contracts/utils/signersNoHardhat.js b/contracts/utils/signersStandalone.js similarity index 100% rename from contracts/utils/signersNoHardhat.js rename to contracts/utils/signersStandalone.js diff --git a/contracts/utils/sonicActions.js b/contracts/utils/sonicActions.js index 789dd29b2e..3eb35ee529 100644 --- a/contracts/utils/sonicActions.js +++ b/contracts/utils/sonicActions.js @@ -89,7 +89,7 @@ async function undelegateValidator({ id, amount, signer, bufferPct = 0 }) { // Convert back to a positive amount amountBN = wsWithBuffer.mul(-1); } else { - // Use amount passed in from Hardhat task + // Use amount passed in from the task amountBN = parseUnits(amount.toString(), 18); }