diff --git a/.github/workflows/defi.yml b/.github/workflows/defi.yml index e34d15071a..6529448610 100644 --- a/.github/workflows/defi.yml +++ b/.github/workflows/defi.yml @@ -156,6 +156,25 @@ jobs: - run: yarn prettier:check working-directory: ./dapp + dapp-oeth-lint: + name: "OETH DApp Linter" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Use Node.js + uses: actions/setup-node@v2 + with: + node-version: "16.x" + cache: "yarn" + cache-dependency-path: dapp-oeth/yarn.lock + + - run: yarn install --frozen-lockfile + working-directory: ./dapp-oeth + + - run: yarn prettier:check + working-directory: ./dapp-oeth + slither: name: "Slither" # As long as we need Python 3.6 here in the test, we can only use up to Ubuntu 20. diff --git a/brownie/addresses.py b/brownie/addresses.py index b9664cfc81..6f334001c7 100644 --- a/brownie/addresses.py +++ b/brownie/addresses.py @@ -68,4 +68,17 @@ OUSD_USDT = '0xcc01d9d54d06b6a0b6d09a9f79c3a6438e505f71' OUSD_3CRVF_POOL = '0x87650D7bbfC3A9F10587d7778206671719d9910D' -CVX_REWARDS_POOL = '0x7D536a737C13561e0D2Decf1152a653B4e615158' \ No newline at end of file +CVX_REWARDS_POOL = '0x7D536a737C13561e0D2Decf1152a653B4e615158' + +# +OETH = "0x856c4efb76c1d1ae02e20ceb03a2a6a08b0b8dc3" +OETH_ZAPPER = "0x9858e47BCbBe6fBAC040519B02d7cd4B2C470C66" + +WETH = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" +FRXETH = "0x5e8422345238f34275888049021821e8e08caa1f" +SFRXETH = "0xac3e018457b222d93114458476f3e3416abbe38f" +RETH = "0xae78736cd615f374d3085123a210448e74fc6393" +STETH = "0xae7ab96520de3a18e5e111b5eaab095312d7fe84" + +OETH_VAULT = "0x39254033945aa2e4809cc2977e7087bee48bd7ab" +FRAX_ETH_STRATEGY = "0x3ff8654d633d4ea0fae24c52aec73b4a20d0d0e5" diff --git a/brownie/world.py b/brownie/world.py index b17339f09e..65261390ed 100644 --- a/brownie/world.py +++ b/brownie/world.py @@ -70,6 +70,16 @@ def load_contract(name, address): governor_five = load_contract('governor_five', GOVERNOR_FIVE) rewards_source = load_contract('rewards_source', REWARDS_SOURCE) + +oeth = load_contract('ERC20', OETH) +weth = load_contract('ERC20', WETH) +reth = load_contract('ERC20', RETH) +steth = load_contract('ERC20', STETH) +frxeth = load_contract('ERC20', FRXETH) +sfrxeth = load_contract('ERC20', SFRXETH) +oeth_vault_admin = load_contract('vault_admin', OETH_VAULT) +oeth_vault_core = load_contract('vault_core', OETH_VAULT) + CONTRACT_ADDRESSES = {} CONTRACT_ADDRESSES[VAULT_PROXY_ADDRESS.lower()] = {'name': 'Vault'} CONTRACT_ADDRESSES[HARVESTER.lower()] = {'name': 'Harvester'} @@ -124,6 +134,14 @@ def show_transfers(tx): def unlock(address): brownie.network.web3.provider.make_request('hardhat_impersonateAccount', [address]) +def fund_eth(address, balance): + brownie.network.web3.provider.make_request('hardhat_setBalance', [address, balance]) + + + +def mine_block(): + brownie.network.web3.provider.make_request('evm_mine', []) + def leading_whitespace(s, desired = 16): return ' ' * (desired-len(s)) + s diff --git a/contracts/node.sh b/contracts/node.sh index b79da6e80b..fe7c24a189 100755 --- a/contracts/node.sh +++ b/contracts/node.sh @@ -6,8 +6,15 @@ nodeWaitTimeout=1200 RED='\033[0;31m' NO_COLOR='\033[0m' + main() { + NETWORK_FILE="../dapp/network.json" + + if [[ $APP_ID == "oeth-dapp" ]]; then + NETWORK_FILE="../dapp-oeth/network.json"; + fi + rm -rf deployments/localhost if [[ $1 == "fork" ]] then @@ -34,7 +41,7 @@ main() 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=true npx --no-install hardhat node --no-reset --export '../dapp/network.json' ${params[@]} > $nodeOutput 2>&1 & + FORK=true npx --no-install hardhat node --no-reset --export ${NETWORK_FILE} ${params[@]} > $nodeOutput 2>&1 & tail -f $nodeOutput & @@ -63,7 +70,7 @@ main() else - npx --no-install hardhat node --export '../dapp/network.json' + npx --no-install hardhat node --export ${NETWORK_FILE} fi } diff --git a/contracts/package.json b/contracts/package.json index e86d473727..9e7366a01d 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -6,6 +6,8 @@ "scripts": { "deploy": "(npx hardhat deploy --export '../dapp/network.json') && yarn run copy-interface-artifacts", "deploy:mainnet": "(npx hardhat deploy --network mainnet --verbose --export '../dapp/network.mainnet.json') && yarn run copy-interface-artifacts", + "deploy:oeth": "(npx hardhat deploy --export '../dapp-oeth/network.json') && yarn run copy-interface-artifacts:oeth", + "deploy:oeth:mainnet": "(npx hardhat deploy --network mainnet --verbose --export '../dapp-oeth/network.mainnet.json') && yarn run copy-interface-artifacts", "node": "yarn run node:fork", "node:fork": "./node.sh fork", "lint": "yarn run lint:js && yarn run lint:sol", @@ -19,7 +21,8 @@ "test:fork": "./fork-test.sh", "test:fork:w_trace": "./fork-test.sh --trace", "fund": "FORK=true npx hardhat fund --network localhost", - "copy-interface-artifacts": "mkdir -p ../dapp/abis && cp artifacts/contracts/interfaces/IVault.sol/IVault.json ../dapp/abis/IVault.json && cp artifacts/contracts/liquidity/LiquidityReward.sol/LiquidityReward.json ../dapp/abis/LiquidityReward.json && cp artifacts/contracts/interfaces/uniswap/IUniswapV2Pair.sol/IUniswapV2Pair.json ../dapp/abis/IUniswapV2Pair.json && cp artifacts/contracts/staking/SingleAssetStaking.sol/SingleAssetStaking.json ../dapp/abis/SingleAssetStaking.json && cp artifacts/contracts/compensation/CompensationClaims.sol/CompensationClaims.json ../dapp/abis/CompensationClaims.json && cp artifacts/contracts/flipper/Flipper.sol/Flipper.json ../dapp/abis/Flipper.json && cp artifacts/contracts/flipper/Flipper.sol/Flipper.json ../dapp/abis/Flipper.json", + "copy-interface-artifacts": "mkdir -p ../dapp/abis && cp artifacts/contracts/interfaces/IVault.sol/IVault.json ../dapp/abis/IVault.json && cp artifacts/contracts/liquidity/LiquidityReward.sol/LiquidityReward.json ../dapp/abis/LiquidityReward.json && cp artifacts/contracts/interfaces/uniswap/IUniswapV2Pair.sol/IUniswapV2Pair.json ../dapp/abis/IUniswapV2Pair.json && cp artifacts/contracts/staking/SingleAssetStaking.sol/SingleAssetStaking.json ../dapp/abis/SingleAssetStaking.json && cp artifacts/contracts/compensation/CompensationClaims.sol/CompensationClaims.json ../dapp/abis/CompensationClaims.json && cp artifacts/contracts/flipper/Flipper.sol/Flipper.json ../dapp/abis/Flipper.json", + "copy-interface-artifacts:oeth": "mkdir -p ../dapp-oeth/abis && cp artifacts/contracts/interfaces/IVault.sol/IVault.json ../dapp-oeth/abis/IVault.json && cp artifacts/contracts/liquidity/LiquidityReward.sol/LiquidityReward.json ../dapp-oeth/abis/LiquidityReward.json && cp artifacts/contracts/interfaces/uniswap/IUniswapV2Pair.sol/IUniswapV2Pair.json ../dapp-oeth/abis/IUniswapV2Pair.json && cp artifacts/contracts/staking/SingleAssetStaking.sol/SingleAssetStaking.json ../dapp-oeth/abis/SingleAssetStaking.json && cp artifacts/contracts/compensation/CompensationClaims.sol/CompensationClaims.json ../dapp-oeth/abis/CompensationClaims.json && cp artifacts/contracts/vault/OETHZapper.sol/OETHZapper.json ../dapp-oeth/abis/OETHZapper.json", "echidna": "yarn run clean && echidna-test . --contract PropertiesOUSDTransferable --config contracts/crytic/TestOUSDTransferable.yaml", "compute-merkle-proofs-local": "HARDHAT_NETWORK=localhost node scripts/staking/airDrop.js reimbursements.csv scripts/staking/merkleProofedAccountsToBeCompensated.json && cp scripts/staking/merkleProofedAccountsToBeCompensated.json ../dapp/src/constants/merkleProofedAccountsToBeCompensated.json", "compute-merkle-proofs-mainnet": "HARDHAT_NETWORK=mainnet node scripts/staking/airDrop.js reimbursements.csv scripts/staking/merkleProofedAccountsToBeCompensated.json && cp scripts/staking/merkleProofedAccountsToBeCompensated.json ../dapp/src/constants/merkleProofedAccountsToBeCompensated.json", diff --git a/contracts/utils/addresses.js b/contracts/utils/addresses.js index c882c90fba..4e099d841a 100644 --- a/contracts/utils/addresses.js +++ b/contracts/utils/addresses.js @@ -152,6 +152,9 @@ addresses.mainnet.OldTimelock = "0x72426BA137DEC62657306b12B1E869d43FeC6eC7"; // OETH addresses.mainnet.OETHProxy = "0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3"; addresses.mainnet.WOETHProxy = "0xDcEe70654261AF21C44c093C300eD3Bb97b78192"; +addresses.mainnet.OETHVaultProxy = "0x39254033945aa2e4809cc2977e7087bee48bd7ab"; +addresses.mainnet.OETHZapper = "0x9858e47BCbBe6fBAC040519B02d7cd4B2C470C66" +addresses.mainnet.FraxETHStrategy = "0x3ff8654d633d4ea0fae24c52aec73b4a20d0d0e5" // Tokens addresses.mainnet.sfrxETH = "0xac3E018457B222d93114458476f3E3416Abbe38F"; diff --git a/dapp-oeth/.enum_manifest.json b/dapp-oeth/.enum_manifest.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/dapp-oeth/.enum_manifest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/dapp-oeth/.gitignore b/dapp-oeth/.gitignore new file mode 100644 index 0000000000..fa88086e10 --- /dev/null +++ b/dapp-oeth/.gitignore @@ -0,0 +1,59 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +local.env +.env.local +.env.development.local +.env.test.local +.env.production.local +prod.env +staging.env +deploy.env + +# vercel +.vercel +public/fonts + +abis/* +!abis/IERC20.json +!abis/UniswapV3Pool.json +!abis/UniswapV3NonfungiblePositionManager.json +!abis/UniswapV3SwapRouter.json +!abis/UniswapV3Quoter.json +!abis/ChainlinkAggregatorV3Interface.json +!abis/CurveAddressProvider.json +!abis/CurveRegistry.json +!abis/CurveRegistryExchange.json +!abis/UniswapV2Router.json +!abis/UniswapV3Factory.json +!abis/WOUSD.json +!abis/OETHZapper.json + +# if you use npm instead of yarn do not commit the lock file to git because it can break the Google App Engine build +package-lock.json + +.env \ No newline at end of file diff --git a/dapp-oeth/.source_strings.json b/dapp-oeth/.source_strings.json new file mode 100644 index 0000000000..4ed3676ba7 --- /dev/null +++ b/dapp-oeth/.source_strings.json @@ -0,0 +1,6109 @@ +{ + "phrases": [ + { + "hashToText": { + "WcCo8UZj5SDPWuDgesHpWg==": "Wrong network" + }, + "filepath": "src/components/_AccountStatusContent.js", + "line_beg": 37, + "col_beg": 21, + "line_end": 37, + "col_end": 58, + "desc": "Wrong network", + "project": "", + "type": "text", + "jsfbt": "Wrong network" + }, + { + "hashToText": { + "IdhhJ0d2zA4yEyB4W5XHCg==": "Connected to {network-name}" + }, + "filepath": "src/components/_AccountStatusContent.js", + "line_beg": 44, + "col_beg": 19, + "line_end": 48, + "col_end": 19, + "desc": "connected to", + "project": "", + "type": "text", + "jsfbt": "Connected to {network-name}" + }, + { + "hashToText": { + "Diy7gZiyGTc+UD6zu65HYg==": "Disconnect" + }, + "filepath": "src/components/_AccountStatusContent.js", + "line_beg": 107, + "col_beg": 15, + "line_end": 107, + "col_end": 46, + "desc": "Disconnect", + "project": "", + "type": "text", + "jsfbt": "Disconnect" + }, + { + "hashToText": { + "WcCo8UZj5SDPWuDgesHpWg==": "Wrong network" + }, + "filepath": "src/components/AccountStatusDropdown.js", + "line_beg": 67, + "col_beg": 17, + "line_end": 67, + "col_end": 54, + "desc": "Wrong network", + "project": "", + "type": "text", + "jsfbt": "Wrong network" + }, + { + "hashToText": { + "JIoGL/HB/T74tBJS6NjYqg==": "Analytics" + }, + "filepath": "src/components/AppFooter.js", + "line_beg": 32, + "col_beg": 19, + "line_end": 32, + "col_end": 53, + "desc": "Analytics link", + "project": "", + "type": "text", + "jsfbt": "Analytics" + }, + { + "hashToText": { + "ZKJ6z51Hsuk0BZsX2IIzRg==": "Jobs" + }, + "filepath": "src/components/AppFooter.js", + "line_beg": 45, + "col_beg": 19, + "line_end": 45, + "col_end": 43, + "desc": "Jobs link", + "project": "", + "type": "text", + "jsfbt": "Jobs" + }, + { + "hashToText": { + "+TO6TRYm6RvHP/m8wMm9fg==": "Docs" + }, + "filepath": "src/components/AppFooter.js", + "line_beg": 58, + "col_beg": 19, + "line_end": 58, + "col_end": 52, + "desc": "Documentation link", + "project": "", + "type": "text", + "jsfbt": "Docs" + }, + { + "hashToText": { + "4aA5JLxcqXtMEYuYs8g8Ig==": "Terms" + }, + "filepath": "src/components/AppFooter.js", + "line_beg": 71, + "col_beg": 19, + "line_end": 71, + "col_end": 45, + "desc": "Terms link", + "project": "", + "type": "text", + "jsfbt": "Terms" + }, + { + "hashToText": { + "Aqfsu/vSbb+ZJsU8YyURPA==": "Privacy" + }, + "filepath": "src/components/AppFooter.js", + "line_beg": 84, + "col_beg": 19, + "line_end": 84, + "col_end": 49, + "desc": "Privacy link", + "project": "", + "type": "text", + "jsfbt": "Privacy" + }, + { + "hashToText": { + "P4KQARUAf5mnYx8O/YdkGQ==": "Discord" + }, + "filepath": "src/components/AppFooter.js", + "line_beg": 97, + "col_beg": 19, + "line_end": 97, + "col_end": 49, + "desc": "Discord link", + "project": "", + "type": "text", + "jsfbt": "Discord" + }, + { + "hashToText": { + "NCtl3n1fGfj+JL/TW3ISGg==": "Built by Origin Protocol" + }, + "filepath": "src/components/AppFooter.js", + "line_beg": 116, + "col_beg": 17, + "line_end": 116, + "col_end": 76, + "desc": "Built by Origin Protocol", + "project": "", + "type": "text", + "jsfbt": "Built by Origin Protocol" + }, + { + "hashToText": { + "26qX7nj23TdUXEpRWfdGXg==": "Waiting for you to confirm..." + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 148, + "col_beg": 13, + "line_end": 151, + "col_end": 7, + "desc": "Waiting for you to confirm...", + "project": "", + "type": "text", + "jsfbt": "Waiting for you to confirm..." + }, + { + "hashToText": { + "EUElk3ZMLIfSJb+epR0kxg==": "Approving {waiting-network}..." + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 156, + "col_beg": 13, + "line_end": 161, + "col_end": 7, + "desc": "Approving contract", + "project": "", + "type": "text", + "jsfbt": "Approving {waiting-network}..." + }, + { + "hashToText": { + "g/45aWeINe11AWHUArWYhw==": "{approval-done} approved" + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 165, + "col_beg": 13, + "line_end": 168, + "col_end": 7, + "desc": "Contract approved", + "project": "", + "type": "text", + "jsfbt": "{approval-done} approved" + }, + { + "hashToText": { + "mBhM4xHY3SiimJZ0vctzww==": "Approve {route-mobile}" + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 179, + "col_beg": 12, + "line_end": 182, + "col_end": 13, + "desc": "Approve contract", + "project": "", + "type": "text", + "jsfbt": "Approve {route-mobile}" + }, + { + "hashToText": { + "P/fuVEAGgxx0Q2pGuINPsQ==": "Allow {route}" + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 183, + "col_beg": 12, + "line_end": 183, + "col_end": 73, + "desc": "Approve contract", + "project": "", + "type": "text", + "jsfbt": "Allow {route}" + }, + { + "hashToText": { + "+MvMfVSZ5pJ6xqeGYLM6Qg==": "Insufficient {coin} balance" + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 203, + "col_beg": 13, + "line_end": 206, + "col_end": 7, + "desc": "Insufficient balance", + "project": "", + "type": "text", + "jsfbt": "Insufficient {coin} balance" + }, + { + "hashToText": { + "Pl37T2Dk96p1ZpesSC+z1A==": "Route for selected swap not available" + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 208, + "col_beg": 13, + "line_end": 211, + "col_end": 7, + "desc": "No route available for selected swap", + "project": "", + "type": "text", + "jsfbt": "Route for selected swap not available" + }, + { + "hashToText": { + "bIRKYRZQz36Vbb4mmg5yqw==": "Wrap" + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 213, + "col_beg": 13, + "line_end": 213, + "col_end": 32, + "desc": "Wrap", + "project": "", + "type": "text", + "jsfbt": "Wrap" + }, + { + "hashToText": { + "UeUEKX8IP9JakGd3M5+0qQ==": "Unwrap" + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 215, + "col_beg": 13, + "line_end": 215, + "col_end": 36, + "desc": "Unwrap", + "project": "", + "type": "text", + "jsfbt": "Unwrap" + }, + { + "hashToText": { + "6Wtugp8tAPPTk/MbwqdOtA==": "Swap" + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 217, + "col_beg": 13, + "line_end": 217, + "col_end": 32, + "desc": "Swap", + "project": "", + "type": "text", + "jsfbt": "Swap" + }, + { + "hashToText": { + "noaN3c4TofuYztLpySAv5Q==": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?" + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 277, + "col_beg": 23, + "line_end": 284, + "col_end": 11, + "desc": "Confirm approval", + "project": "", + "type": "text", + "jsfbt": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?" + }, + { + "hashToText": { + "zczaUg9l/0BMFtE4pXK8mw==": "No" + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 295, + "col_beg": 26, + "line_end": 295, + "col_end": 50, + "desc": "Not confirm", + "project": "", + "type": "text", + "jsfbt": "No" + }, + { + "hashToText": { + "ShDAK+Er5LrkDWwGzOv4tw==": "Go ahead" + }, + "filepath": "src/components/buySell/ApproveSwap.js", + "line_beg": 296, + "col_beg": 26, + "line_end": 296, + "col_end": 58, + "desc": "Yes, Go ahead", + "project": "", + "type": "text", + "jsfbt": "Go ahead" + }, + { + "hashToText": { + "Pn/puwCebcKEtHY+PGZooQ==": "Trailing APY" + }, + "filepath": "src/components/buySell/BalanceHeader.js", + "line_beg": 306, + "col_beg": 23, + "line_end": 306, + "col_end": 58, + "desc": "Trailing APY", + "project": "", + "type": "text", + "jsfbt": "Trailing APY" + }, + { + "hashToText": { + "wmU0CuWrCI5lWvUJFccpHA==": "Balance" + }, + "filepath": "src/components/buySell/BalanceHeader.js", + "line_beg": 321, + "col_beg": 21, + "line_end": 321, + "col_end": 51, + "desc": "OUSD Balance", + "project": "", + "type": "text", + "jsfbt": "Balance" + }, + { + "hashToText": { + "l9AuSh9cgYP+/V+O35ymDg==": "Pending yield" + }, + "filepath": "src/components/buySell/BalanceHeader.js", + "line_beg": 331, + "col_beg": 21, + "line_end": 331, + "col_end": 58, + "desc": "Pending yield", + "project": "", + "type": "text", + "jsfbt": "Pending yield" + }, + { + "hashToText": { + "e4n5jJpp3QL+VY1uLtnqvA==": "Lifetime earnings" + }, + "filepath": "src/components/buySell/BalanceHeader.js", + "line_beg": 341, + "col_beg": 21, + "line_end": 344, + "col_end": 15, + "desc": "Lifetime OUSD balance header earnings", + "project": "", + "type": "text", + "jsfbt": "Lifetime earnings" + }, + { + "hashToText": { + "Ahv514gwUx25dg3Q161dng==": "Confirm" + }, + "filepath": "src/components/buySell/ConfirmationModal.js", + "line_beg": 22, + "col_beg": 17, + "line_end": 22, + "col_end": 42, + "desc": "Confirm", + "project": "", + "type": "text", + "jsfbt": "Confirm" + }, + { + "hashToText": { + "ihZ9yGlpMJOyDwpf5uUHvA==": "Flipper" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 26, + "col_beg": 12, + "line_end": 26, + "col_end": 52, + "desc": "Contract Table Flipper", + "project": "", + "type": "text", + "jsfbt": "Flipper" + }, + { + "hashToText": { + "/glmb9Q0WuvQcin2s/IDtQ==": "Origin Vault" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 29, + "col_beg": 12, + "line_end": 29, + "col_end": 62, + "desc": "Contract Table Origin Vault", + "project": "", + "type": "text", + "jsfbt": "Origin Vault" + }, + { + "hashToText": { + "KROROmj9/qdntc8hoFmg3A==": "Uniswap V3" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 32, + "col_beg": 12, + "line_end": 32, + "col_end": 58, + "desc": "Contract Table Uniswap V3", + "project": "", + "type": "text", + "jsfbt": "Uniswap V3" + }, + { + "hashToText": { + "nZ9W0E2gfCUZZfKkPT3j4w==": "Curve" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 35, + "col_beg": 12, + "line_end": 35, + "col_end": 48, + "desc": "Contract Table Curve", + "project": "", + "type": "text", + "jsfbt": "Curve" + }, + { + "hashToText": { + "ehjv49wOsoB5qwuEIfcLog==": "Uniswap V2" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 38, + "col_beg": 12, + "line_end": 38, + "col_end": 58, + "desc": "Contract Table Uniswap V2", + "project": "", + "type": "text", + "jsfbt": "Uniswap V2" + }, + { + "hashToText": { + "modG7h22qU40/crg4c6IMw==": "SushiSwap" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 41, + "col_beg": 12, + "line_end": 41, + "col_end": 56, + "desc": "Contract Table SushiSwap", + "project": "", + "type": "text", + "jsfbt": "SushiSwap" + }, + { + "hashToText": { + "uxkjQ+M+A9ajqcwigfsySw==": "Unsupported" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 46, + "col_beg": 17, + "line_end": 46, + "col_end": 68, + "desc": "Swap estimations: unsupported", + "project": "", + "type": "text", + "jsfbt": "Unsupported" + }, + { + "hashToText": { + "EmSYOnM0usNEhbLto7nCbA==": "Error" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 47, + "col_beg": 22, + "line_end": 47, + "col_end": 72, + "desc": "Swap estimations: unexpected_error", + "project": "", + "type": "text", + "jsfbt": "Error" + }, + { + "hashToText": { + "fHVvRRspNC3MnTxYNbGyrA==": "Amount too high" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 48, + "col_beg": 31, + "line_end": 51, + "col_end": 5, + "desc": "Swap estimations: amount too high", + "project": "", + "type": "text", + "jsfbt": "Amount too high" + }, + { + "hashToText": { + "Iy10ahBB0b3A5W8G24Zgsg==": "Insufficient balance" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 52, + "col_beg": 27, + "line_end": 55, + "col_end": 5, + "desc": "Swap estimations: user does not have enough funds", + "project": "", + "type": "text", + "jsfbt": "Insufficient balance" + }, + { + "hashToText": { + "fHVvRRspNC3MnTxYNbGyrA==": "Amount too high" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 56, + "col_beg": 21, + "line_end": 59, + "col_end": 5, + "desc": "Swap estimations: amount too high", + "project": "", + "type": "text", + "jsfbt": "Amount too high" + }, + { + "hashToText": { + "Jfx75e3C1KS0yvG6tLQUXA==": "Slippage too high" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 60, + "col_beg": 23, + "line_end": 63, + "col_end": 5, + "desc": "Swap estimations: slippage too high", + "project": "", + "type": "text", + "jsfbt": "Slippage too high" + }, + { + "hashToText": { + "4ccDZH60xY0XIwrrKhfn8g==": "Liquidity error" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 64, + "col_beg": 21, + "line_end": 67, + "col_end": 5, + "desc": "Swap estimations: liquidity error", + "project": "", + "type": "text", + "jsfbt": "Liquidity error" + }, + { + "hashToText": { + "BnBOgh1lA2nD6lIngYmNPA==": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}." + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 170, + "col_beg": 14, + "line_end": 191, + "col_end": 15, + "desc": "Selected vs best estimation comparison", + "project": "", + "type": "text", + "jsfbt": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}." + }, + { + "hashToText": { + "5ewem6UU9Yi2o+1PL8Rkcw==": "Are you sure you want to override best transaction route?" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 193, + "col_beg": 14, + "line_end": 196, + "col_end": 15, + "desc": "transaction route override prompt", + "project": "", + "type": "text", + "jsfbt": "Are you sure you want to override best transaction route?" + }, + { + "hashToText": { + "zczaUg9l/0BMFtE4pXK8mw==": "No" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 198, + "col_beg": 28, + "line_end": 198, + "col_end": 52, + "desc": "Not confirm", + "project": "", + "type": "text", + "jsfbt": "No" + }, + { + "hashToText": { + "mm99y2/glDAdzzInLJzy+Q==": "Yes" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 199, + "col_beg": 28, + "line_end": 199, + "col_end": 51, + "desc": "I confirm", + "project": "", + "type": "text", + "jsfbt": "Yes" + }, + { + "hashToText": { + "t8jl1ApzPk8ClCxbSD/nXg==": "Best price will be displayed here" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 206, + "col_beg": 16, + "line_end": 209, + "col_end": 17, + "desc": "Best price displayed transaction table", + "project": "", + "type": "text", + "jsfbt": "Best price will be displayed here" + }, + { + "hashToText": { + "TCMkMTHoGPnWkc7vsSFTVw==": "Finding you the best price..." + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 211, + "col_beg": 16, + "line_end": 214, + "col_end": 17, + "desc": "Finding the best price for your transaction", + "project": "", + "type": "text", + "jsfbt": "Finding you the best price..." + }, + { + "hashToText": { + "pwGBSmAg3x8ESXQWEeFJJg==": "Best price for your transaction" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 217, + "col_beg": 16, + "line_end": 220, + "col_end": 17, + "desc": "Contracts table best price for transaction", + "project": "", + "type": "text", + "jsfbt": "Best price for your transaction" + }, + { + "hashToText": { + "zlXASASPeYAvHFn6fz+nZg==": "Exchange" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 240, + "col_beg": 15, + "line_end": 240, + "col_end": 62, + "desc": "Contract Table Exchange Name", + "project": "", + "type": "text", + "jsfbt": "Exchange" + }, + { + "hashToText": { + "PC0JyQO8WyfflRHJx0oVUA==": "Est. received" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 243, + "col_beg": 15, + "line_end": 243, + "col_end": 67, + "desc": "Contract Table Est. received", + "project": "", + "type": "text", + "jsfbt": "Est. received" + }, + { + "hashToText": { + "Z/Zl+u6e101QR3kBXXpN/A==": "Gas estimate" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 246, + "col_beg": 15, + "line_end": 246, + "col_end": 65, + "desc": "Contract Table Gas estimate", + "project": "", + "type": "text", + "jsfbt": "Gas estimate" + }, + { + "hashToText": { + "IB6JU2oZJANgM0AkimPDYA==": "Effective Price" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 249, + "col_beg": 15, + "line_end": 249, + "col_end": 71, + "desc": "Contract Table Effective Price", + "project": "", + "type": "text", + "jsfbt": "Effective Price" + }, + { + "hashToText": { + "4SSjn7FC2jadaTItiWHxrQ==": "Diff." + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 252, + "col_beg": 15, + "line_end": 252, + "col_end": 50, + "desc": "Contract Table Diff", + "project": "", + "type": "text", + "jsfbt": "Diff." + }, + { + "hashToText": { + "iMg/+UPP5+f6ht/QzWYB4g==": "Loading ..." + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 270, + "col_beg": 23, + "line_end": 270, + "col_end": 73, + "desc": "Swap estimations: loading...", + "project": "", + "type": "text", + "jsfbt": "Loading ..." + }, + { + "hashToText": { + "N/abckRuh8KMwusAlBsSHg==": "Best" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 277, + "col_beg": 25, + "line_end": 277, + "col_end": 65, + "desc": "Swap estimations best one", + "project": "", + "type": "text", + "jsfbt": "Best" + }, + { + "hashToText": { + "vEOCINV7Oaar8o1EfUmpeg==": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 336, + "col_beg": 27, + "line_end": 345, + "col_end": 25, + "desc": "Swap & approve transaction gas estimation", + "project": "", + "type": "text", + "jsfbt": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})" + }, + { + "hashToText": { + "jW0kiEJlI2MRql2nK4a6Rw==": "Show less" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 383, + "col_beg": 16, + "line_end": 383, + "col_end": 62, + "desc": "Show less contracts button", + "project": "", + "type": "text", + "jsfbt": "Show less" + }, + { + "hashToText": { + "833yLhdWVu4DmsW+kAvTwQ==": "Show more" + }, + "filepath": "src/components/buySell/ContractsTable.js", + "line_beg": 384, + "col_beg": 16, + "line_end": 384, + "col_end": 62, + "desc": "Show more contracts button", + "project": "", + "type": "text", + "jsfbt": "Show more" + }, + { + "hashToText": { + "l9xaLk1b8Wi9dLE/QGoTIQ==": "Refresh" + }, + "filepath": "src/components/buySell/ErrorModal.js", + "line_beg": 59, + "col_beg": 19, + "line_end": 59, + "col_end": 44, + "desc": "Refresh", + "project": "", + "type": "text", + "jsfbt": "Refresh" + }, + { + "hashToText": { + "6Dpt685iCUVAguocl2UuvA==": "Price tolerance" + }, + "filepath": "src/components/buySell/SettingsDropdown.js", + "line_beg": 28, + "col_beg": 17, + "line_end": 28, + "col_end": 66, + "desc": "price tolerance setting", + "project": "", + "type": "text", + "jsfbt": "Price tolerance" + }, + { + "hashToText": { + "l2QMSAZx3R8U5D2RHG4sGg==": "Gas price" + }, + "filepath": "src/components/buySell/SettingsDropdown.js", + "line_beg": 71, + "col_beg": 17, + "line_end": 71, + "col_end": 54, + "desc": "Gas price setting", + "project": "", + "type": "text", + "jsfbt": "Gas price" + }, + { + "hashToText": { + "MTB4PpSB2v3de1UsOqea2Q==": "Balance: {coin-balance}" + }, + "filepath": "src/components/buySell/SwapCurrencyPill.js", + "line_beg": 418, + "col_beg": 21, + "line_end": 422, + "col_end": 21, + "desc": "Coin balance", + "project": "", + "type": "text", + "jsfbt": "Balance: {coin-balance}" + }, + { + "hashToText": { + "fES3GBi1++HL5QV2C3a2Hw==": "Max" + }, + "filepath": "src/components/buySell/SwapCurrencyPill.js", + "line_beg": 430, + "col_beg": 21, + "line_end": 430, + "col_end": 62, + "desc": "Set maximum currency amount", + "project": "", + "type": "text", + "jsfbt": "Max" + }, + { + "hashToText": { + "aRsfjrA11c57FkghYYhU6g==": "Loading..." + }, + "filepath": "src/components/buySell/SwapCurrencyPill.js", + "line_beg": 455, + "col_beg": 34, + "line_end": 455, + "col_end": 71, + "desc": "Swaps Loading...", + "project": "", + "type": "text", + "jsfbt": "Loading..." + }, + { + "hashToText": { + "PYuqiie7crwry5Moxak/wQ==": "Min. received: {ousd-amount} OUSD" + }, + "filepath": "src/components/buySell/SwapCurrencyPill.js", + "line_beg": 461, + "col_beg": 20, + "line_end": 469, + "col_end": 21, + "desc": "Min OUSD amount received", + "project": "", + "type": "text", + "jsfbt": "Min. received: {ousd-amount} OUSD" + }, + { + "hashToText": { + "ZwGA1T6BPQqDEj4bIAzm+Q==": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"" + }, + "filepath": "src/components/buySell/SwapHomepage.js", + "line_beg": 169, + "col_beg": 23, + "line_end": 172, + "col_end": 7, + "desc": "Enable contract data", + "project": "", + "type": "text", + "jsfbt": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"" + }, + { + "hashToText": { + "YXUJGIxlO8D951QrvZjOfw==": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened." + }, + "filepath": "src/components/buySell/SwapHomepage.js", + "line_beg": 180, + "col_beg": 23, + "line_end": 183, + "col_end": 7, + "desc": "See ledger connected", + "project": "", + "type": "text", + "jsfbt": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened." + }, + { + "hashToText": { + "BqckdzYyZx1aTi4wZKARXQ==": "Claim & Stake OGN" + }, + "filepath": "src/components/ClaimStakeModal.js", + "line_beg": 48, + "col_beg": 19, + "line_end": 48, + "col_end": 64, + "desc": "Claim & Stake OGN", + "project": "", + "type": "text", + "jsfbt": "Claim & Stake OGN" + }, + { + "hashToText": { + "ByhWi/6mGqv18LtTx0qU/A==": "Earn more OGN by selecting a staking option below" + }, + "filepath": "src/components/ClaimStakeModal.js", + "line_beg": 57, + "col_beg": 17, + "line_end": 60, + "col_end": 17, + "desc": "Earn more OGN by selecting a staking option below", + "project": "", + "type": "text", + "jsfbt": "Earn more OGN by selecting a staking option below" + }, + { + "hashToText": { + "Vkz4TbNaJPemqAVEcdhqmw==": "days" + }, + "filepath": "src/components/ClaimStakeModal.js", + "line_beg": 79, + "col_beg": 52, + "line_end": 79, + "col_end": 71, + "desc": "days", + "project": "", + "type": "text", + "jsfbt": "days" + }, + { + "hashToText": { + "ECK1xGyYrrFz1ncpxO/cEg==": "Annualized Yield" + }, + "filepath": "src/components/ClaimStakeModal.js", + "line_beg": 81, + "col_beg": 24, + "line_end": 81, + "col_end": 67, + "desc": "Annualized Yield", + "project": "", + "type": "text", + "jsfbt": "Annualized Yield" + }, + { + "hashToText": { + "w31302dtTJoebn4BZnQ30Q==": "Unexpected error happened when claiming and staking" + }, + "filepath": "src/components/ClaimStakeModal.js", + "line_beg": 125, + "col_beg": 22, + "line_end": 128, + "col_end": 23, + "desc": "Claim and stake error", + "project": "", + "type": "text", + "jsfbt": "Unexpected error happened when claiming and staking" + }, + { + "hashToText": { + "BqckdzYyZx1aTi4wZKARXQ==": "Claim & Stake OGN" + }, + "filepath": "src/components/ClaimStakeModal.js", + "line_beg": 136, + "col_beg": 18, + "line_end": 136, + "col_end": 63, + "desc": "Claim & Stake OGN", + "project": "", + "type": "text", + "jsfbt": "Claim & Stake OGN" + }, + { + "hashToText": { + "Z6+iQXkSaIwx+voW/GzDfA==": "Start earning with OUSD in just a few minutes" + }, + "filepath": "src/components/Closing.js", + "line_beg": 10, + "col_beg": 9, + "line_end": 13, + "col_end": 9, + "desc": "Start earning with OUSD in just a few minutes", + "project": "", + "type": "text", + "jsfbt": "Start earning with OUSD in just a few minutes" + }, + { + "hashToText": { + "Vkz4TbNaJPemqAVEcdhqmw==": "days" + }, + "filepath": "src/components/earn/CurrentStakeLockup.js", + "line_beg": 29, + "col_beg": 14, + "line_end": 29, + "col_end": 33, + "desc": "days", + "project": "", + "type": "text", + "jsfbt": "days" + }, + { + "hashToText": { + "FEQkjXH9EgWLgA1HbimrvQ==": "Unlocked" + }, + "filepath": "src/components/earn/CurrentStakeLockup.js", + "line_beg": 33, + "col_beg": 15, + "line_end": 33, + "col_end": 42, + "desc": "Unlocked", + "project": "", + "type": "text", + "jsfbt": "Unlocked" + }, + { + "hashToText": { + "Xar/1cAxuWGEONy2GvSZ9w==": "Principal" + }, + "filepath": "src/components/earn/CurrentStakeLockup.js", + "line_beg": 51, + "col_beg": 39, + "line_end": 51, + "col_end": 68, + "desc": "Principal", + "project": "", + "type": "text", + "jsfbt": "Principal" + }, + { + "hashToText": { + "QGsMDzlmL9bvaVwdGB2B2g==": "Interest" + }, + "filepath": "src/components/earn/CurrentStakeLockup.js", + "line_beg": 54, + "col_beg": 39, + "line_end": 54, + "col_end": 66, + "desc": "Interest", + "project": "", + "type": "text", + "jsfbt": "Interest" + }, + { + "hashToText": { + "eQJSEMpc7qYST+JmG0cIbg==": "Total" + }, + "filepath": "src/components/earn/CurrentStakeLockup.js", + "line_beg": 59, + "col_beg": 39, + "line_end": 59, + "col_end": 60, + "desc": "Total", + "project": "", + "type": "text", + "jsfbt": "Total" + }, + { + "hashToText": { + "Xar/1cAxuWGEONy2GvSZ9w==": "Principal" + }, + "filepath": "src/components/earn/CurrentStakeLockup.js", + "line_beg": 67, + "col_beg": 40, + "line_end": 67, + "col_end": 69, + "desc": "Principal", + "project": "", + "type": "text", + "jsfbt": "Principal" + }, + { + "hashToText": { + "QGsMDzlmL9bvaVwdGB2B2g==": "Interest" + }, + "filepath": "src/components/earn/CurrentStakeLockup.js", + "line_beg": 71, + "col_beg": 40, + "line_end": 71, + "col_end": 67, + "desc": "Interest", + "project": "", + "type": "text", + "jsfbt": "Interest" + }, + { + "hashToText": { + "eQJSEMpc7qYST+JmG0cIbg==": "Total" + }, + "filepath": "src/components/earn/CurrentStakeLockup.js", + "line_beg": 77, + "col_beg": 40, + "line_end": 77, + "col_end": 61, + "desc": "Total", + "project": "", + "type": "text", + "jsfbt": "Total" + }, + { + "hashToText": { + "3w5LEMYsV8pvUvpS1ZpXqA==": "Earn OGN and CRV rewards by providing liquidity on Curve" + }, + "filepath": "src/components/earn/CurveStake.js", + "line_beg": 212, + "col_beg": 15, + "line_end": 215, + "col_end": 15, + "desc": "Earn OGN curve title", + "project": "", + "type": "text", + "jsfbt": "Earn OGN and CRV rewards by providing liquidity on Curve" + }, + { + "hashToText": { + "rOhATTfzMHBC/WqaJZzhFQ==": "Total APY" + }, + "filepath": "src/components/earn/CurveStake.js", + "line_beg": 219, + "col_beg": 40, + "line_end": 219, + "col_end": 69, + "desc": "Total APY", + "project": "", + "type": "text", + "jsfbt": "Total APY" + }, + { + "hashToText": { + "4YieqBEhAxAXmQKY6RuCjA==": "Base APY" + }, + "filepath": "src/components/earn/CurveStake.js", + "line_beg": 232, + "col_beg": 44, + "line_end": 232, + "col_end": 71, + "desc": "Base APY", + "project": "", + "type": "text", + "jsfbt": "Base APY" + }, + { + "hashToText": { + "Uy1k8MIJrO+1HL5aVT5K2Q==": "CRV APY" + }, + "filepath": "src/components/earn/CurveStake.js", + "line_beg": 240, + "col_beg": 44, + "line_end": 240, + "col_end": 69, + "desc": "CRV APY", + "project": "", + "type": "text", + "jsfbt": "CRV APY" + }, + { + "hashToText": { + "LhCXmFrexAeFQz1Ju2ngqQ==": "OGN APY" + }, + "filepath": "src/components/earn/CurveStake.js", + "line_beg": 251, + "col_beg": 44, + "line_end": 251, + "col_end": 69, + "desc": "OGN APY", + "project": "", + "type": "text", + "jsfbt": "OGN APY" + }, + { + "hashToText": { + "wnfiuVKHrDmjwVQqXDkC+Q==": "Powered by" + }, + "filepath": "src/components/earn/CurveStake.js", + "line_beg": 263, + "col_beg": 17, + "line_end": 263, + "col_end": 48, + "desc": "Powered by", + "project": "", + "type": "text", + "jsfbt": "Powered by" + }, + { + "hashToText": { + "O2EVjrtWZtKs1SIjhCsvsA==": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool" + }, + "filepath": "src/components/earn/CurveStake.js", + "line_beg": 274, + "col_beg": 17, + "line_end": 277, + "col_end": 17, + "desc": "Provide OUSD + USDT/USDC/DAI liquidity to the Curve OUSD pool", + "project": "", + "type": "text", + "jsfbt": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool" + }, + { + "hashToText": { + "vQrN9wYYJF+pXdhFkQ6GgA==": "Click “Deposit & stake in gauge”" + }, + "filepath": "src/components/earn/CurveStake.js", + "line_beg": 285, + "col_beg": 17, + "line_end": 288, + "col_end": 17, + "desc": "Click “Deposit & stake in gauge”", + "project": "", + "type": "text", + "jsfbt": "Click “Deposit & stake in gauge”" + }, + { + "hashToText": { + "QtUYicFEOYk/x0aHd+ZdPQ==": "Add Liquidity" + }, + "filepath": "src/components/earn/CurveStake.js", + "line_beg": 301, + "col_beg": 17, + "line_end": 301, + "col_end": 61, + "desc": "Add Liquidity Button", + "project": "", + "type": "text", + "jsfbt": "Add Liquidity" + }, + { + "hashToText": { + "3GieL91hC89yjmF7P/8UJg==": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards" + }, + "filepath": "src/components/earn/CurveStake.js", + "line_beg": 309, + "col_beg": 17, + "line_end": 312, + "col_end": 17, + "desc": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "project": "", + "type": "text", + "jsfbt": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards" + }, + { + "hashToText": { + "CY6yCLJ1N5Ds0KpibKxRhA==": "Claim Rewards" + }, + "filepath": "src/components/earn/CurveStake.js", + "line_beg": 325, + "col_beg": 17, + "line_end": 325, + "col_end": 61, + "desc": "Claim Rewards Button", + "project": "", + "type": "text", + "jsfbt": "Claim Rewards" + }, + { + "hashToText": { + "zGLruVUmG3B8z6S0+6i8HA==": "Deposit" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 73, + "col_beg": 27, + "line_end": 73, + "col_end": 52, + "desc": "Deposit", + "project": "", + "type": "text", + "jsfbt": "Deposit" + }, + { + "hashToText": { + "yaVYJgD2ENuVAkTzxplvkQ==": "Deposit LP tokens" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 74, + "col_beg": 35, + "line_end": 77, + "col_end": 11, + "desc": "Deposit LP tokens", + "project": "", + "type": "text", + "jsfbt": "Deposit LP tokens" + }, + { + "hashToText": { + "yC3zxe/PuU6Qp6lxsuWd8A==": "Approve & deposit" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 78, + "col_beg": 30, + "line_end": 78, + "col_end": 75, + "desc": "Approve & deposit", + "project": "", + "type": "text", + "jsfbt": "Approve & deposit" + }, + { + "hashToText": { + "Yjgm2qR58UHm2rW3UVJLdg==": "Permission to use {LP token name}" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 82, + "col_beg": 37, + "line_end": 85, + "col_end": 11, + "desc": "Permission to use Liquidity Pool token", + "project": "", + "type": "text", + "jsfbt": "Permission to use {LP token name}" + }, + { + "hashToText": { + "C5lNgOlEoJ6HPYP557OC8w==": "Your LP tokens will remain staked" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 109, + "col_beg": 20, + "line_end": 112, + "col_end": 11, + "desc": "Your LP tokens will remain staked", + "project": "", + "type": "text", + "jsfbt": "Your LP tokens will remain staked" + }, + { + "hashToText": { + "u0HFxoCN3/mD5Ot/ImPHdA==": "Available LP tokens" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 139, + "col_beg": 17, + "line_end": 139, + "col_end": 66, + "desc": "Available LP tokens", + "project": "", + "type": "text", + "jsfbt": "Available LP tokens" + }, + { + "hashToText": { + "YB3V368YI+Wb1hO8I7bUIA==": "Deposited LP tokens" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 145, + "col_beg": 17, + "line_end": 145, + "col_end": 66, + "desc": "Deposited LP tokens", + "project": "", + "type": "text", + "jsfbt": "Deposited LP tokens" + }, + { + "hashToText": { + "zGLruVUmG3B8z6S0+6i8HA==": "Deposit" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 159, + "col_beg": 39, + "line_end": 159, + "col_end": 64, + "desc": "Deposit", + "project": "", + "type": "text", + "jsfbt": "Deposit" + }, + { + "hashToText": { + "2goCMoy69ARZSLk1PjdVqQ==": "Withdraw" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 171, + "col_beg": 41, + "line_end": 171, + "col_end": 68, + "desc": "Withdraw", + "project": "", + "type": "text", + "jsfbt": "Withdraw" + }, + { + "hashToText": { + "Q0ikEb5jNx6ix0GeCgq2EA==": "When you withdraw, your OGN is claimed automatically" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 186, + "col_beg": 16, + "line_end": 189, + "col_end": 17, + "desc": "Withdraw information message", + "project": "", + "type": "text", + "jsfbt": "When you withdraw, your OGN is claimed automatically" + }, + { + "hashToText": { + "bBKbdhmzfPsXtDYPU8dBvw==": "Unclaimed OGN" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 201, + "col_beg": 17, + "line_end": 201, + "col_end": 54, + "desc": "Unclaimed OGN", + "project": "", + "type": "text", + "jsfbt": "Unclaimed OGN" + }, + { + "hashToText": { + "Zh0HtQH0gD5C3yCbf3EwYA==": "Your rate: {weekly-rate} OGN/week" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 212, + "col_beg": 15, + "line_end": 220, + "col_end": 15, + "desc": "user's weekly rate", + "project": "", + "type": "text", + "jsfbt": "Your rate: {weekly-rate} OGN/week" + }, + { + "hashToText": { + "znjTy43fq6lEG6J6b7dNRA==": "Claim" + }, + "filepath": "src/components/earn/LiquidityMiningWidget.js", + "line_beg": 230, + "col_beg": 39, + "line_end": 230, + "col_end": 60, + "desc": "Claim", + "project": "", + "type": "text", + "jsfbt": "Claim" + }, + { + "hashToText": { + "kTrVsgOZj0HruBL+H+nWfQ==": "How to Earn OGN by Providing Liquidity to OUSD" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 60, + "col_beg": 13, + "line_end": 63, + "col_end": 13, + "desc": "wizzard helper title", + "project": "", + "type": "text", + "jsfbt": "How to Earn OGN by Providing Liquidity to OUSD" + }, + { + "hashToText": { + "THcDCDhI+nmjP+kzJSwDNg==": "Purchase OUSD" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 79, + "col_beg": 20, + "line_end": 79, + "col_end": 57, + "desc": "Purchase OUSD", + "project": "", + "type": "text", + "jsfbt": "Purchase OUSD" + }, + { + "hashToText": { + "iVekSyiuMuJ5cZODxk7Tyg==": "Provide liquidity" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 94, + "col_beg": 20, + "line_end": 94, + "col_end": 65, + "desc": "Provide liquidity", + "project": "", + "type": "text", + "jsfbt": "Provide liquidity" + }, + { + "hashToText": { + "h8TB8IPIM9yfmbPUChpXnQ==": "Deposit to earn OGN" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 109, + "col_beg": 20, + "line_end": 109, + "col_end": 69, + "desc": "Deposit to earn OGN", + "project": "", + "type": "text", + "jsfbt": "Deposit to earn OGN" + }, + { + "hashToText": { + "bgW02lGxcvAKpC6dRqoEXA==": "Loading..." + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 118, + "col_beg": 19, + "line_end": 118, + "col_end": 50, + "desc": "Loading...", + "project": "", + "type": "text", + "jsfbt": "Loading..." + }, + { + "hashToText": { + "TY+jLnrPwPej7CJtbmLrBQ==": "Get OUSD by minting it or buying it on an exchange" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 128, + "col_beg": 17, + "line_end": 131, + "col_end": 17, + "desc": "Wizard purchase OUSD text", + "project": "", + "type": "text", + "jsfbt": "Get OUSD by minting it or buying it on an exchange" + }, + { + "hashToText": { + "315VxsUcgT3vNUAXWeDV5A==": "Swap OUSD" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 134, + "col_beg": 46, + "line_end": 134, + "col_end": 75, + "desc": "Swap OUSD", + "project": "", + "type": "text", + "jsfbt": "Swap OUSD" + }, + { + "hashToText": { + "bZ5fEkum7VwTLD6eFBQPXQ==": "Provide {pool name} liquidity on Uniswap" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 145, + "col_beg": 17, + "line_end": 150, + "col_end": 17, + "desc": "Provide liquidity header", + "project": "", + "type": "text", + "jsfbt": "Provide {pool name} liquidity on Uniswap" + }, + { + "hashToText": { + "jclHJd6qsQ7kBwbiiFtPew==": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity." + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 153, + "col_beg": 17, + "line_end": 156, + "col_end": 17, + "desc": "Uniswap step subtitle", + "project": "", + "type": "text", + "jsfbt": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity." + }, + { + "hashToText": { + "KuycFZMW4TpZ18nj5HMQvQ==": "Learn more" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 159, + "col_beg": 17, + "line_end": 159, + "col_end": 48, + "desc": "Learn more", + "project": "", + "type": "text", + "jsfbt": "Learn more" + }, + { + "hashToText": { + "qvSVGEmmCeoC9h0Ki3mcXQ==": "Visit Uniswap" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 165, + "col_beg": 17, + "line_end": 165, + "col_end": 54, + "desc": "Visit Uniswap", + "project": "", + "type": "text", + "jsfbt": "Visit Uniswap" + }, + { + "hashToText": { + "c2dh5qCh0WXXuMY90h4VYA==": "Deposit your LP tokens and start earning OGN" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 176, + "col_beg": 17, + "line_end": 179, + "col_end": 17, + "desc": "Wizard deposit LP tokens text", + "project": "", + "type": "text", + "jsfbt": "Deposit your LP tokens and start earning OGN" + }, + { + "hashToText": { + "KLgSrj8qjZVViHKyDD3THA==": "Take me there" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 188, + "col_beg": 17, + "line_end": 188, + "col_end": 54, + "desc": "Take me there", + "project": "", + "type": "text", + "jsfbt": "Take me there" + }, + { + "hashToText": { + "EUPeFpUnOo/lClKDFSAFkw==": "Pool Contract" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 196, + "col_beg": 16, + "line_end": 196, + "col_end": 53, + "desc": "Pool Contract", + "project": "", + "type": "text", + "jsfbt": "Pool Contract" + }, + { + "hashToText": { + "8oxKkut1xF/ib2GbB0v29g==": "Rewards Contract" + }, + "filepath": "src/components/earn/LiquidityWizard.js", + "line_beg": 202, + "col_beg": 16, + "line_end": 202, + "col_end": 59, + "desc": "Rewards Contract", + "project": "", + "type": "text", + "jsfbt": "Rewards Contract" + }, + { + "hashToText": { + "5kZmWYL4rf8xFhrGGrFbIw==": "Current Staking Reward" + }, + "filepath": "src/components/earn/modal/ApyModal.js", + "line_beg": 17, + "col_beg": 17, + "line_end": 17, + "col_end": 72, + "desc": "Current Staking Reward", + "project": "", + "type": "text", + "jsfbt": "Current Staking Reward" + }, + { + "hashToText": { + "NTyaLPfQAYrZ6g+rycMRNg==": "Liquidity Provider Fees" + }, + "filepath": "src/components/earn/modal/ApyModal.js", + "line_beg": 23, + "col_beg": 17, + "line_end": 23, + "col_end": 74, + "desc": "Liquidity Provider Fees", + "project": "", + "type": "text", + "jsfbt": "Liquidity Provider Fees" + }, + { + "hashToText": { + "/ydgWHcxPisPomCh6My/fw==": "Projected Performance Bonus" + }, + "filepath": "src/components/earn/modal/ApyModal.js", + "line_beg": 29, + "col_beg": 17, + "line_end": 32, + "col_end": 17, + "desc": "Projected Performance Bonus", + "project": "", + "type": "text", + "jsfbt": "Projected Performance Bonus" + }, + { + "hashToText": { + "PFkthYimB3a4oHMQWQ3EwQ==": "{pool name} pool APY" + }, + "filepath": "src/components/earn/modal/ApyModal.js", + "line_beg": 38, + "col_beg": 15, + "line_end": 41, + "col_end": 9, + "desc": "Apy of pool with name", + "project": "", + "type": "text", + "jsfbt": "{pool name} pool APY" + }, + { + "hashToText": { + "znjTy43fq6lEG6J6b7dNRA==": "Claim" + }, + "filepath": "src/components/earn/modal/ClaimModal.js", + "line_beg": 29, + "col_beg": 16, + "line_end": 29, + "col_end": 37, + "desc": "Claim", + "project": "", + "type": "text", + "jsfbt": "Claim" + }, + { + "hashToText": { + "bBKbdhmzfPsXtDYPU8dBvw==": "Unclaimed OGN" + }, + "filepath": "src/components/earn/modal/ClaimModal.js", + "line_beg": 68, + "col_beg": 17, + "line_end": 68, + "col_end": 54, + "desc": "Unclaimed OGN", + "project": "", + "type": "text", + "jsfbt": "Unclaimed OGN" + }, + { + "hashToText": { + "2UAfjZBYlg9yBL7+A6LZeA==": "Claim OGN" + }, + "filepath": "src/components/earn/modal/ClaimModal.js", + "line_beg": 74, + "col_beg": 15, + "line_end": 74, + "col_end": 44, + "desc": "Claim OGN", + "project": "", + "type": "text", + "jsfbt": "Claim OGN" + }, + { + "hashToText": { + "CRwaz6/kZ7N41HDUiYYVgg==": "Please confirm your transaction…" + }, + "filepath": "src/components/earn/modal/ClaimModal.js", + "line_beg": 85, + "col_beg": 19, + "line_end": 88, + "col_end": 19, + "desc": "Confirm your transaction", + "project": "", + "type": "text", + "jsfbt": "Please confirm your transaction…" + }, + { + "hashToText": { + "8vTmJYjMsgXnxa23IqCCmA==": "Earning" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 14, + "col_beg": 13, + "line_end": 14, + "col_end": 38, + "desc": "Earning", + "project": "", + "type": "text", + "jsfbt": "Earning" + }, + { + "hashToText": { + "BOrmLTYtSYXjbh4bPJ9hwQ==": "Complete" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 15, + "col_beg": 14, + "line_end": 15, + "col_end": 41, + "desc": "Complete", + "project": "", + "type": "text", + "jsfbt": "Complete" + }, + { + "hashToText": { + "FEQkjXH9EgWLgA1HbimrvQ==": "Unlocked" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 16, + "col_beg": 14, + "line_end": 16, + "col_end": 41, + "desc": "Unlocked", + "project": "", + "type": "text", + "jsfbt": "Unlocked" + }, + { + "hashToText": { + "i1Rj61ajQIb9USZ8PvahNQ==": "{Stake rate}% - {Duration in days} days" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 45, + "col_beg": 17, + "line_end": 54, + "col_end": 17, + "desc": "Selected duration and staking rate", + "project": "", + "type": "text", + "jsfbt": "{Stake rate}% - {Duration in days} days" + }, + { + "hashToText": { + "Z6DbBNMhp0t+f8/T8aP3Cw==": "Status" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 57, + "col_beg": 41, + "line_end": 57, + "col_end": 64, + "desc": "Status", + "project": "", + "type": "text", + "jsfbt": "Status" + }, + { + "hashToText": { + "MgN8Xh6eptzssHv+yEjD9w==": "Lock-up Date" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 67, + "col_beg": 20, + "line_end": 67, + "col_end": 55, + "desc": "Lock-up Date", + "project": "", + "type": "text", + "jsfbt": "Lock-up Date" + }, + { + "hashToText": { + "Nre7oY82Lt9JiazDfksZ3w==": "Maturity Date" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 71, + "col_beg": 20, + "line_end": 71, + "col_end": 57, + "desc": "Maturity Date", + "project": "", + "type": "text", + "jsfbt": "Maturity Date" + }, + { + "hashToText": { + "gxj0oQKWjO0EqyuWt93JHw==": "Duration" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 75, + "col_beg": 20, + "line_end": 75, + "col_end": 47, + "desc": "Duration", + "project": "", + "type": "text", + "jsfbt": "Duration" + }, + { + "hashToText": { + "RYgWuwQRT5c3rpX+Xhyk5g==": "{days} days" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 77, + "col_beg": 17, + "line_end": 80, + "col_end": 17, + "desc": "stake duration", + "project": "", + "type": "text", + "jsfbt": "{days} days" + }, + { + "hashToText": { + "y+F1r5TbENFOfdtiUX+QwQ==": "Interest Rate" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 84, + "col_beg": 20, + "line_end": 84, + "col_end": 57, + "desc": "Interest Rate", + "project": "", + "type": "text", + "jsfbt": "Interest Rate" + }, + { + "hashToText": { + "Xar/1cAxuWGEONy2GvSZ9w==": "Principal" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 89, + "col_beg": 20, + "line_end": 89, + "col_end": 49, + "desc": "Principal", + "project": "", + "type": "text", + "jsfbt": "Principal" + }, + { + "hashToText": { + "Xvbic0ZahNNyCZM9Vg6GXA==": "Total Interest Accrued" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 96, + "col_beg": 21, + "line_end": 96, + "col_end": 76, + "desc": "Total Interest Accrued", + "project": "", + "type": "text", + "jsfbt": "Total Interest Accrued" + }, + { + "hashToText": { + "bjX+k+TlZvw7nVdvA87kSA==": "Interest Accrued" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 105, + "col_beg": 24, + "line_end": 105, + "col_end": 67, + "desc": "Interest Accrued", + "project": "", + "type": "text", + "jsfbt": "Interest Accrued" + }, + { + "hashToText": { + "KwTm8rp8u6NaAan17uz8Xw==": "Total to date" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 109, + "col_beg": 24, + "line_end": 109, + "col_end": 61, + "desc": "Total to date", + "project": "", + "type": "text", + "jsfbt": "Total to date" + }, + { + "hashToText": { + "AoDM/iIiQHyBTlBwUNiKCQ==": "Interest Remaning" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 113, + "col_beg": 24, + "line_end": 113, + "col_end": 69, + "desc": "Interest Remaning", + "project": "", + "type": "text", + "jsfbt": "Interest Remaning" + }, + { + "hashToText": { + "VUTWo2PjZZTQzv00wOJqNA==": "Maturity Amount" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 120, + "col_beg": 20, + "line_end": 120, + "col_end": 61, + "desc": "Maturity Amount", + "project": "", + "type": "text", + "jsfbt": "Maturity Amount" + }, + { + "hashToText": { + "xvvcZbHRvkucLhlYczXTSg==": "Deposit Transaction" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 129, + "col_beg": 26, + "line_end": 129, + "col_end": 75, + "desc": "Deposit Transaction", + "project": "", + "type": "text", + "jsfbt": "Deposit Transaction" + }, + { + "hashToText": { + "PVZLNFNkr7QXkCf/qwrRxw==": "Withdrawal Transaction" + }, + "filepath": "src/components/earn/modal/StakeDetailsModal.js", + "line_beg": 137, + "col_beg": 26, + "line_end": 140, + "col_end": 21, + "desc": "Withdrawal Transaction", + "project": "", + "type": "text", + "jsfbt": "Withdrawal Transaction" + }, + { + "hashToText": { + "U6OsR/YH3uL8/3AVJddOKg==": "Insufficient OGN balance" + }, + "filepath": "src/components/earn/modal/StakeModal.js", + "line_beg": 166, + "col_beg": 8, + "line_end": 166, + "col_end": 67, + "desc": "Insufficient OGN balance", + "project": "", + "type": "text", + "jsfbt": "Insufficient OGN balance" + }, + { + "hashToText": { + "lp0kyLAALhQ2vqlVM3eaVw==": "Amount to lock up" + }, + "filepath": "src/components/earn/modal/StakeModal.js", + "line_beg": 196, + "col_beg": 26, + "line_end": 196, + "col_end": 71, + "desc": "Amount to lock up", + "project": "", + "type": "text", + "jsfbt": "Amount to lock up" + }, + { + "hashToText": { + "azvagd8cejwaLq4GGWrmNg==": "Available: {tokens-amount}" + }, + "filepath": "src/components/earn/modal/StakeModal.js", + "line_beg": 208, + "col_beg": 23, + "line_end": 215, + "col_end": 23, + "desc": "Available tokens to deposit", + "project": "", + "type": "text", + "jsfbt": "Available: {tokens-amount}" + }, + { + "hashToText": { + "KiCKB5d4QB7yCGUFgtVsbA==": "Max" + }, + "filepath": "src/components/earn/modal/StakeModal.js", + "line_beg": 256, + "col_beg": 25, + "line_end": 256, + "col_end": 60, + "desc": "Max tokens to deposit", + "project": "", + "type": "text", + "jsfbt": "Max" + }, + { + "hashToText": { + "2PcJsak8Lrcl4t5YOeJAQg==": "Approve" + }, + "filepath": "src/components/earn/modal/StakeModal.js", + "line_beg": 305, + "col_beg": 19, + "line_end": 305, + "col_end": 44, + "desc": "Approve", + "project": "", + "type": "text", + "jsfbt": "Approve" + }, + { + "hashToText": { + "cN7T6KO4Y+joUycewSdlEw==": "Waiting for you to confirm…" + }, + "filepath": "src/components/earn/modal/StakeModal.js", + "line_beg": 313, + "col_beg": 19, + "line_end": 316, + "col_end": 19, + "desc": "Waiting for you to confirm…", + "project": "", + "type": "text", + "jsfbt": "Waiting for you to confirm…" + }, + { + "hashToText": { + "R9d9wEZhl9NkxhrHI5CnhA==": "Approving {LP token name}..." + }, + "filepath": "src/components/earn/modal/StakeModal.js", + "line_beg": 327, + "col_beg": 19, + "line_end": 332, + "col_end": 19, + "desc": "Approving the token for contract usage", + "project": "", + "type": "text", + "jsfbt": "Approving {LP token name}..." + }, + { + "hashToText": { + "lUrWpWkLie9zufJRFTioDw==": "{Token to be approved name} approved" + }, + "filepath": "src/components/earn/modal/StakeModal.js", + "line_beg": 345, + "col_beg": 19, + "line_end": 351, + "col_end": 19, + "desc": "Token is approved", + "project": "", + "type": "text", + "jsfbt": "{Token to be approved name} approved" + }, + { + "hashToText": { + "CRwaz6/kZ7N41HDUiYYVgg==": "Please confirm your transaction…" + }, + "filepath": "src/components/earn/modal/StakeModal.js", + "line_beg": 374, + "col_beg": 19, + "line_end": 377, + "col_end": 19, + "desc": "Confirm your transaction", + "project": "", + "type": "text", + "jsfbt": "Please confirm your transaction…" + }, + { + "hashToText": { + "2goCMoy69ARZSLk1PjdVqQ==": "Withdraw" + }, + "filepath": "src/components/earn/modal/UnstakeModal.js", + "line_beg": 22, + "col_beg": 16, + "line_end": 22, + "col_end": 43, + "desc": "Withdraw", + "project": "", + "type": "text", + "jsfbt": "Withdraw" + }, + { + "hashToText": { + "YB3V368YI+Wb1hO8I7bUIA==": "Deposited LP tokens" + }, + "filepath": "src/components/earn/modal/UnstakeModal.js", + "line_beg": 60, + "col_beg": 17, + "line_end": 60, + "col_end": 66, + "desc": "Deposited LP tokens", + "project": "", + "type": "text", + "jsfbt": "Deposited LP tokens" + }, + { + "hashToText": { + "bBKbdhmzfPsXtDYPU8dBvw==": "Unclaimed OGN" + }, + "filepath": "src/components/earn/modal/UnstakeModal.js", + "line_beg": 72, + "col_beg": 17, + "line_end": 72, + "col_end": 54, + "desc": "Unclaimed OGN", + "project": "", + "type": "text", + "jsfbt": "Unclaimed OGN" + }, + { + "hashToText": { + "kknmD/EzxwpECyYx71GfRQ==": "When you withdraw, your OGN is claimed automatically" + }, + "filepath": "src/components/earn/modal/UnstakeModal.js", + "line_beg": 76, + "col_beg": 15, + "line_end": 79, + "col_end": 15, + "desc": "Withdraw modal message", + "project": "", + "type": "text", + "jsfbt": "When you withdraw, your OGN is claimed automatically" + }, + { + "hashToText": { + "qSrM6azIiG9OZRHB5Cvy7Q==": "Unstake LP tokens" + }, + "filepath": "src/components/earn/modal/UnstakeModal.js", + "line_beg": 83, + "col_beg": 15, + "line_end": 83, + "col_end": 60, + "desc": "Unstake LP tokens", + "project": "", + "type": "text", + "jsfbt": "Unstake LP tokens" + }, + { + "hashToText": { + "CRwaz6/kZ7N41HDUiYYVgg==": "Please confirm your transaction…" + }, + "filepath": "src/components/earn/modal/UnstakeModal.js", + "line_beg": 94, + "col_beg": 19, + "line_end": 97, + "col_end": 19, + "desc": "Confirm your transaction", + "project": "", + "type": "text", + "jsfbt": "Please confirm your transaction…" + }, + { + "hashToText": { + "fSsPuGupF49pJQQ/fQ+igw==": "Price" + }, + "filepath": "src/components/earn/OgnDropdown.js", + "line_beg": 61, + "col_beg": 41, + "line_end": 61, + "col_end": 62, + "desc": "Price", + "project": "", + "type": "text", + "jsfbt": "Price" + }, + { + "hashToText": { + "5ToblxRX8SlwyYhjLpcGwQ==": "Circulating Supply" + }, + "filepath": "src/components/earn/OgnDropdown.js", + "line_beg": 66, + "col_beg": 21, + "line_end": 66, + "col_end": 68, + "desc": "Circulating Supply", + "project": "", + "type": "text", + "jsfbt": "Circulating Supply" + }, + { + "hashToText": { + "jceXw/qrBbnlhv72Y+4OGQ==": "Market Cap" + }, + "filepath": "src/components/earn/OgnDropdown.js", + "line_beg": 73, + "col_beg": 41, + "line_end": 73, + "col_end": 72, + "desc": "Market Cap", + "project": "", + "type": "text", + "jsfbt": "Market Cap" + }, + { + "hashToText": { + "5xf5suS89/PXkDmZ87vtzw==": "Visit OGN Dashboard" + }, + "filepath": "src/components/earn/OgnDropdown.js", + "line_beg": 82, + "col_beg": 19, + "line_end": 82, + "col_end": 68, + "desc": "Visit OGN Dashboard", + "project": "", + "type": "text", + "jsfbt": "Visit OGN Dashboard" + }, + { + "hashToText": { + "Q5dX7lLJCFsJxPi6Xv6PpQ==": "Visit OUSD Dashboard" + }, + "filepath": "src/components/earn/OusdDropdown.js", + "line_beg": 52, + "col_beg": 17, + "line_end": 52, + "col_end": 68, + "desc": "Visit OUSD Dashboard", + "project": "", + "type": "text", + "jsfbt": "Visit OUSD Dashboard" + }, + { + "hashToText": { + "rensU92ZY0qplxkHqVm5gg==": "Approximate APY" + }, + "filepath": "src/components/earn/Pool.js", + "line_beg": 63, + "col_beg": 17, + "line_end": 63, + "col_end": 58, + "desc": "Approximate APY", + "project": "", + "type": "text", + "jsfbt": "Approximate APY" + }, + { + "hashToText": { + "3faob/kbCaSHZiO6rsE1IQ==": "LP token deposits" + }, + "filepath": "src/components/earn/Pool.js", + "line_beg": 69, + "col_beg": 17, + "line_end": 69, + "col_end": 62, + "desc": "LP token deposits", + "project": "", + "type": "text", + "jsfbt": "LP token deposits" + }, + { + "hashToText": { + "vNZqLpgL1WXzxTSV19kKBw==": "Pool rate" + }, + "filepath": "src/components/earn/Pool.js", + "line_beg": 74, + "col_beg": 39, + "line_end": 74, + "col_end": 68, + "desc": "Pool rate", + "project": "", + "type": "text", + "jsfbt": "Pool rate" + }, + { + "hashToText": { + "cxd5n5CzCJgzcZ26wPo4EA==": "OGN/week" + }, + "filepath": "src/components/earn/Pool.js", + "line_beg": 76, + "col_beg": 39, + "line_end": 76, + "col_end": 66, + "desc": "OGN/week", + "project": "", + "type": "text", + "jsfbt": "OGN/week" + }, + { + "hashToText": { + "T1iTRlNZT5H6lgYfb5yTpg==": "Your weekly rate" + }, + "filepath": "src/components/earn/Pool.js", + "line_beg": 88, + "col_beg": 23, + "line_end": 88, + "col_end": 66, + "desc": "Your weekly rate", + "project": "", + "type": "text", + "jsfbt": "Your weekly rate" + }, + { + "hashToText": { + "yklW7xO6EL1XPq3ZB340sg==": "/ week" + }, + "filepath": "src/components/earn/Pool.js", + "line_beg": 98, + "col_beg": 46, + "line_end": 98, + "col_end": 69, + "desc": "/ week", + "project": "", + "type": "text", + "jsfbt": "/ week" + }, + { + "hashToText": { + "ML3ODjGF949qBuVTEcE1uA==": "Eligible LP Tokens" + }, + "filepath": "src/components/earn/Pool.js", + "line_beg": 104, + "col_beg": 19, + "line_end": 104, + "col_end": 66, + "desc": "Eligible LP Tokens", + "project": "", + "type": "text", + "jsfbt": "Eligible LP Tokens" + }, + { + "hashToText": { + "MWoasznJIhTLdHVtLBaCWw==": "All pools" + }, + "filepath": "src/components/earn/PoolDetails.js", + "line_beg": 48, + "col_beg": 43, + "line_end": 48, + "col_end": 72, + "desc": "All pools", + "project": "", + "type": "text", + "jsfbt": "All pools" + }, + { + "hashToText": { + "rensU92ZY0qplxkHqVm5gg==": "Approximate APY" + }, + "filepath": "src/components/earn/PoolDetails.js", + "line_beg": 59, + "col_beg": 13, + "line_end": 59, + "col_end": 54, + "desc": "Approximate APY", + "project": "", + "type": "text", + "jsfbt": "Approximate APY" + }, + { + "hashToText": { + "3faob/kbCaSHZiO6rsE1IQ==": "LP token deposits" + }, + "filepath": "src/components/earn/PoolDetails.js", + "line_beg": 75, + "col_beg": 13, + "line_end": 75, + "col_end": 58, + "desc": "LP token deposits", + "project": "", + "type": "text", + "jsfbt": "LP token deposits" + }, + { + "hashToText": { + "/wbnPidTuAqi29dvNGMcKg==": "Pool rate (per week)" + }, + "filepath": "src/components/earn/PoolDetails.js", + "line_beg": 100, + "col_beg": 13, + "line_end": 100, + "col_end": 64, + "desc": "Pool rate (per week)", + "project": "", + "type": "text", + "jsfbt": "Pool rate (per week)" + }, + { + "hashToText": { + "frG4FdaSBuJo3q8VGl5lvw==": "Your position" + }, + "filepath": "src/components/earn/PoolDetails.js", + "line_beg": 122, + "col_beg": 9, + "line_end": 122, + "col_end": 46, + "desc": "Your position", + "project": "", + "type": "text", + "jsfbt": "Your position" + }, + { + "hashToText": { + "gzeYaUW1BaGH0TTgq+JOqg==": "LP token: {token name}" + }, + "filepath": "src/components/earn/PoolDetails.js", + "line_beg": 124, + "col_beg": 11, + "line_end": 127, + "col_end": 11, + "desc": "LP token", + "project": "", + "type": "text", + "jsfbt": "LP token: {token name}" + }, + { + "hashToText": { + "DdGPx4Udcyzn2Clvvtb69w==": "Start by connecting your wallet" + }, + "filepath": "src/components/earn/PoolDetails.js", + "line_beg": 138, + "col_beg": 13, + "line_end": 141, + "col_end": 13, + "desc": "Connect wallet pool details screen", + "project": "", + "type": "text", + "jsfbt": "Start by connecting your wallet" + }, + { + "hashToText": { + "VZi4m7chtizDbN1eiVLGSQ==": "{reward boost amount}x rewards!" + }, + "filepath": "src/components/earn/RewardsBoost.js", + "line_beg": 10, + "col_beg": 11, + "line_end": 13, + "col_end": 11, + "desc": "rewards boost label", + "project": "", + "type": "text", + "jsfbt": "{reward boost amount}x rewards!" + }, + { + "hashToText": { + "Vkz4TbNaJPemqAVEcdhqmw==": "days" + }, + "filepath": "src/components/earn/StakeBoxBig.js", + "line_beg": 35, + "col_beg": 26, + "line_end": 35, + "col_end": 45, + "desc": "days", + "project": "", + "type": "text", + "jsfbt": "days" + }, + { + "hashToText": { + "ECK1xGyYrrFz1ncpxO/cEg==": "Annualized Yield" + }, + "filepath": "src/components/earn/StakeBoxBig.js", + "line_beg": 40, + "col_beg": 11, + "line_end": 40, + "col_end": 54, + "desc": "Annualized Yield", + "project": "", + "type": "text", + "jsfbt": "Annualized Yield" + }, + { + "hashToText": { + "kdQGKae8JdfbfTqYASpYJw==": "Claimable OGN:" + }, + "filepath": "src/components/earn/StakeDetailEquation.js", + "line_beg": 29, + "col_beg": 16, + "line_end": 29, + "col_end": 54, + "desc": "Claimable OGN", + "project": "", + "type": "text", + "jsfbt": "Claimable OGN:" + }, + { + "hashToText": { + "Xar/1cAxuWGEONy2GvSZ9w==": "Principal" + }, + "filepath": "src/components/earn/StakeDetailEquation.js", + "line_beg": 30, + "col_beg": 16, + "line_end": 30, + "col_end": 45, + "desc": "Principal", + "project": "", + "type": "text", + "jsfbt": "Principal" + }, + { + "hashToText": { + "sMVKaWnYjoho/9jlnGvY7Q==": "Staking Bonus:" + }, + "filepath": "src/components/earn/StakeDetailEquation.js", + "line_beg": 40, + "col_beg": 16, + "line_end": 40, + "col_end": 54, + "desc": "Staking Bonus", + "project": "", + "type": "text", + "jsfbt": "Staking Bonus:" + }, + { + "hashToText": { + "QGsMDzlmL9bvaVwdGB2B2g==": "Interest" + }, + "filepath": "src/components/earn/StakeDetailEquation.js", + "line_beg": 41, + "col_beg": 16, + "line_end": 41, + "col_end": 43, + "desc": "Interest", + "project": "", + "type": "text", + "jsfbt": "Interest" + }, + { + "hashToText": { + "GS5cSwDLxC/Ngyc0tspDpg==": "Total after {duration in days}" + }, + "filepath": "src/components/earn/StakeDetailEquation.js", + "line_beg": 50, + "col_beg": 13, + "line_end": 53, + "col_end": 13, + "desc": "Total amount with duration", + "project": "", + "type": "text", + "jsfbt": "Total after {duration in days}" + }, + { + "hashToText": { + "Ja7aPcCa1KvQNuaU7YpseQ==": "Staking contract has insufficient OGN funds" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 155, + "col_beg": 13, + "line_end": 158, + "col_end": 7, + "desc": "Insufficient funds error message", + "project": "", + "type": "text", + "jsfbt": "Staking contract has insufficient OGN funds" + }, + { + "hashToText": { + "mqiZuWuSLr2UyosWX8OIkQ==": "All of the stakes are still in lock-up" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 160, + "col_beg": 13, + "line_end": 163, + "col_end": 7, + "desc": "All stakes in lock up error message", + "project": "", + "type": "text", + "jsfbt": "All of the stakes are still in lock-up" + }, + { + "hashToText": { + "pY82n5spe/3I/OM4d+ZzXA==": "Please enable Contract data on the Ethereum app Settings" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 169, + "col_beg": 13, + "line_end": 172, + "col_end": 7, + "desc": "Enable contract data error message", + "project": "", + "type": "text", + "jsfbt": "Please enable Contract data on the Ethereum app Settings" + }, + { + "hashToText": { + "hJXGdt15bzWdEvB/2hTm7g==": "Unexpected error happened" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 175, + "col_beg": 13, + "line_end": 175, + "col_end": 74, + "desc": "Unexpected error happened", + "project": "", + "type": "text", + "jsfbt": "Unexpected error happened" + }, + { + "hashToText": { + "7f8zdj7rFQGDcGWluBintg==": "Stake now" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 252, + "col_beg": 29, + "line_end": 252, + "col_end": 58, + "desc": "Stake now", + "project": "", + "type": "text", + "jsfbt": "Stake now" + }, + { + "hashToText": { + "i1Rj61ajQIb9USZ8PvahNQ==": "{Stake rate}% - {Duration in days} days" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 253, + "col_beg": 37, + "line_end": 262, + "col_end": 13, + "desc": "Selected duration and staking rate", + "project": "", + "type": "text", + "jsfbt": "{Stake rate}% - {Duration in days} days" + }, + { + "hashToText": { + "tbFURCSAkaXGtfr/CTvhMg==": "Approve & stake" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 263, + "col_beg": 32, + "line_end": 263, + "col_end": 73, + "desc": "Approve & stake", + "project": "", + "type": "text", + "jsfbt": "Approve & stake" + }, + { + "hashToText": { + "seafpF42f9vVOqloItCU1g==": "Permission to use OGN token" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 282, + "col_beg": 39, + "line_end": 285, + "col_end": 13, + "desc": "Permission to use OGN token", + "project": "", + "type": "text", + "jsfbt": "Permission to use OGN token" + }, + { + "hashToText": { + "jak3ZhmYLRKDmQcz9rV6rw==": "Show OGN Staking" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 370, + "col_beg": 18, + "line_end": 370, + "col_end": 68, + "desc": "Show OGN Staking Button", + "project": "", + "type": "text", + "jsfbt": "Show OGN Staking" + }, + { + "hashToText": { + "MZvxeFcP3m66vBF5BQuKcw==": "Hide OGN Staking" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 371, + "col_beg": 18, + "line_end": 371, + "col_end": 68, + "desc": "Hide OGN Staking Button", + "project": "", + "type": "text", + "jsfbt": "Hide OGN Staking" + }, + { + "hashToText": { + "bgW02lGxcvAKpC6dRqoEXA==": "Loading..." + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 378, + "col_beg": 19, + "line_end": 378, + "col_end": 50, + "desc": "Loading...", + "project": "", + "type": "text", + "jsfbt": "Loading..." + }, + { + "hashToText": { + "cYM8Y049oCbegIQ3wq81nQ==": "Get started with staking by selecting a lock-up period" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 394, + "col_beg": 23, + "line_end": 397, + "col_end": 23, + "desc": "Empty stakes title", + "project": "", + "type": "text", + "jsfbt": "Get started with staking by selecting a lock-up period" + }, + { + "hashToText": { + "fh+j1qCrXenLXEjwvd/3+A==": "You will be able to claim your OGN principal plus interest at the end of the staking period." + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 400, + "col_beg": 23, + "line_end": 403, + "col_end": 23, + "desc": "Empty stakes message", + "project": "", + "type": "text", + "jsfbt": "You will be able to claim your OGN principal plus interest at the end of the staking period." + }, + { + "hashToText": { + "u+MRhcc9U0Oo1CkMu7kN+Q==": "Available Lock-ups" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 415, + "col_beg": 21, + "line_end": 415, + "col_end": 68, + "desc": "Available Lock-ups", + "project": "", + "type": "text", + "jsfbt": "Available Lock-ups" + }, + { + "hashToText": { + "raM3Q68VYpvuHQsk67Idqg==": "Current Lock-ups" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 453, + "col_beg": 21, + "line_end": 453, + "col_end": 64, + "desc": "Current Lock-ups", + "project": "", + "type": "text", + "jsfbt": "Current Lock-ups" + }, + { + "hashToText": { + "2UAfjZBYlg9yBL7+A6LZeA==": "Claim OGN" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 483, + "col_beg": 45, + "line_end": 483, + "col_end": 74, + "desc": "Claim OGN", + "project": "", + "type": "text", + "jsfbt": "Claim OGN" + }, + { + "hashToText": { + "Wp+1TZv3Lw8VgB7mj0T3rw==": "Previous Lock-ups" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 494, + "col_beg": 21, + "line_end": 494, + "col_end": 66, + "desc": "Previous Lock-ups", + "project": "", + "type": "text", + "jsfbt": "Previous Lock-ups" + }, + { + "hashToText": { + "9P0P4XMVPbRtREZEbIGB4w==": "APY" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 499, + "col_beg": 29, + "line_end": 499, + "col_end": 46, + "desc": "APY", + "project": "", + "type": "text", + "jsfbt": "APY" + }, + { + "hashToText": { + "gxj0oQKWjO0EqyuWt93JHw==": "Duration" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 502, + "col_beg": 33, + "line_end": 502, + "col_end": 60, + "desc": "Duration", + "project": "", + "type": "text", + "jsfbt": "Duration" + }, + { + "hashToText": { + "9B48+0Fs+T7/bS6sRa2gnA==": "Maturity" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 503, + "col_beg": 33, + "line_end": 503, + "col_end": 60, + "desc": "Maturity", + "project": "", + "type": "text", + "jsfbt": "Maturity" + }, + { + "hashToText": { + "Xar/1cAxuWGEONy2GvSZ9w==": "Principal" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 504, + "col_beg": 33, + "line_end": 504, + "col_end": 62, + "desc": "Principal", + "project": "", + "type": "text", + "jsfbt": "Principal" + }, + { + "hashToText": { + "QGsMDzlmL9bvaVwdGB2B2g==": "Interest" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 507, + "col_beg": 29, + "line_end": 507, + "col_end": 56, + "desc": "Interest", + "project": "", + "type": "text", + "jsfbt": "Interest" + }, + { + "hashToText": { + "eQJSEMpc7qYST+JmG0cIbg==": "Total" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 508, + "col_beg": 29, + "line_end": 508, + "col_end": 50, + "desc": "Total", + "project": "", + "type": "text", + "jsfbt": "Total" + }, + { + "hashToText": { + "dlayp+iYV9hyJzZj+6KoWA==": "{number_of_days} days" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 526, + "col_beg": 35, + "line_end": 532, + "col_end": 35, + "desc": "duration in days", + "project": "", + "type": "text", + "jsfbt": "{number_of_days} days" + }, + { + "hashToText": { + "I3G/1PVPgqCVNsRFHaXMmw==": "OGN Staking Contract" + }, + "filepath": "src/components/earn/StakeUI.js", + "line_beg": 574, + "col_beg": 26, + "line_end": 574, + "col_end": 77, + "desc": "OGN Staking Contract", + "project": "", + "type": "text", + "jsfbt": "OGN Staking Contract" + }, + { + "hashToText": { + "LkOzgBh7Ybe7V2IVpd6ncw==": "Uniswap pool" + }, + "filepath": "src/components/earn/UniswapPoolLink.js", + "line_beg": 22, + "col_beg": 9, + "line_end": 22, + "col_end": 49, + "desc": "Uniswap pool link", + "project": "", + "type": "text", + "jsfbt": "Uniswap pool" + }, + { + "hashToText": { + "0CTVdYRqTG0QZuDVrJMaSw==": "You're already registered!" + }, + "filepath": "src/components/EmailForm.js", + "line_beg": 46, + "col_beg": 18, + "line_end": 49, + "col_end": 19, + "desc": "Email Subscription already registered", + "project": "", + "type": "text", + "jsfbt": "You're already registered!" + }, + { + "hashToText": { + "OmjT3gJp6qSmTAnkmFoKNg==": "Thanks for signing up!" + }, + "filepath": "src/components/EmailForm.js", + "line_beg": 53, + "col_beg": 18, + "line_end": 53, + "col_end": 77, + "desc": "Email Subscription success", + "project": "", + "type": "text", + "jsfbt": "Thanks for signing up!" + }, + { + "hashToText": { + "OY8S/EJYimXOo9VL377omw==": "Error subscribing you to the email list" + }, + "filepath": "src/components/EmailForm.js", + "line_beg": 58, + "col_beg": 16, + "line_end": 61, + "col_end": 17, + "desc": "ErrorEmailSubscription", + "project": "", + "type": "text", + "jsfbt": "Error subscribing you to the email list" + }, + { + "hashToText": { + "OY8S/EJYimXOo9VL377omw==": "Error subscribing you to the email list" + }, + "filepath": "src/components/EmailForm.js", + "line_beg": 66, + "col_beg": 14, + "line_end": 69, + "col_end": 15, + "desc": "ErrorEmailSubscription", + "project": "", + "type": "text", + "jsfbt": "Error subscribing you to the email list" + }, + { + "hashToText": { + "Dxj2PKtjp7QoC8h98/4dXA==": "Get OUSD" + }, + "filepath": "src/components/GetOUSD.js", + "line_beg": 78, + "col_beg": 21, + "line_end": 78, + "col_end": 55, + "desc": "Get OUSD button", + "project": "", + "type": "text", + "jsfbt": "Get OUSD" + }, + { + "hashToText": { + "FlxCfeeMnWS7wYOBjAt7IQ==": "Connect" + }, + "filepath": "src/components/GetOUSD.js", + "line_beg": 79, + "col_beg": 20, + "line_end": 79, + "col_end": 52, + "desc": "Connect button", + "project": "", + "type": "text", + "jsfbt": "Connect" + }, + { + "hashToText": { + "wf1W3BJgRHs2RVqy4yYOLQ==": "View on IPFS" + }, + "filepath": "src/components/IPFSDappLink.js", + "line_beg": 29, + "col_beg": 11, + "line_end": 29, + "col_end": 46, + "desc": "View on IPFS", + "project": "", + "type": "text", + "jsfbt": "View on IPFS" + }, + { + "hashToText": { + "apkwbcs2uWvzYiMYFAESvQ==": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield." + }, + "filepath": "src/components/layout.js", + "line_beg": 108, + "col_beg": 11, + "line_end": 111, + "col_end": 11, + "desc": "Rebase opt in notice", + "project": "", + "type": "text", + "jsfbt": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield." + }, + { + "hashToText": { + "V48KoIVfMokM7GVN1NcF4w==": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap." + }, + "filepath": "src/components/layout.js", + "line_beg": 135, + "col_beg": 11, + "line_end": 138, + "col_end": 11, + "desc": "Uniswap notice", + "project": "", + "type": "text", + "jsfbt": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap." + }, + { + "hashToText": { + "p1Jnhomc45+Avg5dfdfn9Q==": "Unlock your Ledger wallet and open the Ethereum application" + }, + "filepath": "src/components/LedgerDerivationContent.js", + "line_beg": 49, + "col_beg": 13, + "line_end": 52, + "col_end": 7, + "desc": "Unlock ledger", + "project": "", + "type": "text", + "jsfbt": "Unlock your Ledger wallet and open the Ethereum application" + }, + { + "hashToText": { + "/AKRFqh/omITNyWT5E9NDw==": "Unexpected error occurred. Please refresh page and try again." + }, + "filepath": "src/components/LedgerDerivationContent.js", + "line_beg": 54, + "col_beg": 13, + "line_end": 57, + "col_end": 7, + "desc": "Unexpected login error", + "project": "", + "type": "text", + "jsfbt": "Unexpected error occurred. Please refresh page and try again." + }, + { + "hashToText": { + "1F9kJRMfLq00LM1s2e9mfw==": "Select a Ledger derivation path" + }, + "filepath": "src/components/LedgerDerivationContent.js", + "line_beg": 209, + "col_beg": 11, + "line_end": 212, + "col_end": 11, + "desc": "Select a Ledger derivation path", + "project": "", + "type": "text", + "jsfbt": "Select a Ledger derivation path" + }, + { + "hashToText": { + "JIoGL/HB/T74tBJS6NjYqg==": "Analytics" + }, + "filepath": "src/components/MarketingFooter.js", + "line_beg": 41, + "col_beg": 19, + "line_end": 41, + "col_end": 53, + "desc": "Analytics link", + "project": "", + "type": "text", + "jsfbt": "Analytics" + }, + { + "hashToText": { + "ZKJ6z51Hsuk0BZsX2IIzRg==": "Jobs" + }, + "filepath": "src/components/MarketingFooter.js", + "line_beg": 52, + "col_beg": 19, + "line_end": 52, + "col_end": 43, + "desc": "Jobs link", + "project": "", + "type": "text", + "jsfbt": "Jobs" + }, + { + "hashToText": { + "+TO6TRYm6RvHP/m8wMm9fg==": "Docs" + }, + "filepath": "src/components/MarketingFooter.js", + "line_beg": 63, + "col_beg": 19, + "line_end": 63, + "col_end": 52, + "desc": "Documentation link", + "project": "", + "type": "text", + "jsfbt": "Docs" + }, + { + "hashToText": { + "P4KQARUAf5mnYx8O/YdkGQ==": "Discord" + }, + "filepath": "src/components/MarketingFooter.js", + "line_beg": 74, + "col_beg": 19, + "line_end": 74, + "col_end": 49, + "desc": "Discord link", + "project": "", + "type": "text", + "jsfbt": "Discord" + }, + { + "hashToText": { + "g+pnRAyJr/BqtxnprSs8YQ==": "Github" + }, + "filepath": "src/components/MarketingFooter.js", + "line_beg": 85, + "col_beg": 19, + "line_end": 85, + "col_end": 47, + "desc": "Github link", + "project": "", + "type": "text", + "jsfbt": "Github" + }, + { + "hashToText": { + "GBKDs1y8pSoLLnYcKKLpMA==": "Originally released by Origin Protocol" + }, + "filepath": "src/components/MarketingFooter.js", + "line_beg": 94, + "col_beg": 19, + "line_end": 97, + "col_end": 19, + "desc": "Originally released by Origin Protocol", + "project": "", + "type": "text", + "jsfbt": "Originally released by Origin Protocol" + }, + { + "hashToText": { + "VZL/usXwWk9wF7D3WzMFBg==": "Terms of Service" + }, + "filepath": "src/components/MarketingFooter.js", + "line_beg": 106, + "col_beg": 21, + "line_end": 106, + "col_end": 64, + "desc": "Terms of Service", + "project": "", + "type": "text", + "jsfbt": "Terms of Service" + }, + { + "hashToText": { + "ZdYv01wfkIBVrMKnulfkUg==": "Privacy Policy" + }, + "filepath": "src/components/MarketingFooter.js", + "line_beg": 114, + "col_beg": 21, + "line_end": 114, + "col_end": 60, + "desc": "Privacy Policy", + "project": "", + "type": "text", + "jsfbt": "Privacy Policy" + }, + { + "hashToText": { + "4oKoSqdNNyUdsIsFJjH7uQ==": "No wallet connected" + }, + "filepath": "src/components/MissionControl.js", + "line_beg": 23, + "col_beg": 17, + "line_end": 23, + "col_end": 72, + "desc": "Disconnected dapp message", + "project": "", + "type": "text", + "jsfbt": "No wallet connected" + }, + { + "hashToText": { + "Tm8+cx+8Lu9MFgI+mWaUqg==": "Please connect an Ethereum wallet" + }, + "filepath": "src/components/MissionControl.js", + "line_beg": 26, + "col_beg": 17, + "line_end": 29, + "col_end": 17, + "desc": "Disconnected dapp subtext", + "project": "", + "type": "text", + "jsfbt": "Please connect an Ethereum wallet" + }, + { + "hashToText": { + "315VxsUcgT3vNUAXWeDV5A==": "Swap OUSD" + }, + "filepath": "src/components/Nav.js", + "line_beg": 47, + "col_beg": 17, + "line_end": 47, + "col_end": 46, + "desc": "Swap OUSD", + "project": "", + "type": "text", + "jsfbt": "Swap OUSD" + }, + { + "hashToText": { + "touqybIh9bCUWYCKBpTrgw==": "Earn OGN" + }, + "filepath": "src/components/Nav.js", + "line_beg": 58, + "col_beg": 17, + "line_end": 58, + "col_end": 44, + "desc": "Earn OGN", + "project": "", + "type": "text", + "jsfbt": "Earn OGN" + }, + { + "hashToText": { + "touqybIh9bCUWYCKBpTrgw==": "Earn OGN" + }, + "filepath": "src/components/Nav.js", + "line_beg": 69, + "col_beg": 17, + "line_end": 69, + "col_end": 44, + "desc": "Earn OGN", + "project": "", + "type": "text", + "jsfbt": "Earn OGN" + }, + { + "hashToText": { + "Ko2dZ+tgOAPRjs0we6TlBQ==": "Wrap OUSD" + }, + "filepath": "src/components/Nav.js", + "line_beg": 79, + "col_beg": 15, + "line_end": 79, + "col_end": 44, + "desc": "Wrap OUSD", + "project": "", + "type": "text", + "jsfbt": "Wrap OUSD" + }, + { + "hashToText": { + "pIEo1ik+AXZxWvpqBB1XeA==": "History" + }, + "filepath": "src/components/Nav.js", + "line_beg": 88, + "col_beg": 15, + "line_end": 88, + "col_end": 40, + "desc": "History", + "project": "", + "type": "text", + "jsfbt": "History" + }, + { + "hashToText": { + "4mgtQcnFxLPY7399DDS/Tw==": "Trailing 365-day APY: {APY}" + }, + "filepath": "src/components/Nav.js", + "line_beg": 154, + "col_beg": 11, + "line_end": 160, + "col_end": 11, + "desc": "Current APY banner", + "project": "", + "type": "text", + "jsfbt": "Trailing 365-day APY: {APY}" + }, + { + "hashToText": { + "F+XPth34xVqx184YCA2s2w==": "Home" + }, + "filepath": "src/components/Nav.js", + "line_beg": 287, + "col_beg": 25, + "line_end": 287, + "col_end": 54, + "desc": "Home page link", + "project": "", + "type": "text", + "jsfbt": "Home" + }, + { + "hashToText": { + "iyOJ494mTFyizK8Apjr9SQ==": "Earn" + }, + "filepath": "src/components/Nav.js", + "line_beg": 299, + "col_beg": 25, + "line_end": 299, + "col_end": 59, + "desc": "Earn info page link", + "project": "", + "type": "text", + "jsfbt": "Earn" + }, + { + "hashToText": { + "bWiqvfeY6zEkXKap3IpNqQ==": "Governance" + }, + "filepath": "src/components/Nav.js", + "line_beg": 310, + "col_beg": 25, + "line_end": 310, + "col_end": 66, + "desc": "Governance page link", + "project": "", + "type": "text", + "jsfbt": "Governance" + }, + { + "hashToText": { + "+TO6TRYm6RvHP/m8wMm9fg==": "Docs" + }, + "filepath": "src/components/Nav.js", + "line_beg": 321, + "col_beg": 23, + "line_end": 321, + "col_end": 56, + "desc": "Documentation link", + "project": "", + "type": "text", + "jsfbt": "Docs" + }, + { + "hashToText": { + "P5nbO2MvCh7UCVKo6/vFHw==": "Debug" + }, + "filepath": "src/components/Nav.js", + "line_beg": 331, + "col_beg": 26, + "line_end": 331, + "col_end": 66, + "desc": "Debugging dashboard link", + "project": "", + "type": "text", + "jsfbt": "Debug" + }, + { + "hashToText": { + "Ot3N/e6tDjHWNXeCPmTP+w==": "Get optional smart contract insurance for your OUSD" + }, + "filepath": "src/components/sidePanel/SidePanelInsuranceMessage.js", + "line_beg": 34, + "col_beg": 13, + "line_end": 37, + "col_end": 13, + "desc": "Get optional smart contract insurance for your OUSD", + "project": "", + "type": "text", + "jsfbt": "Get optional smart contract insurance for your OUSD" + }, + { + "hashToText": { + "KuycFZMW4TpZ18nj5HMQvQ==": "Learn more" + }, + "filepath": "src/components/sidePanel/SidePanelInsuranceMessage.js", + "line_beg": 45, + "col_beg": 15, + "line_end": 45, + "col_end": 46, + "desc": "Learn more", + "project": "", + "type": "text", + "jsfbt": "Learn more" + }, + { + "hashToText": { + "RERzCHdd61X+4fJuz3FW0w==": "You're ready to provide liquidity and deposit to earn OGN" + }, + "filepath": "src/components/sidePanel/SidePanelStakeMessage.js", + "line_beg": 50, + "col_beg": 13, + "line_end": 53, + "col_end": 13, + "desc": "Earn information panel message", + "project": "", + "type": "text", + "jsfbt": "You're ready to provide liquidity and deposit to earn OGN" + }, + { + "hashToText": { + "BFFySSGl3keiaQSJJ9mLVg==": "Continue" + }, + "filepath": "src/components/sidePanel/SidePanelStakeMessage.js", + "line_beg": 56, + "col_beg": 37, + "line_end": 56, + "col_end": 64, + "desc": "Continue", + "project": "", + "type": "text", + "jsfbt": "Continue" + }, + { + "hashToText": { + "yCjNi0jvCxMJoBRrvEDyMg==": "Increasing OUSD supply" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 154, + "col_beg": 23, + "line_end": 154, + "col_end": 78, + "desc": "Increasing OUSD supply", + "project": "", + "type": "text", + "jsfbt": "Increasing OUSD supply" + }, + { + "hashToText": { + "JrVzTFdPfEwydMky42G/FQ==": "OUSD supply increased" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 159, + "col_beg": 23, + "line_end": 159, + "col_end": 76, + "desc": "OUSD supply increased", + "project": "", + "type": "text", + "jsfbt": "OUSD supply increased" + }, + { + "hashToText": { + "LLBQ34h/YomUqAf+rw8IEw==": "Failed to increase OUSD supply" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 164, + "col_beg": 23, + "line_end": 167, + "col_end": 23, + "desc": "Failed to increase OUSD supply", + "project": "", + "type": "text", + "jsfbt": "Failed to increase OUSD supply" + }, + { + "hashToText": { + "QgyKyS4vgRTpDcuiOoeepA==": "Opting in to OUSD rebasing" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 189, + "col_beg": 23, + "line_end": 192, + "col_end": 23, + "desc": "Opting in to OUSD rebasing", + "project": "", + "type": "text", + "jsfbt": "Opting in to OUSD rebasing" + }, + { + "hashToText": { + "Oounp+iCxPUOF00knLxI9w==": "Opted in to OUSD rebase" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 197, + "col_beg": 23, + "line_end": 200, + "col_end": 23, + "desc": "Opted in to OUSD rebase", + "project": "", + "type": "text", + "jsfbt": "Opted in to OUSD rebase" + }, + { + "hashToText": { + "JEccV8FbYH6oTNm2nsaflw==": "Failed to opt in to OUSD rebase" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 205, + "col_beg": 23, + "line_end": 208, + "col_end": 23, + "desc": "Failed to opt in to OUSD rebase", + "project": "", + "type": "text", + "jsfbt": "Failed to opt in to OUSD rebase" + }, + { + "hashToText": { + "iU6+F2DBQY4R3NxyLOSVzw==": "Granting permission to move your {coin}" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 231, + "col_beg": 23, + "line_end": 235, + "col_end": 23, + "desc": "Granting permission to move your coin", + "project": "", + "type": "text", + "jsfbt": "Granting permission to move your {coin}" + }, + { + "hashToText": { + "qpqemFEvN8UfpLCuDwM9Ig==": "Permission granted to move your {coin}" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 240, + "col_beg": 23, + "line_end": 244, + "col_end": 23, + "desc": "Permission granted to move your coin", + "project": "", + "type": "text", + "jsfbt": "Permission granted to move your {coin}" + }, + { + "hashToText": { + "qoGAMrrm4mY7DPj4pGS1WA==": "Failed granting permission to move your {coin}" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 249, + "col_beg": 23, + "line_end": 253, + "col_end": 23, + "desc": "Failed granting permission to move your coin", + "project": "", + "type": "text", + "jsfbt": "Failed granting permission to move your {coin}" + }, + { + "hashToText": { + "CZUtcRmpL4zdfPiIfRT+bA==": "Swapping OUSD for {coin}" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 308, + "col_beg": 23, + "line_end": 315, + "col_end": 23, + "desc": "Swapping OUSD for coins", + "project": "", + "type": "text", + "jsfbt": "Swapping OUSD for {coin}" + }, + { + "hashToText": { + "bQZHr2b5uTy6xRI9qIOxFw==": "Swapped OUSD for {coin}" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 320, + "col_beg": 23, + "line_end": 327, + "col_end": 23, + "desc": "Swapped OUSD for coins", + "project": "", + "type": "text", + "jsfbt": "Swapped OUSD for {coin}" + }, + { + "hashToText": { + "KljteZhgQJxZJ0FB/UAEbQ==": "Failed swapping OUSD for {coin}" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 332, + "col_beg": 23, + "line_end": 339, + "col_end": 23, + "desc": "Failed swapping OUSD for coins", + "project": "", + "type": "text", + "jsfbt": "Failed swapping OUSD for {coin}" + }, + { + "hashToText": { + "fl4xbsPFn16OyuP4cVC//Q==": "Swapping {coin} for OUSD" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 392, + "col_beg": 23, + "line_end": 400, + "col_end": 23, + "desc": "Swapping coins for OUSD", + "project": "", + "type": "text", + "jsfbt": "Swapping {coin} for OUSD" + }, + { + "hashToText": { + "Rh6qtCMSk+BwTWwc/mRT/A==": "{coin} swapped for OUSD" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 405, + "col_beg": 23, + "line_end": 411, + "col_end": 23, + "desc": "Swapped coins for OUSD", + "project": "", + "type": "text", + "jsfbt": "{coin} swapped for OUSD" + }, + { + "hashToText": { + "wqU0nd3vAwP65PvzwNqCfQ==": "Failed swapping {coin} for OUSD" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 416, + "col_beg": 23, + "line_end": 424, + "col_end": 23, + "desc": "Failed swapping for OUSD", + "project": "", + "type": "text", + "jsfbt": "Failed swapping {coin} for OUSD" + }, + { + "hashToText": { + "iU6+F2DBQY4R3NxyLOSVzw==": "Granting permission to move your {coin}" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 446, + "col_beg": 23, + "line_end": 450, + "col_end": 23, + "desc": "Granting permission to move your coin", + "project": "", + "type": "text", + "jsfbt": "Granting permission to move your {coin}" + }, + { + "hashToText": { + "qpqemFEvN8UfpLCuDwM9Ig==": "Permission granted to move your {coin}" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 455, + "col_beg": 23, + "line_end": 459, + "col_end": 23, + "desc": "Permission granted to move your coin", + "project": "", + "type": "text", + "jsfbt": "Permission granted to move your {coin}" + }, + { + "hashToText": { + "qoGAMrrm4mY7DPj4pGS1WA==": "Failed granting permission to move your {coin}" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 464, + "col_beg": 23, + "line_end": 468, + "col_end": 23, + "desc": "Failed granting permission to move your coin", + "project": "", + "type": "text", + "jsfbt": "Failed granting permission to move your {coin}" + }, + { + "hashToText": { + "4nvd3V3BpKUw7vubBIp7ZA==": "Wrapping OUSD into wOUSD" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 523, + "col_beg": 23, + "line_end": 523, + "col_end": 71, + "desc": "Wrapping OUSD", + "project": "", + "type": "text", + "jsfbt": "Wrapping OUSD into wOUSD" + }, + { + "hashToText": { + "MoMvDo7wT5jp6iiEmFNpag==": "Wrapped OUSD into wOUSD" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 528, + "col_beg": 23, + "line_end": 528, + "col_end": 69, + "desc": "Wrapped OUSD", + "project": "", + "type": "text", + "jsfbt": "Wrapped OUSD into wOUSD" + }, + { + "hashToText": { + "m5UL1Gz1demUX3WdMYFjlA==": "Failed wrapping OUSD into wOUSD" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 533, + "col_beg": 23, + "line_end": 536, + "col_end": 23, + "desc": "Failed wrapping OUSD", + "project": "", + "type": "text", + "jsfbt": "Failed wrapping OUSD into wOUSD" + }, + { + "hashToText": { + "q7JCAP9mVFOKGxCFBemD7A==": "Unwrapping wOUSD into OUSD" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 589, + "col_beg": 23, + "line_end": 589, + "col_end": 76, + "desc": "Unwrapping wOUSD", + "project": "", + "type": "text", + "jsfbt": "Unwrapping wOUSD into OUSD" + }, + { + "hashToText": { + "vXzigA0JB8z3Oxpn+bW4QQ==": "wOUSD unwrapped into OUSD" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 594, + "col_beg": 23, + "line_end": 594, + "col_end": 74, + "desc": "Unwrapped wOUSD", + "project": "", + "type": "text", + "jsfbt": "wOUSD unwrapped into OUSD" + }, + { + "hashToText": { + "M2wjdChUAit/KGPDJ2jKmA==": "Failed unwrapping wOUSD into OUSD" + }, + "filepath": "src/components/sidePanel/SidePanelTransactionMessage.js", + "line_beg": 599, + "col_beg": 23, + "line_end": 602, + "col_end": 23, + "desc": "Failed unwrapping wOUSD", + "project": "", + "type": "text", + "jsfbt": "Failed unwrapping wOUSD into OUSD" + }, + { + "hashToText": { + "zdr9TP7t9jSJMege8igYSw==": "Welcome!" + }, + "filepath": "src/components/sidePanel/SidePanelWelcomeMessage.js", + "line_beg": 23, + "col_beg": 32, + "line_end": 23, + "col_end": 59, + "desc": "Welcome!", + "project": "", + "type": "text", + "jsfbt": "Welcome!" + }, + { + "hashToText": { + "aGiMsNR2nJQnwBZWU+hoCg==": "The Origin Dollar lets you easily convert other stablecoins into OUSD so you can instantly earn yields." + }, + "filepath": "src/components/sidePanel/SidePanelWelcomeMessage.js", + "line_beg": 25, + "col_beg": 11, + "line_end": 28, + "col_end": 11, + "desc": "welcome-message", + "project": "", + "type": "text", + "jsfbt": "The Origin Dollar lets you easily convert other stablecoins into OUSD so you can instantly earn yields." + }, + { + "hashToText": { + "kcEHnOTD77njVPpTV83iCA==": "You can buy up to ~{ousd-coin} OUSD with the {usdt-coin} USDT, {usdc-coin} USDC, and {dai-coin} DAI in your wallet." + }, + "filepath": "src/components/sidePanel/SidePanelWelcomeMessage.js", + "line_beg": 30, + "col_beg": 12, + "line_end": 41, + "col_end": 13, + "desc": "welcome-message-buying-power", + "project": "", + "type": "text", + "jsfbt": "You can buy up to ~{ousd-coin} OUSD with the {usdt-coin} USDT, {usdc-coin} USDC, and {dai-coin} DAI in your wallet." + }, + { + "hashToText": { + "A/Zke3h6UQ/m6g7Y9Jkq2g==": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same." + }, + "filepath": "src/components/sidePanel/SidePanelWrapMessage.js", + "line_beg": 34, + "col_beg": 13, + "line_end": 37, + "col_end": 13, + "desc": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "project": "", + "type": "text", + "jsfbt": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same." + }, + { + "hashToText": { + "KuycFZMW4TpZ18nj5HMQvQ==": "Learn more" + }, + "filepath": "src/components/sidePanel/SidePanelWrapMessage.js", + "line_beg": 45, + "col_beg": 15, + "line_end": 45, + "col_end": 46, + "desc": "Learn more", + "project": "", + "type": "text", + "jsfbt": "Learn more" + }, + { + "hashToText": { + "zdr9TP7t9jSJMege8igYSw==": "Welcome!" + }, + "filepath": "src/components/sidePanel/SidePanelWrapWelcomeMessage.js", + "line_beg": 23, + "col_beg": 32, + "line_end": 23, + "col_end": 59, + "desc": "Welcome!", + "project": "", + "type": "text", + "jsfbt": "Welcome!" + }, + { + "hashToText": { + "XdGbjyydu7EICiBc/HH4yg==": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts." + }, + "filepath": "src/components/sidePanel/SidePanelWrapWelcomeMessage.js", + "line_beg": 25, + "col_beg": 11, + "line_end": 28, + "col_end": 11, + "desc": "welcome-message", + "project": "", + "type": "text", + "jsfbt": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts." + }, + { + "hashToText": { + "4oKoSqdNNyUdsIsFJjH7uQ==": "No wallet connected" + }, + "filepath": "src/components/SignTransferAuth.js", + "line_beg": 84, + "col_beg": 17, + "line_end": 84, + "col_end": 72, + "desc": "Disconnected dapp message", + "project": "", + "type": "text", + "jsfbt": "No wallet connected" + }, + { + "hashToText": { + "Tm8+cx+8Lu9MFgI+mWaUqg==": "Please connect an Ethereum wallet" + }, + "filepath": "src/components/SignTransferAuth.js", + "line_beg": 87, + "col_beg": 17, + "line_end": 90, + "col_end": 17, + "desc": "Disconnected dapp subtext", + "project": "", + "type": "text", + "jsfbt": "Please connect an Ethereum wallet" + }, + { + "hashToText": { + "xJJb8b1cAI+EJaWe5nXG2Q==": "Yield" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 134, + "col_beg": 12, + "line_end": 134, + "col_end": 46, + "desc": "Yield history type", + "project": "", + "type": "text", + "jsfbt": "Yield" + }, + { + "hashToText": { + "dGSkVKhnHEETiSiCa45TDQ==": "Received" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 140, + "col_beg": 12, + "line_end": 140, + "col_end": 52, + "desc": "Received history type", + "project": "", + "type": "text", + "jsfbt": "Received" + }, + { + "hashToText": { + "oWidMrCxFreUgODA4YZgQQ==": "Sent" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 146, + "col_beg": 12, + "line_end": 146, + "col_end": 44, + "desc": "Sent history type", + "project": "", + "type": "text", + "jsfbt": "Sent" + }, + { + "hashToText": { + "lIk2P652Au6pMOSrLY6vwg==": "Swap" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 152, + "col_beg": 12, + "line_end": 152, + "col_end": 44, + "desc": "Swap history type", + "project": "", + "type": "text", + "jsfbt": "Swap" + }, + { + "hashToText": { + "lIk2P652Au6pMOSrLY6vwg==": "Swap" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 158, + "col_beg": 12, + "line_end": 158, + "col_end": 44, + "desc": "Swap history type", + "project": "", + "type": "text", + "jsfbt": "Swap" + }, + { + "hashToText": { + "B3G5M6HcUUx5e/hoG+cPIQ==": "Unknown transfer" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 164, + "col_beg": 12, + "line_end": 164, + "col_end": 68, + "desc": "Unknown transfer history type", + "project": "", + "type": "text", + "jsfbt": "Unknown transfer" + }, + { + "hashToText": { + "9O8l+Y7gPTyQOBUlUkzokg==": "Unknown" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 170, + "col_beg": 12, + "line_end": 170, + "col_end": 50, + "desc": "Unknown history type", + "project": "", + "type": "text", + "jsfbt": "Unknown" + }, + { + "hashToText": { + "9O8l+Y7gPTyQOBUlUkzokg==": "Unknown" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 176, + "col_beg": 12, + "line_end": 176, + "col_end": 50, + "desc": "Unknown history type", + "project": "", + "type": "text", + "jsfbt": "Unknown" + }, + { + "hashToText": { + "bgW02lGxcvAKpC6dRqoEXA==": "Loading..." + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 252, + "col_beg": 32, + "line_end": 252, + "col_end": 63, + "desc": "Loading...", + "project": "", + "type": "text", + "jsfbt": "Loading..." + }, + { + "hashToText": { + "hc7gyPmZIoQU5dSYTjbkzg==": "Received" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 258, + "col_beg": 30, + "line_end": 258, + "col_end": 76, + "desc": "Tx history filter: Received", + "project": "", + "type": "text", + "jsfbt": "Received" + }, + { + "hashToText": { + "yBGnKEvvZSRGJKPRwRkTCg==": "Sent" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 265, + "col_beg": 30, + "line_end": 265, + "col_end": 68, + "desc": "Tx history filter: Sent", + "project": "", + "type": "text", + "jsfbt": "Sent" + }, + { + "hashToText": { + "bd/ISuXVT4WOuTjY+LI9zw==": "Swap" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 272, + "col_beg": 30, + "line_end": 272, + "col_end": 68, + "desc": "Tx history filter: Swap", + "project": "", + "type": "text", + "jsfbt": "Swap" + }, + { + "hashToText": { + "Z2aW/bEIqY1PVmF59Kan/g==": "Yield" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 279, + "col_beg": 30, + "line_end": 279, + "col_end": 70, + "desc": "Tx history filter: Yield", + "project": "", + "type": "text", + "jsfbt": "Yield" + }, + { + "hashToText": { + "iz5qfIOh9Dc3Dhdan2Q0FQ==": "Export" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 318, + "col_beg": 19, + "line_end": 318, + "col_end": 69, + "desc": "Tx history action: Export history", + "project": "", + "type": "text", + "jsfbt": "Export" + }, + { + "hashToText": { + "Trejj1lDsq4b30xT9mxvQw==": "Date" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 325, + "col_beg": 19, + "line_end": 325, + "col_end": 58, + "desc": "Transaction history date", + "project": "", + "type": "text", + "jsfbt": "Date" + }, + { + "hashToText": { + "9WCDuOgWO44HDUzgX5KJ1g==": "Type" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 328, + "col_beg": 19, + "line_end": 328, + "col_end": 58, + "desc": "Transaction history type", + "project": "", + "type": "text", + "jsfbt": "Type" + }, + { + "hashToText": { + "46y6MBgKSiw5CCMTV4YnWQ==": "From" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 331, + "col_beg": 19, + "line_end": 331, + "col_end": 66, + "desc": "Transaction history from account", + "project": "", + "type": "text", + "jsfbt": "From" + }, + { + "hashToText": { + "Ed3Ikx7Cmam7B3xXRop3og==": "To" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 334, + "col_beg": 19, + "line_end": 334, + "col_end": 62, + "desc": "Transaction history to account", + "project": "", + "type": "text", + "jsfbt": "To" + }, + { + "hashToText": { + "Brpo65p3UGnqyu2F29fMMQ==": "Amount" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 337, + "col_beg": 19, + "line_end": 337, + "col_end": 67, + "desc": "Transaction history OUSD amount", + "project": "", + "type": "text", + "jsfbt": "Amount" + }, + { + "hashToText": { + "edPOdXLI8SAU15/oBELCsg==": "Balance" + }, + "filepath": "src/components/TransactionHistory.js", + "line_beg": 340, + "col_beg": 19, + "line_end": 340, + "col_end": 69, + "desc": "Transaction history OUSD balance", + "project": "", + "type": "text", + "jsfbt": "Balance" + }, + { + "hashToText": { + "wLrSBqzyiy+JNWBRHvOJeg==": "No Ethereum wallet detected" + }, + "filepath": "src/components/WalletSelectContent.js", + "line_beg": 37, + "col_beg": 13, + "line_end": 37, + "col_end": 69, + "desc": "No wallet detected", + "project": "", + "type": "text", + "jsfbt": "No Ethereum wallet detected" + }, + { + "hashToText": { + "dHc4VbpWIUQw1Ay4z9Egvg==": "Connect a wallet to get started" + }, + "filepath": "src/components/WalletSelectContent.js", + "line_beg": 95, + "col_beg": 11, + "line_end": 98, + "col_end": 11, + "desc": "Connect a wallet to get started", + "project": "", + "type": "text", + "jsfbt": "Connect a wallet to get started" + }, + { + "hashToText": { + "Pn/puwCebcKEtHY+PGZooQ==": "Trailing APY" + }, + "filepath": "src/components/wrap/BalanceHeaderWrapped.js", + "line_beg": 243, + "col_beg": 23, + "line_end": 243, + "col_end": 58, + "desc": "Trailing APY", + "project": "", + "type": "text", + "jsfbt": "Trailing APY" + }, + { + "hashToText": { + "z7eLl+fPi5OGubESFhnqjg==": "wOUSD Balance" + }, + "filepath": "src/components/wrap/BalanceHeaderWrapped.js", + "line_beg": 258, + "col_beg": 21, + "line_end": 258, + "col_end": 58, + "desc": "wOUSD Balance", + "project": "", + "type": "text", + "jsfbt": "wOUSD Balance" + }, + { + "hashToText": { + "MwJxSgrkjanPTBeeTJF9/g==": "Current Value (OUSD)" + }, + "filepath": "src/components/wrap/BalanceHeaderWrapped.js", + "line_beg": 268, + "col_beg": 21, + "line_end": 268, + "col_end": 72, + "desc": "Current Value (OUSD)", + "project": "", + "type": "text", + "jsfbt": "Current Value (OUSD)" + }, + { + "hashToText": { + "MOrQdjEG104sGo0QoF9nrw==": "Pending yield (OUSD)" + }, + "filepath": "src/components/wrap/BalanceHeaderWrapped.js", + "line_beg": 278, + "col_beg": 21, + "line_end": 278, + "col_end": 72, + "desc": "Pending yield (OUSD)", + "project": "", + "type": "text", + "jsfbt": "Pending yield (OUSD)" + }, + { + "hashToText": { + "ZwGA1T6BPQqDEj4bIAzm+Q==": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"" + }, + "filepath": "src/components/wrap/WrapHomepage.js", + "line_beg": 129, + "col_beg": 23, + "line_end": 132, + "col_end": 7, + "desc": "Enable contract data", + "project": "", + "type": "text", + "jsfbt": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"" + }, + { + "hashToText": { + "YXUJGIxlO8D951QrvZjOfw==": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened." + }, + "filepath": "src/components/wrap/WrapHomepage.js", + "line_beg": 140, + "col_beg": 23, + "line_end": 143, + "col_end": 7, + "desc": "See ledger connected", + "project": "", + "type": "text", + "jsfbt": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened." + }, + { + "hashToText": { + "MTB4PpSB2v3de1UsOqea2Q==": "Balance: {coin-balance}" + }, + "filepath": "src/components/wrap/WrapOusdPill.js", + "line_beg": 231, + "col_beg": 21, + "line_end": 235, + "col_end": 21, + "desc": "Coin balance", + "project": "", + "type": "text", + "jsfbt": "Balance: {coin-balance}" + }, + { + "hashToText": { + "fES3GBi1++HL5QV2C3a2Hw==": "Max" + }, + "filepath": "src/components/wrap/WrapOusdPill.js", + "line_beg": 243, + "col_beg": 21, + "line_end": 243, + "col_end": 62, + "desc": "Set maximum currency amount", + "project": "", + "type": "text", + "jsfbt": "Max" + }, + { + "hashToText": { + "LkcTIj0crtSUgIcB7RmJVQ==": "1 wOUSD = {wousd-rate} OUSD" + }, + "filepath": "src/components/wrap/WrapOusdPill.js", + "line_beg": 268, + "col_beg": 20, + "line_end": 273, + "col_end": 21, + "desc": "wOUSD conversion rate", + "project": "", + "type": "text", + "jsfbt": "1 wOUSD = {wousd-rate} OUSD" + }, + { + "hashToText": { + "aRsfjrA11c57FkghYYhU6g==": "Loading..." + }, + "filepath": "src/components/wrap/WrapOusdPill.js", + "line_beg": 282, + "col_beg": 34, + "line_end": 282, + "col_end": 71, + "desc": "Swaps Loading...", + "project": "", + "type": "text", + "jsfbt": "Loading..." + }, + { + "hashToText": { + "q8rekxmRh7i25o6lMZ418g==": "{days left}d left" + }, + "filepath": "src/utils/stake.js", + "line_beg": 158, + "col_beg": 15, + "line_end": 161, + "col_end": 9, + "desc": "staking days left short", + "project": "", + "type": "text", + "jsfbt": "{days left}d left" + }, + { + "hashToText": { + "V50aJzO38og1AnGuutLW2Q==": "{hours left}h left" + }, + "filepath": "src/utils/stake.js", + "line_beg": 163, + "col_beg": 15, + "line_end": 166, + "col_end": 9, + "desc": "staking hours left short", + "project": "", + "type": "text", + "jsfbt": "{hours left}h left" + }, + { + "hashToText": { + "6HYsyhc3ERh/JldhUotAzw==": "{minutes left}m left" + }, + "filepath": "src/utils/stake.js", + "line_beg": 168, + "col_beg": 15, + "line_end": 171, + "col_end": 9, + "desc": "staking minutes left short", + "project": "", + "type": "text", + "jsfbt": "{minutes left}m left" + }, + { + "hashToText": { + "++LWaVWHtO0JcWE2Jvp2VA==": "{seconds left}s left" + }, + "filepath": "src/utils/stake.js", + "line_beg": 173, + "col_beg": 15, + "line_end": 176, + "col_end": 9, + "desc": "staking seconds left short", + "project": "", + "type": "text", + "jsfbt": "{seconds left}s left" + }, + { + "hashToText": { + "TrW3n/YPBMHUHGuhThXS5A==": "{days left} days left" + }, + "filepath": "src/utils/stake.js", + "line_beg": 180, + "col_beg": 15, + "line_end": 183, + "col_end": 9, + "desc": "staking days left", + "project": "", + "type": "text", + "jsfbt": "{days left} days left" + }, + { + "hashToText": { + "Ql6ouaQXzBckkDdCeN1Qmg==": "{hours left} hours left" + }, + "filepath": "src/utils/stake.js", + "line_beg": 185, + "col_beg": 15, + "line_end": 188, + "col_end": 9, + "desc": "staking hours left", + "project": "", + "type": "text", + "jsfbt": "{hours left} hours left" + }, + { + "hashToText": { + "X7Fmpy4+jzYLYjx2NDGujQ==": "{minutes left} minutes left" + }, + "filepath": "src/utils/stake.js", + "line_beg": 190, + "col_beg": 15, + "line_end": 194, + "col_end": 9, + "desc": "staking minutes left", + "project": "", + "type": "text", + "jsfbt": "{minutes left} minutes left" + }, + { + "hashToText": { + "5jRArZpdQTPmfxg8AxBrMQ==": "{seconds left} seconds left" + }, + "filepath": "src/utils/stake.js", + "line_beg": 196, + "col_beg": 15, + "line_end": 200, + "col_end": 9, + "desc": "staking seconds left", + "project": "", + "type": "text", + "jsfbt": "{seconds left} seconds left" + }, + { + "hashToText": { + "jMh2WUSahd0jTfVGX11ACQ==": "OUSD Exploit Compensation" + }, + "filepath": "pages/compensation.js", + "line_beg": 74, + "col_beg": 15, + "line_end": 74, + "col_end": 76, + "desc": "OUSD Exploit Compensation", + "project": "", + "type": "text", + "jsfbt": "OUSD Exploit Compensation" + }, + { + "hashToText": { + "7EO2zXul+JhQZRu+zaqXWA==": "How is my compensation calculated?" + }, + "filepath": "pages/compensation.js", + "line_beg": 82, + "col_beg": 15, + "line_end": 85, + "col_end": 15, + "desc": "How is compensation calculated", + "project": "", + "type": "text", + "jsfbt": "How is my compensation calculated?" + }, + { + "hashToText": { + "yhrVNVcGwWfBU8/1FQSopg==": "Connect a cryptowallet to see your compensation" + }, + "filepath": "pages/compensation.js", + "line_beg": 97, + "col_beg": 21, + "line_end": 100, + "col_end": 21, + "desc": "Connect a cryptowallet to see your compensation", + "project": "", + "type": "text", + "jsfbt": "Connect a cryptowallet to see your compensation" + }, + { + "hashToText": { + "rjRmWjrlamTLObXMGbWljQ==": "Connect" + }, + "filepath": "pages/compensation.js", + "line_beg": 106, + "col_beg": 21, + "line_end": 106, + "col_end": 46, + "desc": "Connect", + "project": "", + "type": "text", + "jsfbt": "Connect" + }, + { + "hashToText": { + "hb8jVpq2Z3+sq79eyol8XQ==": "Eligible OUSD Balance" + }, + "filepath": "pages/compensation.js", + "line_beg": 113, + "col_beg": 23, + "line_end": 116, + "col_end": 23, + "desc": "Eligible OUSD balance title", + "project": "", + "type": "text", + "jsfbt": "Eligible OUSD Balance" + }, + { + "hashToText": { + "l+1cN5lpPsJGubj4ve3RsA==": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD" + }, + "filepath": "pages/compensation.js", + "line_beg": 122, + "col_beg": 23, + "line_end": 125, + "col_end": 23, + "desc": "Compensation strategy notice", + "project": "", + "type": "text", + "jsfbt": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD" + }, + { + "hashToText": { + "OgNXOWjYsjYEUqQ+JmvJJg==": "This wallet is not eligible for compensation" + }, + "filepath": "pages/compensation.js", + "line_beg": 131, + "col_beg": 19, + "line_end": 134, + "col_end": 19, + "desc": "This wallet is not eligible for compensation", + "project": "", + "type": "text", + "jsfbt": "This wallet is not eligible for compensation" + }, + { + "hashToText": { + "+jHs64XvCt5Kp7mwoNtEkQ==": "OUSD Compensation Amount" + }, + "filepath": "pages/compensation.js", + "line_beg": 148, + "col_beg": 17, + "line_end": 148, + "col_end": 76, + "desc": "OUSD Compensation Amount", + "project": "", + "type": "text", + "jsfbt": "OUSD Compensation Amount" + }, + { + "hashToText": { + "fDAy5uRha6Xfs6JLvW3mJQ==": "CLAIMED" + }, + "filepath": "pages/compensation.js", + "line_beg": 157, + "col_beg": 39, + "line_end": 157, + "col_end": 64, + "desc": "CLAIMED", + "project": "", + "type": "text", + "jsfbt": "CLAIMED" + }, + { + "hashToText": { + "0v+yWj/xdij9YMnk/kcr5g==": "Claim to start earning yield" + }, + "filepath": "pages/compensation.js", + "line_beg": 161, + "col_beg": 25, + "line_end": 164, + "col_end": 25, + "desc": "Claim to start earning yield", + "project": "", + "type": "text", + "jsfbt": "Claim to start earning yield" + }, + { + "hashToText": { + "zOledTfGi7PzABfazYl1Rg==": "Unexpected error happened when claiming OUSD" + }, + "filepath": "pages/compensation.js", + "line_beg": 188, + "col_beg": 30, + "line_end": 191, + "col_end": 31, + "desc": "Claim ousd error", + "project": "", + "type": "text", + "jsfbt": "Unexpected error happened when claiming OUSD" + }, + { + "hashToText": { + "0IJsdkUSbCC0rj07UMwmQw==": "Claim OUSD" + }, + "filepath": "pages/compensation.js", + "line_beg": 200, + "col_beg": 26, + "line_end": 200, + "col_end": 57, + "desc": "Claim OUSD", + "project": "", + "type": "text", + "jsfbt": "Claim OUSD" + }, + { + "hashToText": { + "RVl0kOuCullgqyGTKR/FVg==": "OGN Compensation Amount" + }, + "filepath": "pages/compensation.js", + "line_beg": 228, + "col_beg": 17, + "line_end": 228, + "col_end": 74, + "desc": "OGN Compensation Amount", + "project": "", + "type": "text", + "jsfbt": "OGN Compensation Amount" + }, + { + "hashToText": { + "1ZdMuudM8h1fHinGYoxgEA==": "@ OGN price of" + }, + "filepath": "pages/compensation.js", + "line_beg": 239, + "col_beg": 24, + "line_end": 239, + "col_end": 63, + "desc": "@ OGN price of", + "project": "", + "type": "text", + "jsfbt": "@ OGN price of" + }, + { + "hashToText": { + "Yb6q+P7QBcorC8WgfcT6Rw==": "Staking duration" + }, + "filepath": "pages/compensation.js", + "line_beg": 242, + "col_beg": 23, + "line_end": 242, + "col_end": 66, + "desc": "Staking duration", + "project": "", + "type": "text", + "jsfbt": "Staking duration" + }, + { + "hashToText": { + "fDAy5uRha6Xfs6JLvW3mJQ==": "CLAIMED" + }, + "filepath": "pages/compensation.js", + "line_beg": 249, + "col_beg": 38, + "line_end": 249, + "col_end": 63, + "desc": "CLAIMED", + "project": "", + "type": "text", + "jsfbt": "CLAIMED" + }, + { + "hashToText": { + "VMHNNRnS/oqZ90VkwrUn0g==": "Claim & Stake OGN" + }, + "filepath": "pages/compensation.js", + "line_beg": 262, + "col_beg": 25, + "line_end": 262, + "col_end": 77, + "desc": "Claim & Stake OGN button", + "project": "", + "type": "text", + "jsfbt": "Claim & Stake OGN" + }, + { + "hashToText": { + "oljXt6MTnXjtubeOJVgCIQ==": "Learn about OGN >" + }, + "filepath": "pages/compensation.js", + "line_beg": 277, + "col_beg": 17, + "line_end": 277, + "col_end": 60, + "desc": "Learn about OGN", + "project": "", + "type": "text", + "jsfbt": "Learn about OGN >" + }, + { + "hashToText": { + "SuhY11ChzWCly6lYXO17cw==": "Redirecting..." + }, + "filepath": "pages/dapp.js", + "line_beg": 13, + "col_beg": 7, + "line_end": 13, + "col_end": 46, + "desc": "Redirecting...", + "project": "", + "type": "text", + "jsfbt": "Redirecting..." + }, + { + "hashToText": { + "MhlISgj1aVU+o+LsYwSiLA==": "Earn competitive yields without lifting a finger" + }, + "filepath": "pages/earn-info.js", + "line_beg": 21, + "col_beg": 19, + "line_end": 24, + "col_end": 19, + "desc": "Earn competitive yields without lifting a finger", + "project": "", + "type": "text", + "jsfbt": "Earn competitive yields without lifting a finger" + }, + { + "hashToText": { + "8zMHZyjYsfnDYgVnZ2G7Ew==": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns." + }, + "filepath": "pages/earn-info.js", + "line_beg": 27, + "col_beg": 19, + "line_end": 30, + "col_end": 19, + "desc": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "project": "", + "type": "text", + "jsfbt": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns." + }, + { + "hashToText": { + "CPS8nig1hjT6ZDa2mmJKZw==": "The OUSD smart contract pools capital from all stablecoin depositors, then routes capital to a diversified set of yield-earning strategies. Earnings are automatically converted to OUSD and deposited into your wallet." + }, + "filepath": "pages/earn-info.js", + "line_beg": 133, + "col_beg": 13, + "line_end": 136, + "col_end": 13, + "desc": "The OUSD smart contract pools capital from all stablecoin depositors, then routes capital to a diversified set of yield-earning strategies. Earnings are automatically converted to OUSD and deposited into your wallet.", + "project": "", + "type": "text", + "jsfbt": "The OUSD smart contract pools capital from all stablecoin depositors, then routes capital to a diversified set of yield-earning strategies. Earnings are automatically converted to OUSD and deposited into your wallet." + }, + { + "hashToText": { + "LjyJYCUSWpw3s3mEn3kyxA==": "Reward Fees" + }, + "filepath": "pages/earn-info.js", + "line_beg": 167, + "col_beg": 17, + "line_end": 167, + "col_end": 50, + "desc": "Reward Fees", + "project": "", + "type": "text", + "jsfbt": "Reward Fees" + }, + { + "hashToText": { + "BWNseXC515VNPmhHAyw7+g==": "AMM Trading Fees" + }, + "filepath": "pages/earn-info.js", + "line_beg": 170, + "col_beg": 17, + "line_end": 170, + "col_end": 60, + "desc": "AMM Trading Fees", + "project": "", + "type": "text", + "jsfbt": "AMM Trading Fees" + }, + { + "hashToText": { + "DpA4NTX81jDNtjAPUtUuFg==": "Liquidity Mining Rewards" + }, + "filepath": "pages/earn-info.js", + "line_beg": 173, + "col_beg": 17, + "line_end": 173, + "col_end": 76, + "desc": "Liquidity Mining Rewards", + "project": "", + "type": "text", + "jsfbt": "Liquidity Mining Rewards" + }, + { + "hashToText": { + "N752jg+pbmZVB+QUzZ+olQ==": "Plus, earn governance privileges and incentives when you contribute to the protocol." + }, + "filepath": "pages/earn-info.js", + "line_beg": 186, + "col_beg": 11, + "line_end": 189, + "col_end": 11, + "desc": "Plus, earn governance privileges and incentives when you contribute to the protocol.", + "project": "", + "type": "text", + "jsfbt": "Plus, earn governance privileges and incentives when you contribute to the protocol." + }, + { + "hashToText": { + "0c0XQ0GdYkxRd4eYLG+90A==": "Coming Soon" + }, + "filepath": "pages/earn-info.js", + "line_beg": 191, + "col_beg": 13, + "line_end": 191, + "col_end": 46, + "desc": "Coming Soon", + "project": "", + "type": "text", + "jsfbt": "Coming Soon" + }, + { + "hashToText": { + "LjyJYCUSWpw3s3mEn3kyxA==": "Reward Fees" + }, + "filepath": "pages/earn-info.js", + "line_beg": 207, + "col_beg": 21, + "line_end": 207, + "col_end": 54, + "desc": "Reward Fees", + "project": "", + "type": "text", + "jsfbt": "Reward Fees" + }, + { + "hashToText": { + "5UbE1eVqO9mt9i4wi7ZC6w==": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital." + }, + "filepath": "pages/earn-info.js", + "line_beg": 209, + "col_beg": 19, + "line_end": 212, + "col_end": 19, + "desc": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "project": "", + "type": "text", + "jsfbt": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital." + }, + { + "hashToText": { + "wPzTzUcjGovp+4RZ5r1ZAw==": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification." + }, + "filepath": "pages/earn-info.js", + "line_beg": 215, + "col_beg": 19, + "line_end": 218, + "col_end": 19, + "desc": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "project": "", + "type": "text", + "jsfbt": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification." + }, + { + "hashToText": { + "t6BYs0gzgizkKrK1vYFmZQ==": "Automated Market Maker Trading Fees" + }, + "filepath": "pages/earn-info.js", + "line_beg": 263, + "col_beg": 19, + "line_end": 266, + "col_end": 19, + "desc": "Automated Market Maker Trading Fees", + "project": "", + "type": "text", + "jsfbt": "Automated Market Maker Trading Fees" + }, + { + "hashToText": { + "6rdfQZvas+fiDjSHxow4eg==": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees." + }, + "filepath": "pages/earn-info.js", + "line_beg": 269, + "col_beg": 19, + "line_end": 272, + "col_end": 19, + "desc": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "project": "", + "type": "text", + "jsfbt": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees." + }, + { + "hashToText": { + "2s5bfmOIB9D235Zgizl9yg==": "Impermanent loss is minimized while LP fees and rewards are maximized." + }, + "filepath": "pages/earn-info.js", + "line_beg": 275, + "col_beg": 19, + "line_end": 278, + "col_end": 19, + "desc": "Impermanent loss is minimized while LP fees and rewards are maximized.", + "project": "", + "type": "text", + "jsfbt": "Impermanent loss is minimized while LP fees and rewards are maximized." + }, + { + "hashToText": { + "DpA4NTX81jDNtjAPUtUuFg==": "Liquidity Mining Rewards" + }, + "filepath": "pages/earn-info.js", + "line_beg": 305, + "col_beg": 19, + "line_end": 305, + "col_end": 78, + "desc": "Liquidity Mining Rewards", + "project": "", + "type": "text", + "jsfbt": "Liquidity Mining Rewards" + }, + { + "hashToText": { + "N/Opf0/JDFPOnBPl7Z24yg==": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield." + }, + "filepath": "pages/earn-info.js", + "line_beg": 308, + "col_beg": 19, + "line_end": 311, + "col_end": 19, + "desc": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "project": "", + "type": "text", + "jsfbt": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield." + }, + { + "hashToText": { + "IU3dH+6jwq6rQmZI6cUIGw==": "Receive all your yield in OUSD automatically. There's no need to actively manage your DeFi portfolio." + }, + "filepath": "pages/earn-info.js", + "line_beg": 314, + "col_beg": 19, + "line_end": 317, + "col_end": 19, + "desc": "Receive all your yield in OUSD automatically. There's no need to actively manage your DeFi portfolio.", + "project": "", + "type": "text", + "jsfbt": "Receive all your yield in OUSD automatically. There's no need to actively manage your DeFi portfolio." + }, + { + "hashToText": { + "13r66JWOc2wHUSMPvYiG2A==": "OUSD compounds continuously" + }, + "filepath": "pages/earn-info.js", + "line_beg": 327, + "col_beg": 13, + "line_end": 327, + "col_end": 78, + "desc": "OUSD compounds continuously", + "project": "", + "type": "text", + "jsfbt": "OUSD compounds continuously" + }, + { + "hashToText": { + "dYNCgjnbzryV/jzCiDxjog==": "Achieve financial security and create wealth faster than ever before." + }, + "filepath": "pages/earn-info.js", + "line_beg": 330, + "col_beg": 13, + "line_end": 333, + "col_end": 13, + "desc": "Achieve financial security and create wealth faster than ever before.", + "project": "", + "type": "text", + "jsfbt": "Achieve financial security and create wealth faster than ever before." + }, + { + "hashToText": { + "S5NKpUDtMdpOzD12ISCkwg==": "Growth of $10,000 over 2 years" + }, + "filepath": "pages/earn-info.js", + "line_beg": 337, + "col_beg": 15, + "line_end": 340, + "col_end": 15, + "desc": "Growth of $10,000 over 2 years", + "project": "", + "type": "text", + "jsfbt": "Growth of $10,000 over 2 years" + }, + { + "hashToText": { + "GOqXzmx6CtL0DEvRrHsm0g==": "Months" + }, + "filepath": "pages/earn-info.js", + "line_beg": 352, + "col_beg": 36, + "line_end": 352, + "col_end": 59, + "desc": "Months", + "project": "", + "type": "text", + "jsfbt": "Months" + }, + { + "hashToText": { + "jMDT1FRmlAJ6cE9fiyKgHw==": "Decentralized Governance" + }, + "filepath": "pages/governance.js", + "line_beg": 15, + "col_beg": 13, + "line_end": 15, + "col_end": 72, + "desc": "Decentralized Governance", + "project": "", + "type": "text", + "jsfbt": "Decentralized Governance" + }, + { + "hashToText": { + "ar32py+38OuopzrCztZA3w==": "The protocol is developed and maintained by Origin Protocol and governed fully by its users" + }, + "filepath": "pages/governance.js", + "line_beg": 18, + "col_beg": 13, + "line_end": 21, + "col_end": 13, + "desc": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "project": "", + "type": "text", + "jsfbt": "The protocol is developed and maintained by Origin Protocol and governed fully by its users" + }, + { + "hashToText": { + "u1lPHmPBOXim9oF/bqZMtQ==": "Incentivizing stakeholders" + }, + "filepath": "pages/governance.js", + "line_beg": 28, + "col_beg": 13, + "line_end": 28, + "col_end": 76, + "desc": "Incentivizing stakeholders", + "project": "", + "type": "text", + "jsfbt": "Incentivizing stakeholders" + }, + { + "hashToText": { + "IGTp74umeNR8bTmXFObhMg==": "Governance privileges and incentives will be given to users that create value for the OUSD platform" + }, + "filepath": "pages/governance.js", + "line_beg": 31, + "col_beg": 13, + "line_end": 34, + "col_end": 13, + "desc": "Governance privileges and incentives will be given to users that create value for the OUSD platform", + "project": "", + "type": "text", + "jsfbt": "Governance privileges and incentives will be given to users that create value for the OUSD platform" + }, + { + "hashToText": { + "IMWi3BI3KXWXk7xKrhrG4Q==": "Convert stablecoins to OUSD" + }, + "filepath": "pages/governance.js", + "line_beg": 45, + "col_beg": 17, + "line_end": 48, + "col_end": 17, + "desc": "Convert stablecoins to OUSD", + "project": "", + "type": "text", + "jsfbt": "Convert stablecoins to OUSD" + }, + { + "hashToText": { + "bxTUZKWVWCr30HvhSncFrA==": "Supply liquidity" + }, + "filepath": "pages/governance.js", + "line_beg": 59, + "col_beg": 17, + "line_end": 59, + "col_end": 60, + "desc": "Supply liquidity", + "project": "", + "type": "text", + "jsfbt": "Supply liquidity" + }, + { + "hashToText": { + "Vn+JsiRDnQA695BMWcVReg==": "Stake OGN" + }, + "filepath": "pages/governance.js", + "line_beg": 69, + "col_beg": 39, + "line_end": 69, + "col_end": 68, + "desc": "Stake OGN", + "project": "", + "type": "text", + "jsfbt": "Stake OGN" + }, + { + "hashToText": { + "atIjK33MHNOYEegMUBTT/Q==": "Help shape the future of OUSD" + }, + "filepath": "pages/governance.js", + "line_beg": 78, + "col_beg": 15, + "line_end": 81, + "col_end": 15, + "desc": "Help shape the future of OUSD", + "project": "", + "type": "text", + "jsfbt": "Help shape the future of OUSD" + }, + { + "hashToText": { + "1O3KRR2a1eqzJ28XqCbirg==": "Discord" + }, + "filepath": "pages/governance.js", + "line_beg": 98, + "col_beg": 19, + "line_end": 98, + "col_end": 44, + "desc": "Discord", + "project": "", + "type": "text", + "jsfbt": "Discord" + }, + { + "hashToText": { + "d9kod7MSXOkJtn4+7BiFnA==": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community." + }, + "filepath": "pages/governance.js", + "line_beg": 101, + "col_beg": 19, + "line_end": 104, + "col_end": 19, + "desc": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "project": "", + "type": "text", + "jsfbt": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community." + }, + { + "hashToText": { + "DRYiWTT61leLOdvSHJ2png==": "Github" + }, + "filepath": "pages/governance.js", + "line_beg": 121, + "col_beg": 19, + "line_end": 121, + "col_end": 42, + "desc": "Github", + "project": "", + "type": "text", + "jsfbt": "Github" + }, + { + "hashToText": { + "D2BkENXUhrNEQVtUxZPkGg==": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute." + }, + "filepath": "pages/governance.js", + "line_beg": 124, + "col_beg": 19, + "line_end": 127, + "col_end": 19, + "desc": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "project": "", + "type": "text", + "jsfbt": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute." + }, + { + "hashToText": { + "2cqVSVwh3a1CT1qAI30k2w==": "Snapshot" + }, + "filepath": "pages/governance.js", + "line_beg": 144, + "col_beg": 19, + "line_end": 144, + "col_end": 46, + "desc": "Snapshot", + "project": "", + "type": "text", + "jsfbt": "Snapshot" + }, + { + "hashToText": { + "sE8dArFjFeVrC6TNkRM9mA==": "Off chain voting interface where users can express their sentiment on various proposals." + }, + "filepath": "pages/governance.js", + "line_beg": 147, + "col_beg": 19, + "line_end": 150, + "col_end": 19, + "desc": "Off chain voting interface where users can express their sentiment on various proposals.", + "project": "", + "type": "text", + "jsfbt": "Off chain voting interface where users can express their sentiment on various proposals." + }, + { + "hashToText": { + "4oKoSqdNNyUdsIsFJjH7uQ==": "No wallet connected" + }, + "filepath": "pages/history.js", + "line_beg": 26, + "col_beg": 17, + "line_end": 26, + "col_end": 72, + "desc": "Disconnected dapp message", + "project": "", + "type": "text", + "jsfbt": "No wallet connected" + }, + { + "hashToText": { + "Tm8+cx+8Lu9MFgI+mWaUqg==": "Please connect an Ethereum wallet" + }, + "filepath": "pages/history.js", + "line_beg": 29, + "col_beg": 17, + "line_end": 32, + "col_end": 17, + "desc": "Disconnected dapp subtext", + "project": "", + "type": "text", + "jsfbt": "Please connect an Ethereum wallet" + }, + { + "hashToText": { + "UIET7TTNchuNscN3TGcj3A==": "Introducing" + }, + "filepath": "pages/index.js", + "line_beg": 63, + "col_beg": 17, + "line_end": 63, + "col_end": 50, + "desc": "Introducing", + "project": "", + "type": "text", + "jsfbt": "Introducing" + }, + { + "hashToText": { + "pT/Yqh6qkedN9B1U/CQRhg==": "The first stablecoin that earns a yield while it’s still in your wallet" + }, + "filepath": "pages/index.js", + "line_beg": 67, + "col_beg": 17, + "line_end": 70, + "col_end": 17, + "desc": "The first stablecoin that earns a yield while it’s still in your wallet", + "project": "", + "type": "text", + "jsfbt": "The first stablecoin that earns a yield while it’s still in your wallet" + }, + { + "hashToText": { + "koGxOi6ymRSZYRKZjOr2Xg==": "Currently earning" + }, + "filepath": "pages/index.js", + "line_beg": 90, + "col_beg": 19, + "line_end": 90, + "col_end": 64, + "desc": "Currently earning", + "project": "", + "type": "text", + "jsfbt": "Currently earning" + }, + { + "hashToText": { + "7D0Rjx+PNQWgjYaIULddDw==": "Based on a trailing 365-day calculation" + }, + "filepath": "pages/index.js", + "line_beg": 96, + "col_beg": 19, + "line_end": 99, + "col_end": 19, + "desc": "Based on a trailing 365-day calculation", + "project": "", + "type": "text", + "jsfbt": "Based on a trailing 365-day calculation" + }, + { + "hashToText": { + "iOgfXeLqS/ajLJpQSKe9zQ==": "Convert your USDT, USDC, and DAI to OUSD to start earning yields immediately" + }, + "filepath": "pages/index.js", + "line_beg": 102, + "col_beg": 19, + "line_end": 105, + "col_end": 19, + "desc": "Convert your USDT, USDC, and DAI to OUSD to start earning yields immediately", + "project": "", + "type": "text", + "jsfbt": "Convert your USDT, USDC, and DAI to OUSD to start earning yields immediately" + }, + { + "hashToText": { + "Khxc6DjMBOWW8nkb52sO2w==": "All the earnings, none of the hassles" + }, + "filepath": "pages/index.js", + "line_beg": 124, + "col_beg": 19, + "line_end": 127, + "col_end": 19, + "desc": "All the earnings, none of the hassles", + "project": "", + "type": "text", + "jsfbt": "All the earnings, none of the hassles" + }, + { + "hashToText": { + "LXa1xbu+EUhmGFcHxMMiDA==": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required." + }, + "filepath": "pages/index.js", + "line_beg": 130, + "col_beg": 19, + "line_end": 133, + "col_end": 19, + "desc": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required.", + "project": "", + "type": "text", + "jsfbt": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required." + }, + { + "hashToText": { + "Yy91/yocauFh5ph5ghAlAg==": "Spend your OUSD with ease" + }, + "filepath": "pages/index.js", + "line_beg": 148, + "col_beg": 19, + "line_end": 151, + "col_end": 19, + "desc": "Spend your OUSD with ease", + "project": "", + "type": "text", + "jsfbt": "Spend your OUSD with ease" + }, + { + "hashToText": { + "xNbRf8GkTWI+N2tUj10HaQ==": "There's no need to unwind complicated positions when you want to spend your OUSD. Transfer OUSD without having to unstake or unlock capital." + }, + "filepath": "pages/index.js", + "line_beg": 154, + "col_beg": 19, + "line_end": 157, + "col_end": 19, + "desc": "There's no need to unwind complicated positions when you want to spend your OUSD. Transfer OUSD without having to unstake or unlock capital.", + "project": "", + "type": "text", + "jsfbt": "There's no need to unwind complicated positions when you want to spend your OUSD. Transfer OUSD without having to unstake or unlock capital." + }, + { + "hashToText": { + "l9vrHmk0x5NJzBnPur8eTA==": "Elastic supply, stable price" + }, + "filepath": "pages/index.js", + "line_beg": 176, + "col_beg": 19, + "line_end": 179, + "col_end": 19, + "desc": "Elastic supply, stable price", + "project": "", + "type": "text", + "jsfbt": "Elastic supply, stable price" + }, + { + "hashToText": { + "hjl930IlVAFNWZXaXK6lUg==": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts." + }, + "filepath": "pages/index.js", + "line_beg": 182, + "col_beg": 19, + "line_end": 185, + "col_end": 19, + "desc": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "project": "", + "type": "text", + "jsfbt": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts." + }, + { + "hashToText": { + "x/rq+48KCdpCrB43vvGXiA==": "1:1 backed by other stablecoins" + }, + "filepath": "pages/index.js", + "line_beg": 203, + "col_beg": 19, + "line_end": 206, + "col_end": 19, + "desc": "1:1 backed by other stablecoins", + "project": "", + "type": "text", + "jsfbt": "1:1 backed by other stablecoins" + }, + { + "hashToText": { + "9dzeq0EhEOd8q9zUT8JptA==": "OUSD is secured by other proven stablecoins like USDT, USDC, and DAI. Capital is further insured by governance tokens issued by platforms like Aave and MakerDAO." + }, + "filepath": "pages/index.js", + "line_beg": 209, + "col_beg": 19, + "line_end": 212, + "col_end": 19, + "desc": "OUSD is secured by other proven stablecoins like USDT, USDC, and DAI. Capital is further insured by governance tokens issued by platforms like Aave and MakerDAO.", + "project": "", + "type": "text", + "jsfbt": "OUSD is secured by other proven stablecoins like USDT, USDC, and DAI. Capital is further insured by governance tokens issued by platforms like Aave and MakerDAO." + }, + { + "hashToText": { + "0SI4XRzr5CQOD7Zsujju1g==": "Automated yield farming" + }, + "filepath": "pages/index.js", + "line_beg": 228, + "col_beg": 19, + "line_end": 228, + "col_end": 76, + "desc": "Automated yield farming", + "project": "", + "type": "text", + "jsfbt": "Automated yield farming" + }, + { + "hashToText": { + "gExN19Sw8MOWEvmwLuIBRA==": "Automated strategies in transparent OUSD smart contracts manage your funds. See exactly how your money is being put to work." + }, + "filepath": "pages/index.js", + "line_beg": 231, + "col_beg": 19, + "line_end": 234, + "col_end": 19, + "desc": "Automated strategies in transparent OUSD smart contracts manage your funds. See exactly how your money is being put to work.", + "project": "", + "type": "text", + "jsfbt": "Automated strategies in transparent OUSD smart contracts manage your funds. See exactly how your money is being put to work." + }, + { + "hashToText": { + "bgic88qjCJFUMpBOBBWYGw==": "You always have full control" + }, + "filepath": "pages/index.js", + "line_beg": 250, + "col_beg": 19, + "line_end": 253, + "col_end": 19, + "desc": "You always have full control", + "project": "", + "type": "text", + "jsfbt": "You always have full control" + }, + { + "hashToText": { + "zdGkMvHCwKRpbuHPSbMA1A==": "Store and earn OUSD with non-custodial Ethereum wallets. Enter and exit OUSD whenever you want. There's no minimum holding period or minimum OUSD amount required to earn yields." + }, + "filepath": "pages/index.js", + "line_beg": 256, + "col_beg": 19, + "line_end": 259, + "col_end": 19, + "desc": "Store and earn OUSD with non-custodial Ethereum wallets. Enter and exit OUSD whenever you want. There's no minimum holding period or minimum OUSD amount required to earn yields.", + "project": "", + "type": "text", + "jsfbt": "Store and earn OUSD with non-custodial Ethereum wallets. Enter and exit OUSD whenever you want. There's no minimum holding period or minimum OUSD amount required to earn yields." + }, + { + "hashToText": { + "fKVVGBikSITTVxaH5uMUqA==": "Backed by optional insurance" + }, + "filepath": "pages/index.js", + "line_beg": 275, + "col_beg": 19, + "line_end": 278, + "col_end": 19, + "desc": "Backed by optional insurance", + "project": "", + "type": "text", + "jsfbt": "Backed by optional insurance" + }, + { + "hashToText": { + "R8GyAgWKJJS+1McTPFkwcQ==": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce." + }, + "filepath": "pages/index.js", + "line_beg": 281, + "col_beg": 19, + "line_end": 284, + "col_end": 19, + "desc": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "project": "", + "type": "text", + "jsfbt": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce." + }, + { + "hashToText": { + "/9qN0EH5cQcDREpoqPFgFg==": "Learn more >" + }, + "filepath": "pages/index.js", + "line_beg": 291, + "col_beg": 19, + "line_end": 291, + "col_end": 54, + "desc": "Learn more >", + "project": "", + "type": "text", + "jsfbt": "Learn more >" + }, + { + "hashToText": { + "lYqlxrUIpbnCP04jYxwvww==": "Exchanges and partners" + }, + "filepath": "pages/index.js", + "line_beg": 308, + "col_beg": 17, + "line_end": 308, + "col_end": 72, + "desc": "Exchanges and partners", + "project": "", + "type": "text", + "jsfbt": "Exchanges and partners" + }, + { + "hashToText": { + "U9SFkOdKvOyEgLvLRiyjpA==": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges." + }, + "filepath": "pages/index.js", + "line_beg": 310, + "col_beg": 15, + "line_end": 313, + "col_end": 15, + "desc": "Where to get OUSD explanation text", + "project": "", + "type": "text", + "jsfbt": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges." + }, + { + "hashToText": { + "2JyyNhfqGFhXdj5xE7P7FQ==": "KuCoin" + }, + "filepath": "pages/index.js", + "line_beg": 329, + "col_beg": 22, + "line_end": 329, + "col_end": 45, + "desc": "KuCoin", + "project": "", + "type": "text", + "jsfbt": "KuCoin" + }, + { + "hashToText": { + "ElyDkp2cYT3xXHSEsWSxOg==": "Uniswap" + }, + "filepath": "pages/index.js", + "line_beg": 345, + "col_beg": 22, + "line_end": 345, + "col_end": 47, + "desc": "Uniswap", + "project": "", + "type": "text", + "jsfbt": "Uniswap" + }, + { + "hashToText": { + "VUKvzCK0urdnknCh3o/4GA==": "Curve" + }, + "filepath": "pages/index.js", + "line_beg": 361, + "col_beg": 22, + "line_end": 361, + "col_end": 43, + "desc": "Curve", + "project": "", + "type": "text", + "jsfbt": "Curve" + }, + { + "hashToText": { + "8+PStlgiQ4AfnyqRmJBIlw==": "The perfect stablecoin for both spending and saving" + }, + "filepath": "pages/index.js", + "line_beg": 386, + "col_beg": 15, + "line_end": 389, + "col_end": 15, + "desc": "The perfect stablecoin for both spending and saving", + "project": "", + "type": "text", + "jsfbt": "The perfect stablecoin for both spending and saving" + }, + { + "hashToText": { + "PB8NB1N3kBL2bHe5esqAxg==": "Beat traditional savings and money markets" + }, + "filepath": "pages/index.js", + "line_beg": 401, + "col_beg": 17, + "line_end": 404, + "col_end": 17, + "desc": "Beat traditional savings and money markets", + "project": "", + "type": "text", + "jsfbt": "Beat traditional savings and money markets" + }, + { + "hashToText": { + "in/iLUMq7o+p9faJbZxOOw==": "At an estimated APY of {current-apy}, OUSD earnings trounce traditional financial instruments." + }, + "filepath": "pages/index.js", + "line_beg": 407, + "col_beg": 17, + "line_end": 413, + "col_end": 17, + "desc": "At estimated APYs over X, OUSD earnings trounce traditional financial instruments.", + "project": "", + "type": "text", + "jsfbt": "At an estimated APY of {current-apy}, OUSD earnings trounce traditional financial instruments." + }, + { + "hashToText": { + "aszzI/6YphvOWVciBw3x2g==": "Instantaneous peer-to-peer transfers" + }, + "filepath": "pages/index.js", + "line_beg": 424, + "col_beg": 17, + "line_end": 427, + "col_end": 17, + "desc": "Instantaneous peer-to-peer transfers", + "project": "", + "type": "text", + "jsfbt": "Instantaneous peer-to-peer transfers" + }, + { + "hashToText": { + "sHbVsBV5jDfU0O+qwDxZFA==": "Send OUSD to pay your friends and family instead of using Venmo or Paypal. They’ll earn yield immediately." + }, + "filepath": "pages/index.js", + "line_beg": 430, + "col_beg": 17, + "line_end": 433, + "col_end": 17, + "desc": "Send OUSD to pay your friends and family instead of using Venmo or Paypal. They’ll earn yield immediately.", + "project": "", + "type": "text", + "jsfbt": "Send OUSD to pay your friends and family instead of using Venmo or Paypal. They’ll earn yield immediately." + }, + { + "hashToText": { + "a02tkVDrHq5VBCYHEVXNkw==": "Remittances without fees" + }, + "filepath": "pages/index.js", + "line_beg": 446, + "col_beg": 17, + "line_end": 446, + "col_end": 76, + "desc": "Remittances without fees", + "project": "", + "type": "text", + "jsfbt": "Remittances without fees" + }, + { + "hashToText": { + "r/WjW4Ym4aB4ytR8llYPbw==": "Need to send money to China or the Philippines? Your recipients get OUSD without losing the average of 6.7% on fees." + }, + "filepath": "pages/index.js", + "line_beg": 449, + "col_beg": 17, + "line_end": 452, + "col_end": 17, + "desc": "Need to send money to China or the Philippines? Your recipients get OUSD without losing the average of 6.7% on fees.", + "project": "", + "type": "text", + "jsfbt": "Need to send money to China or the Philippines? Your recipients get OUSD without losing the average of 6.7% on fees." + }, + { + "hashToText": { + "qpZWkQ2VH7Akt8FNvK7d6Q==": "A better unit of account" + }, + "filepath": "pages/index.js", + "line_beg": 463, + "col_beg": 17, + "line_end": 463, + "col_end": 76, + "desc": "A better unit of account", + "project": "", + "type": "text", + "jsfbt": "A better unit of account" + }, + { + "hashToText": { + "yJathD6+iznFBqAtqSpkUg==": "Easily track your DeFi earnings without complicated spreadsheets and custom dashboards." + }, + "filepath": "pages/index.js", + "line_beg": 466, + "col_beg": 17, + "line_end": 469, + "col_end": 17, + "desc": "Easily track your DeFi earnings without complicated spreadsheets and custom dashboards.", + "project": "", + "type": "text", + "jsfbt": "Easily track your DeFi earnings without complicated spreadsheets and custom dashboards." + }, + { + "hashToText": { + "bYlsXfeHy/DCcOarNVc3yA==": "Audited and Verified" + }, + "filepath": "pages/index.js", + "line_beg": 478, + "col_beg": 17, + "line_end": 478, + "col_end": 68, + "desc": "Audited and Verified", + "project": "", + "type": "text", + "jsfbt": "Audited and Verified" + }, + { + "hashToText": { + "cXsCRV9aAx6mMto520KyJg==": "OUSD has been audited by multiple, well-respected security firms." + }, + "filepath": "pages/index.js", + "line_beg": 480, + "col_beg": 15, + "line_end": 483, + "col_end": 15, + "desc": "OUSD has been audited by multiple, well-respected security firms.", + "project": "", + "type": "text", + "jsfbt": "OUSD has been audited by multiple, well-respected security firms." + }, + { + "hashToText": { + "hPSBs5R+KOmoUvv3akjABA==": "Trail of bits" + }, + "filepath": "pages/index.js", + "line_beg": 501, + "col_beg": 22, + "line_end": 501, + "col_end": 59, + "desc": "Trail of bits", + "project": "", + "type": "text", + "jsfbt": "Trail of bits" + }, + { + "hashToText": { + "fMi4wDb2JcuuDkmITMUarg==": "Certora" + }, + "filepath": "pages/index.js", + "line_beg": 513, + "col_beg": 22, + "line_end": 513, + "col_end": 47, + "desc": "Certora", + "project": "", + "type": "text", + "jsfbt": "Certora" + }, + { + "hashToText": { + "VGjSIMJ7Ep5HHDXjlt+deQ==": "Solidified" + }, + "filepath": "pages/index.js", + "line_beg": 528, + "col_beg": 22, + "line_end": 528, + "col_end": 53, + "desc": "Solidified", + "project": "", + "type": "text", + "jsfbt": "Solidified" + }, + { + "hashToText": { + "CLqb9c0CLJZ18lE1YjORww==": "OpenZeppelin" + }, + "filepath": "pages/index.js", + "line_beg": 540, + "col_beg": 22, + "line_end": 540, + "col_end": 57, + "desc": "OpenZeppelin", + "project": "", + "type": "text", + "jsfbt": "OpenZeppelin" + }, + { + "hashToText": { + "i0FdhepH7ePiSuHoPmfyew==": "Protocol security remains top priority" + }, + "filepath": "pages/index.js", + "line_beg": 544, + "col_beg": 15, + "line_end": 547, + "col_end": 15, + "desc": "Protocol security remains top priority", + "project": "", + "type": "text", + "jsfbt": "Protocol security remains top priority" + }, + { + "hashToText": { + "biO4TQTriLc5kyCBxNea4g==": "5 (of 8) signatures required for any admin changes" + }, + "filepath": "pages/index.js", + "line_beg": 564, + "col_beg": 19, + "line_end": 567, + "col_end": 19, + "desc": "5 (of 8) signatures required for any admin changes", + "project": "", + "type": "text", + "jsfbt": "5 (of 8) signatures required for any admin changes" + }, + { + "hashToText": { + "ojXln/6hGEuLv1wnE57Iog==": "48 hour time delay before changes come into affect" + }, + "filepath": "pages/index.js", + "line_beg": 585, + "col_beg": 19, + "line_end": 588, + "col_end": 19, + "desc": "48 hour time delay before changes come into affect", + "project": "", + "type": "text", + "jsfbt": "48 hour time delay before changes come into affect" + }, + { + "hashToText": { + "5CJ/uWTEXkLuyKzsBOVb4Q==": "Nexus mutual insurance" + }, + "filepath": "pages/index.js", + "line_beg": 602, + "col_beg": 19, + "line_end": 602, + "col_end": 74, + "desc": "Nexus mutual insurance", + "project": "", + "type": "text", + "jsfbt": "Nexus mutual insurance" + }, + { + "hashToText": { + "LgrXeS6yXOehFvcW2pdSxw==": "InsurAce insurance" + }, + "filepath": "pages/index.js", + "line_beg": 616, + "col_beg": 19, + "line_end": 616, + "col_end": 66, + "desc": "InsurAce insurance", + "project": "", + "type": "text", + "jsfbt": "InsurAce insurance" + }, + { + "hashToText": { + "iK+9HhcFqgj+NKFKs8cITg==": "Follow our development" + }, + "filepath": "pages/index.js", + "line_beg": 625, + "col_beg": 15, + "line_end": 625, + "col_end": 70, + "desc": "Follow our development", + "project": "", + "type": "text", + "jsfbt": "Follow our development" + }, + { + "hashToText": { + "apif1jf1uk1UqlAiBfmK4g==": "Join us on Discord" + }, + "filepath": "pages/index.js", + "line_beg": 637, + "col_beg": 21, + "line_end": 637, + "col_end": 68, + "desc": "Join us on Discord", + "project": "", + "type": "text", + "jsfbt": "Join us on Discord" + }, + { + "hashToText": { + "BI0HOYJ5K+HqNFq60lpG5g==": "Check out our GitHub" + }, + "filepath": "pages/index.js", + "line_beg": 649, + "col_beg": 21, + "line_end": 649, + "col_end": 72, + "desc": "Check out our GitHub", + "project": "", + "type": "text", + "jsfbt": "Check out our GitHub" + }, + { + "hashToText": { + "0nx6mBR3ycNnY57EyWXGxA==": "View the documentation" + }, + "filepath": "pages/index.js", + "line_beg": 661, + "col_beg": 21, + "line_end": 661, + "col_end": 76, + "desc": "View the documentation", + "project": "", + "type": "text", + "jsfbt": "View the documentation" + }, + { + "hashToText": { + "SuhY11ChzWCly6lYXO17cw==": "Redirecting..." + }, + "filepath": "pages/mint.js", + "line_beg": 13, + "col_beg": 7, + "line_end": 13, + "col_end": 46, + "desc": "Redirecting...", + "project": "", + "type": "text", + "jsfbt": "Redirecting..." + }, + { + "hashToText": { + "bgW02lGxcvAKpC6dRqoEXA==": "Loading..." + }, + "filepath": "pages/pool/[pool_name]/index.js", + "line_beg": 29, + "col_beg": 40, + "line_end": 29, + "col_end": 71, + "desc": "Loading...", + "project": "", + "type": "text", + "jsfbt": "Loading..." + }, + { + "hashToText": { + "SuhY11ChzWCly6lYXO17cw==": "Redirecting..." + }, + "filepath": "pages/stake.js", + "line_beg": 13, + "col_beg": 7, + "line_end": 13, + "col_end": 46, + "desc": "Redirecting...", + "project": "", + "type": "text", + "jsfbt": "Redirecting..." + }, + { + "hashToText": { + "4oKoSqdNNyUdsIsFJjH7uQ==": "No wallet connected" + }, + "filepath": "pages/wrap.js", + "line_beg": 30, + "col_beg": 21, + "line_end": 30, + "col_end": 76, + "desc": "Disconnected dapp message", + "project": "", + "type": "text", + "jsfbt": "No wallet connected" + }, + { + "hashToText": { + "Tm8+cx+8Lu9MFgI+mWaUqg==": "Please connect an Ethereum wallet" + }, + "filepath": "pages/wrap.js", + "line_beg": 33, + "col_beg": 21, + "line_end": 36, + "col_end": 21, + "desc": "Disconnected dapp subtext", + "project": "", + "type": "text", + "jsfbt": "Please connect an Ethereum wallet" + } + ], + "childParentMappings": {} +} diff --git a/dapp-oeth/.src_manifest.json b/dapp-oeth/.src_manifest.json new file mode 100644 index 0000000000..5e8e972076 --- /dev/null +++ b/dapp-oeth/.src_manifest.json @@ -0,0 +1 @@ +{".enum_manifest.json":["src/components/_AccountStatusContent.js","src/components/AccountStatusDropdown.js","src/components/AppFooter.js","src/components/buySell/ApproveSwap.js","src/components/buySell/BalanceHeader.js","src/components/buySell/ConfirmationModal.js","src/components/buySell/ContractsTable.js","src/components/buySell/ErrorModal.js","src/components/buySell/SettingsDropdown.js","src/components/buySell/SwapCurrencyPill.js","src/components/buySell/SwapHomepage.js","src/components/ClaimStakeModal.js","src/components/Closing.js","src/components/earn/CurrentStakeLockup.js","src/components/earn/CurveStake.js","src/components/earn/LiquidityMiningWidget.js","src/components/earn/LiquidityWizard.js","src/components/earn/modal/ApyModal.js","src/components/earn/modal/ClaimModal.js","src/components/earn/modal/StakeDetailsModal.js","src/components/earn/modal/StakeModal.js","src/components/earn/modal/UnstakeModal.js","src/components/earn/OgnDropdown.js","src/components/earn/OusdDropdown.js","src/components/earn/Pool.js","src/components/earn/PoolDetails.js","src/components/earn/RewardsBoost.js","src/components/earn/StakeBoxBig.js","src/components/earn/StakeDetailEquation.js","src/components/earn/StakeUI.js","src/components/earn/UniswapPoolLink.js","src/components/EmailForm.js","src/components/GetOUSD.js","src/components/IPFSDappLink.js","src/components/layout.js","src/components/LedgerDerivationContent.js","src/components/MarketingFooter.js","src/components/MissionControl.js","src/components/Nav.js","src/components/sidePanel/SidePanelInsuranceMessage.js","src/components/sidePanel/SidePanelStakeMessage.js","src/components/sidePanel/SidePanelTransactionMessage.js","src/components/sidePanel/SidePanelWelcomeMessage.js","src/components/sidePanel/SidePanelWrapMessage.js","src/components/sidePanel/SidePanelWrapWelcomeMessage.js","src/components/SignTransferAuth.js","src/components/TransactionHistory.js","src/components/WalletSelectContent.js","src/components/wrap/BalanceHeaderWrapped.js","src/components/wrap/WrapHomepage.js","src/components/wrap/WrapOusdPill.js","src/utils/stake.js","pages/compensation.js","pages/dapp.js","pages/earn-info.js","pages/earn.js","pages/governance.js","pages/history.js","pages/index.js","pages/mint.js","pages/pool/[pool_name]/index.js","pages/stake.js","pages/wrap.js"]} \ No newline at end of file diff --git a/dapp-oeth/.translated_fbts.json b/dapp-oeth/.translated_fbts.json new file mode 100644 index 0000000000..7be50ee337 --- /dev/null +++ b/dapp-oeth/.translated_fbts.json @@ -0,0 +1,6326 @@ +{ + "de_DE": { + "1jPSOs": "Wrong network", + "1jkdbc": "Connected to {network-name}", + "4AutCu": "Disconnect", + "2pLcqa": "Analytics", + "1W0h5E": "Jobs", + "2sBRPu": "Docs", + "3pDcYN": "Terms", + "31niVc": "Privacy", + "2rW6zN": "Discord", + "4gWLo1": "Built by Origin Protocol", + "1YneSG": "Waiting for you to confirm...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Refresh", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"", + "pIZfD": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened.", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "days", + "2K2bO2": "Annualized Yield", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "Start earning with OUSD in just a few minutes", + "1baarA": "Unlocked", + "L7ge6": "Principal", + "39pdOX": "Interest", + "4lZnET": "Total", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Deposit", + "3SN6Zt": "Deposit LP tokens", + "3ZzuaD": "Approve & deposit", + "1u6rQQ": "Permission to use {LP token name}", + "5UwYb": "Your LP tokens will remain staked", + "2roQJA": "Available LP tokens", + "Dwz0K": "Deposited LP tokens", + "3NtfDc": "Withdraw", + "KxKU9": "When you withdraw, your OGN is claimed automatically", + "4nnBQS": "Unclaimed OGN", + "1bH81E": "Your rate: {weekly-rate} OGN/week", + "1MDjh6": "Claim", + "1girMq": "How to Earn OGN by Providing Liquidity to OUSD", + "17MLRp": "Purchase OUSD", + "1qkHTQ": "Provide liquidity", + "cvWeb": "Deposit to earn OGN", + "2CPasx": "Loading...", + "477gIa": "Get OUSD by minting it or buying it on an exchange", + "3vfiBp": "Swap OUSD", + "440N92": "Provide {pool name} liquidity on Uniswap", + "1VLYE8": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity.", + "2S4fxr": "Learn more", + "3EwDTh": "Visit Uniswap", + "3B66pk": "Deposit your LP tokens and start earning OGN", + "1NBzUp": "Take me there", + "1ERLYJ": "Pool Contract", + "2Ml9PK": "Rewards Contract", + "3nG9sm": "Current Staking Reward", + "3QWPjm": "Liquidity Provider Fees", + "NGVPX": "Projected Performance Bonus", + "4C96BC": "{pool name} pool APY", + "1OUWUR": "Claim OGN", + "1FMVwg": "Please confirm your transaction…", + "1zjMH4": "Earning", + "46QM11": "Complete", + "ByQEG": "{Stake rate}% - {Duration in days} days", + "1gWuD3": "Status", + "3lJX8R": "Lock-up Date", + "2JakeR": "Maturity Date", + "3gBFcU": "Duration", + "4hfOSZ": "{days} days", + "cxJ5S": "Interest Rate", + "lwOCl": "Total Interest Accrued", + "C70gA": "Interest Accrued", + "1tLOzb": "Total to date", + "x8EZB": "Interest Remaning", + "4euN6q": "Maturity Amount", + "6qUzg": "Deposit Transaction", + "1SW6CR": "Withdrawal Transaction", + "4wKAIm": "Insufficient OGN balance", + "3id3UW": "Amount to lock up", + "3onUuV": "Available: {tokens-amount}", + "4s5sFU": "Max", + "4gGbfA": "Approve", + "3YN7Sk": "Waiting for you to confirm…", + "2Wkohs": "Approving {LP token name}...", + "1qcGIX": "{Token to be approved name} approved", + "1lJhC8": "When you withdraw, your OGN is claimed automatically", + "OjbLO": "Unstake LP tokens", + "4y50Af": "Price", + "4lO2tB": "Circulating Supply", + "3rKlkU": "Market Cap", + "4iSbmE": "Visit OGN Dashboard", + "25RRqe": "Visit OUSD Dashboard", + "2ERPQi": "Approximate APY", + "29mlza": "LP token deposits", + "3daZoe": "Pool rate", + "5B3Td": "OGN/week", + "1Watk5": "Your weekly rate", + "8cqDM": "/ week", + "1DU9yn": "Eligible LP Tokens", + "6fZQJ": "All pools", + "2pt63C": "Pool rate (per week)", + "1S6Z5G": "Your position", + "361RXs": "LP token: {token name}", + "2rwqy0": "Start by connecting your wallet", + "IhpI": "{reward boost amount}x rewards!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "Staking contract has insufficient OGN funds", + "201foI": "All of the stakes are still in lock-up", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "Unexpected error happened", + "3Hc92T": "Stake now", + "2jEFb2": "Approve & stake", + "1NJQLG": "Permission to use OGN token", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Get started with staking by selecting a lock-up period", + "3nbZ64": "You will be able to claim your OGN principal plus interest at the end of the staking period.", + "3PO3Rb": "Available Lock-ups", + "2aPZNs": "Current Lock-ups", + "13TKqB": "Previous Lock-ups", + "2iJ38z": "APY", + "KMPDI": "Maturity", + "2waHGT": "{number_of_days} days", + "FVoGJ": "OGN Staking Contract", + "1ioxMA": "Uniswap pool", + "4e45N5": "You're already registered!", + "CUVe5": "Thanks for signing up!", + "2hryKC": "Error subscribing you to the email list", + "3MeNPr": "Get OUSD", + "3fk4nY": "Connect", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Unexpected error occurred. Please refresh page and try again.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Terms of Service", + "2kEL7A": "Privacy Policy", + "4d7d8o": "No wallet connected", + "4p8WTT": "Please connect an Ethereum wallet", + "4DdQgp": "Earn OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Home", + "3v8OaN": "Earn", + "4nBzhS": "Governance", + "OxsKT": "Debug", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "You're ready to provide liquidity and deposit to earn OGN", + "1ydkJH": "Continue", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Granting permission to move your {coin}", + "2eQ0qB": "Permission granted to move your {coin}", + "3RBkL5": "Failed granting permission to move your {coin}", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Welcome!", + "n3ZVI": "The Origin Dollar lets you easily convert other stablecoins into OUSD so you can instantly earn yields.", + "jcVm7": "You can buy up to ~{ousd-coin} OUSD with the {usdt-coin} USDT, {usdc-coin} USDC, and {dai-coin} DAI in your wallet.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}d left", + "3Hdm9G": "{hours left}h left", + "N6ggq": "{minutes left}m left", + "3WG8k4": "{seconds left}s left", + "VPnaK": "{days left} days left", + "wfwb5": "{hours left} hours left", + "3f3Ar0": "{minutes left} minutes left", + "2Au2g8": "{seconds left} seconds left", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "Redirecting...", + "2xq4Xy": "Earn competitive yields without lifting a finger", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "The OUSD smart contract pools capital from all stablecoin depositors, then routes capital to a diversified set of yield-earning strategies. Earnings are automatically converted to OUSD and deposited into your wallet.", + "385aCS": "Reward Fees", + "c17qT": "AMM Trading Fees", + "rLE40": "Liquidity Mining Rewards", + "22Gov9": "Plus, earn governance privileges and incentives when you contribute to the protocol.", + "1tAhoa": "Coming Soon", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Automated Market Maker Trading Fees", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Impermanent loss is minimized while LP fees and rewards are maximized.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Receive all your yield in OUSD automatically. There's no need to actively manage your DeFi portfolio.", + "KwmOl": "OUSD compounds continuously", + "2F2gKe": "Achieve financial security and create wealth faster than ever before.", + "2i6enW": "Growth of $10,000 over 2 years", + "3lygEf": "Months", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Incentivizing stakeholders", + "27oqvG": "Governance privileges and incentives will be given to users that create value for the OUSD platform", + "3BWDtW": "Convert stablecoins to OUSD", + "tL9Vi": "Supply liquidity", + "3bKjkh": "Stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Introducing", + "f1GjR": "The first stablecoin that earns a yield while it’s still in your wallet", + "2YiWgS": "Currently earning", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Convert your USDT, USDC, and DAI to OUSD to start earning yields immediately", + "4mNBbB": "All the earnings, none of the hassles", + "1eFOSq": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required.", + "48XJtG": "Spend your OUSD with ease", + "1OleQh": "There's no need to unwind complicated positions when you want to spend your OUSD. Transfer OUSD without having to unstake or unlock capital.", + "3LnSmq": "Elastic supply, stable price", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1 backed by other stablecoins", + "2Y956f": "OUSD is secured by other proven stablecoins like USDT, USDC, and DAI. Capital is further insured by governance tokens issued by platforms like Aave and MakerDAO.", + "ZkCqX": "Automated yield farming", + "3guScM": "Automated strategies in transparent OUSD smart contracts manage your funds. See exactly how your money is being put to work.", + "CXw7Y": "You always have full control", + "1FYoNd": "Store and earn OUSD with non-custodial Ethereum wallets. Enter and exit OUSD whenever you want. There's no minimum holding period or minimum OUSD amount required to earn yields.", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "The perfect stablecoin for both spending and saving", + "knVKF": "Beat traditional savings and money markets", + "37bU7L": "At an estimated APY of {current-apy}, OUSD earnings trounce traditional financial instruments.", + "2XvZNz": "Instantaneous peer-to-peer transfers", + "dVUpd": "Send OUSD to pay your friends and family instead of using Venmo or Paypal. They’ll earn yield immediately.", + "3HVRE9": "Remittances without fees", + "3b4MZ": "Need to send money to China or the Philippines? Your recipients get OUSD without losing the average of 6.7% on fees.", + "AAF3q": "A better unit of account", + "1cVSMs": "Easily track your DeFi earnings without complicated spreadsheets and custom dashboards.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Follow our development", + "oroj": "Join us on Discord", + "3b4HiA": "Check out our GitHub", + "3c9gh": "View the documentation" + }, + "el_GR": { + "1jPSOs": "Wrong network", + "1jkdbc": "Connected to {network-name}", + "4AutCu": "Disconnect", + "2pLcqa": "Analytics", + "1W0h5E": "Jobs", + "2sBRPu": "Docs", + "3pDcYN": "Terms", + "31niVc": "Privacy", + "2rW6zN": "Discord", + "4gWLo1": "Built by Origin Protocol", + "1YneSG": "Waiting for you to confirm...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Refresh", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"", + "pIZfD": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened.", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "days", + "2K2bO2": "Annualized Yield", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "Start earning with OUSD in just a few minutes", + "1baarA": "Unlocked", + "L7ge6": "Principal", + "39pdOX": "Interest", + "4lZnET": "Total", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Deposit", + "3SN6Zt": "Deposit LP tokens", + "3ZzuaD": "Approve & deposit", + "1u6rQQ": "Permission to use {LP token name}", + "5UwYb": "Your LP tokens will remain staked", + "2roQJA": "Available LP tokens", + "Dwz0K": "Deposited LP tokens", + "3NtfDc": "Withdraw", + "KxKU9": "When you withdraw, your OGN is claimed automatically", + "4nnBQS": "Unclaimed OGN", + "1bH81E": "Your rate: {weekly-rate} OGN/week", + "1MDjh6": "Claim", + "1girMq": "How to Earn OGN by Providing Liquidity to OUSD", + "17MLRp": "Purchase OUSD", + "1qkHTQ": "Provide liquidity", + "cvWeb": "Deposit to earn OGN", + "2CPasx": "Loading...", + "477gIa": "Get OUSD by minting it or buying it on an exchange", + "3vfiBp": "Swap OUSD", + "440N92": "Provide {pool name} liquidity on Uniswap", + "1VLYE8": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity.", + "2S4fxr": "Learn more", + "3EwDTh": "Visit Uniswap", + "3B66pk": "Deposit your LP tokens and start earning OGN", + "1NBzUp": "Take me there", + "1ERLYJ": "Pool Contract", + "2Ml9PK": "Rewards Contract", + "3nG9sm": "Current Staking Reward", + "3QWPjm": "Liquidity Provider Fees", + "NGVPX": "Projected Performance Bonus", + "4C96BC": "{pool name} pool APY", + "1OUWUR": "Claim OGN", + "1FMVwg": "Please confirm your transaction…", + "1zjMH4": "Earning", + "46QM11": "Complete", + "ByQEG": "{Stake rate}% - {Duration in days} days", + "1gWuD3": "Status", + "3lJX8R": "Lock-up Date", + "2JakeR": "Maturity Date", + "3gBFcU": "Duration", + "4hfOSZ": "{days} days", + "cxJ5S": "Interest Rate", + "lwOCl": "Total Interest Accrued", + "C70gA": "Interest Accrued", + "1tLOzb": "Total to date", + "x8EZB": "Interest Remaning", + "4euN6q": "Maturity Amount", + "6qUzg": "Deposit Transaction", + "1SW6CR": "Withdrawal Transaction", + "4wKAIm": "Insufficient OGN balance", + "3id3UW": "Amount to lock up", + "3onUuV": "Available: {tokens-amount}", + "4s5sFU": "Max", + "4gGbfA": "Approve", + "3YN7Sk": "Waiting for you to confirm…", + "2Wkohs": "Approving {LP token name}...", + "1qcGIX": "{Token to be approved name} approved", + "1lJhC8": "When you withdraw, your OGN is claimed automatically", + "OjbLO": "Unstake LP tokens", + "4y50Af": "Price", + "4lO2tB": "Circulating Supply", + "3rKlkU": "Market Cap", + "4iSbmE": "Visit OGN Dashboard", + "25RRqe": "Visit OUSD Dashboard", + "2ERPQi": "Approximate APY", + "29mlza": "LP token deposits", + "3daZoe": "Pool rate", + "5B3Td": "OGN/week", + "1Watk5": "Your weekly rate", + "8cqDM": "/ week", + "1DU9yn": "Eligible LP Tokens", + "6fZQJ": "All pools", + "2pt63C": "Pool rate (per week)", + "1S6Z5G": "Your position", + "361RXs": "LP token: {token name}", + "2rwqy0": "Start by connecting your wallet", + "IhpI": "{reward boost amount}x rewards!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "Staking contract has insufficient OGN funds", + "201foI": "All of the stakes are still in lock-up", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "Unexpected error happened", + "3Hc92T": "Stake now", + "2jEFb2": "Approve & stake", + "1NJQLG": "Permission to use OGN token", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Get started with staking by selecting a lock-up period", + "3nbZ64": "You will be able to claim your OGN principal plus interest at the end of the staking period.", + "3PO3Rb": "Available Lock-ups", + "2aPZNs": "Current Lock-ups", + "13TKqB": "Previous Lock-ups", + "2iJ38z": "APY", + "KMPDI": "Maturity", + "2waHGT": "{number_of_days} days", + "FVoGJ": "OGN Staking Contract", + "1ioxMA": "Uniswap pool", + "4e45N5": "You're already registered!", + "CUVe5": "Thanks for signing up!", + "2hryKC": "Error subscribing you to the email list", + "3MeNPr": "Get OUSD", + "3fk4nY": "Connect", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Unexpected error occurred. Please refresh page and try again.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Terms of Service", + "2kEL7A": "Privacy Policy", + "4d7d8o": "No wallet connected", + "4p8WTT": "Please connect an Ethereum wallet", + "4DdQgp": "Earn OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Home", + "3v8OaN": "Earn", + "4nBzhS": "Governance", + "OxsKT": "Debug", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "You're ready to provide liquidity and deposit to earn OGN", + "1ydkJH": "Continue", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Granting permission to move your {coin}", + "2eQ0qB": "Permission granted to move your {coin}", + "3RBkL5": "Failed granting permission to move your {coin}", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Welcome!", + "n3ZVI": "The Origin Dollar lets you easily convert other stablecoins into OUSD so you can instantly earn yields.", + "jcVm7": "You can buy up to ~{ousd-coin} OUSD with the {usdt-coin} USDT, {usdc-coin} USDC, and {dai-coin} DAI in your wallet.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}d left", + "3Hdm9G": "{hours left}h left", + "N6ggq": "{minutes left}m left", + "3WG8k4": "{seconds left}s left", + "VPnaK": "{days left} days left", + "wfwb5": "{hours left} hours left", + "3f3Ar0": "{minutes left} minutes left", + "2Au2g8": "{seconds left} seconds left", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "Redirecting...", + "2xq4Xy": "Earn competitive yields without lifting a finger", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "The OUSD smart contract pools capital from all stablecoin depositors, then routes capital to a diversified set of yield-earning strategies. Earnings are automatically converted to OUSD and deposited into your wallet.", + "385aCS": "Reward Fees", + "c17qT": "AMM Trading Fees", + "rLE40": "Liquidity Mining Rewards", + "22Gov9": "Plus, earn governance privileges and incentives when you contribute to the protocol.", + "1tAhoa": "Coming Soon", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Automated Market Maker Trading Fees", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Impermanent loss is minimized while LP fees and rewards are maximized.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Receive all your yield in OUSD automatically. There's no need to actively manage your DeFi portfolio.", + "KwmOl": "OUSD compounds continuously", + "2F2gKe": "Achieve financial security and create wealth faster than ever before.", + "2i6enW": "Growth of $10,000 over 2 years", + "3lygEf": "Months", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Incentivizing stakeholders", + "27oqvG": "Governance privileges and incentives will be given to users that create value for the OUSD platform", + "3BWDtW": "Convert stablecoins to OUSD", + "tL9Vi": "Supply liquidity", + "3bKjkh": "Stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Introducing", + "f1GjR": "The first stablecoin that earns a yield while it’s still in your wallet", + "2YiWgS": "Currently earning", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Convert your USDT, USDC, and DAI to OUSD to start earning yields immediately", + "4mNBbB": "All the earnings, none of the hassles", + "1eFOSq": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required.", + "48XJtG": "Spend your OUSD with ease", + "1OleQh": "There's no need to unwind complicated positions when you want to spend your OUSD. Transfer OUSD without having to unstake or unlock capital.", + "3LnSmq": "Elastic supply, stable price", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1 backed by other stablecoins", + "2Y956f": "OUSD is secured by other proven stablecoins like USDT, USDC, and DAI. Capital is further insured by governance tokens issued by platforms like Aave and MakerDAO.", + "ZkCqX": "Automated yield farming", + "3guScM": "Automated strategies in transparent OUSD smart contracts manage your funds. See exactly how your money is being put to work.", + "CXw7Y": "You always have full control", + "1FYoNd": "Store and earn OUSD with non-custodial Ethereum wallets. Enter and exit OUSD whenever you want. There's no minimum holding period or minimum OUSD amount required to earn yields.", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "The perfect stablecoin for both spending and saving", + "knVKF": "Beat traditional savings and money markets", + "37bU7L": "At an estimated APY of {current-apy}, OUSD earnings trounce traditional financial instruments.", + "2XvZNz": "Instantaneous peer-to-peer transfers", + "dVUpd": "Send OUSD to pay your friends and family instead of using Venmo or Paypal. They’ll earn yield immediately.", + "3HVRE9": "Remittances without fees", + "3b4MZ": "Need to send money to China or the Philippines? Your recipients get OUSD without losing the average of 6.7% on fees.", + "AAF3q": "A better unit of account", + "1cVSMs": "Easily track your DeFi earnings without complicated spreadsheets and custom dashboards.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Follow our development", + "oroj": "Join us on Discord", + "3b4HiA": "Check out our GitHub", + "3c9gh": "View the documentation" + }, + "en_US": { + "1jPSOs": "Wrong network", + "1jkdbc": "Connected to {network-name}", + "4AutCu": "Disconnect", + "2pLcqa": "Analytics", + "1W0h5E": "Jobs", + "2sBRPu": "Docs", + "3pDcYN": "Terms", + "31niVc": "Privacy", + "2rW6zN": "Discord", + "4gWLo1": "Built by Origin Protocol", + "1YneSG": "Waiting for you to confirm...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Refresh", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"", + "pIZfD": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened.", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "days", + "2K2bO2": "Annualized Yield", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "Start earning with OUSD in just a few minutes", + "1baarA": "Unlocked", + "L7ge6": "Principal", + "39pdOX": "Interest", + "4lZnET": "Total", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Deposit", + "3SN6Zt": "Deposit LP tokens", + "3ZzuaD": "Approve & deposit", + "1u6rQQ": "Permission to use {LP token name}", + "5UwYb": "Your LP tokens will remain staked", + "2roQJA": "Available LP tokens", + "Dwz0K": "Deposited LP tokens", + "3NtfDc": "Withdraw", + "KxKU9": "When you withdraw, your OGN is claimed automatically", + "4nnBQS": "Unclaimed OGN", + "1bH81E": "Your rate: {weekly-rate} OGN/week", + "1MDjh6": "Claim", + "1girMq": "How to Earn OGN by Providing Liquidity to OUSD", + "17MLRp": "Purchase OUSD", + "1qkHTQ": "Provide liquidity", + "cvWeb": "Deposit to earn OGN", + "2CPasx": "Loading...", + "477gIa": "Get OUSD by minting it or buying it on an exchange", + "3vfiBp": "Swap OUSD", + "440N92": "Provide {pool name} liquidity on Uniswap", + "1VLYE8": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity.", + "2S4fxr": "Learn more", + "3EwDTh": "Visit Uniswap", + "3B66pk": "Deposit your LP tokens and start earning OGN", + "1NBzUp": "Take me there", + "1ERLYJ": "Pool Contract", + "2Ml9PK": "Rewards Contract", + "3nG9sm": "Current Staking Reward", + "3QWPjm": "Liquidity Provider Fees", + "NGVPX": "Projected Performance Bonus", + "4C96BC": "{pool name} pool APY", + "1OUWUR": "Claim OGN", + "1FMVwg": "Please confirm your transaction…", + "1zjMH4": "Earning", + "46QM11": "Complete", + "ByQEG": "{Stake rate}% - {Duration in days} days", + "1gWuD3": "Status", + "3lJX8R": "Lock-up Date", + "2JakeR": "Maturity Date", + "3gBFcU": "Duration", + "4hfOSZ": "{days} days", + "cxJ5S": "Interest Rate", + "lwOCl": "Total Interest Accrued", + "C70gA": "Interest Accrued", + "1tLOzb": "Total to date", + "x8EZB": "Interest Remaning", + "4euN6q": "Maturity Amount", + "6qUzg": "Deposit Transaction", + "1SW6CR": "Withdrawal Transaction", + "4wKAIm": "Insufficient OGN balance", + "3id3UW": "Amount to lock up", + "3onUuV": "Available: {tokens-amount}", + "4s5sFU": "Max", + "4gGbfA": "Approve", + "3YN7Sk": "Waiting for you to confirm…", + "2Wkohs": "Approving {LP token name}...", + "1qcGIX": "{Token to be approved name} approved", + "1lJhC8": "When you withdraw, your OGN is claimed automatically", + "OjbLO": "Unstake LP tokens", + "4y50Af": "Price", + "4lO2tB": "Circulating Supply", + "3rKlkU": "Market Cap", + "4iSbmE": "Visit OGN Dashboard", + "25RRqe": "Visit OUSD Dashboard", + "2ERPQi": "Approximate APY", + "29mlza": "LP token deposits", + "3daZoe": "Pool rate", + "5B3Td": "OGN/week", + "1Watk5": "Your weekly rate", + "8cqDM": "/ week", + "1DU9yn": "Eligible LP Tokens", + "6fZQJ": "All pools", + "2pt63C": "Pool rate (per week)", + "1S6Z5G": "Your position", + "361RXs": "LP token: {token name}", + "2rwqy0": "Start by connecting your wallet", + "IhpI": "{reward boost amount}x rewards!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "Staking contract has insufficient OGN funds", + "201foI": "All of the stakes are still in lock-up", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "Unexpected error happened", + "3Hc92T": "Stake now", + "2jEFb2": "Approve & stake", + "1NJQLG": "Permission to use OGN token", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Get started with staking by selecting a lock-up period", + "3nbZ64": "You will be able to claim your OGN principal plus interest at the end of the staking period.", + "3PO3Rb": "Available Lock-ups", + "2aPZNs": "Current Lock-ups", + "13TKqB": "Previous Lock-ups", + "2iJ38z": "APY", + "KMPDI": "Maturity", + "2waHGT": "{number_of_days} days", + "FVoGJ": "OGN Staking Contract", + "1ioxMA": "Uniswap pool", + "4e45N5": "You're already registered!", + "CUVe5": "Thanks for signing up!", + "2hryKC": "Error subscribing you to the email list", + "3MeNPr": "Get OUSD", + "3fk4nY": "Connect", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Unexpected error occurred. Please refresh page and try again.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Terms of Service", + "2kEL7A": "Privacy Policy", + "4d7d8o": "No wallet connected", + "4p8WTT": "Please connect an Ethereum wallet", + "4DdQgp": "Earn OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Home", + "3v8OaN": "Earn", + "4nBzhS": "Governance", + "OxsKT": "Debug", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "You're ready to provide liquidity and deposit to earn OGN", + "1ydkJH": "Continue", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Granting permission to move your {coin}", + "2eQ0qB": "Permission granted to move your {coin}", + "3RBkL5": "Failed granting permission to move your {coin}", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Welcome!", + "n3ZVI": "The Origin Dollar lets you easily convert other stablecoins into OUSD so you can instantly earn yields.", + "jcVm7": "You can buy up to ~{ousd-coin} OUSD with the {usdt-coin} USDT, {usdc-coin} USDC, and {dai-coin} DAI in your wallet.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}d left", + "3Hdm9G": "{hours left}h left", + "N6ggq": "{minutes left}m left", + "3WG8k4": "{seconds left}s left", + "VPnaK": "{days left} days left", + "wfwb5": "{hours left} hours left", + "3f3Ar0": "{minutes left} minutes left", + "2Au2g8": "{seconds left} seconds left", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "Redirecting...", + "2xq4Xy": "Earn competitive yields without lifting a finger", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "The OUSD smart contract pools capital from all stablecoin depositors, then routes capital to a diversified set of yield-earning strategies. Earnings are automatically converted to OUSD and deposited into your wallet.", + "385aCS": "Reward Fees", + "c17qT": "AMM Trading Fees", + "rLE40": "Liquidity Mining Rewards", + "22Gov9": "Plus, earn governance privileges and incentives when you contribute to the protocol.", + "1tAhoa": "Coming Soon", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Automated Market Maker Trading Fees", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Impermanent loss is minimized while LP fees and rewards are maximized.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Receive all your yield in OUSD automatically. There's no need to actively manage your DeFi portfolio.", + "KwmOl": "OUSD compounds continuously", + "2F2gKe": "Achieve financial security and create wealth faster than ever before.", + "2i6enW": "Growth of $10,000 over 2 years", + "3lygEf": "Months", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Incentivizing stakeholders", + "27oqvG": "Governance privileges and incentives will be given to users that create value for the OUSD platform", + "3BWDtW": "Convert stablecoins to OUSD", + "tL9Vi": "Supply liquidity", + "3bKjkh": "Stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Introducing", + "f1GjR": "The first stablecoin that earns a yield while it’s still in your wallet", + "2YiWgS": "Currently earning", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Convert your USDT, USDC, and DAI to OUSD to start earning yields immediately", + "4mNBbB": "All the earnings, none of the hassles", + "1eFOSq": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required.", + "48XJtG": "Spend your OUSD with ease", + "1OleQh": "There's no need to unwind complicated positions when you want to spend your OUSD. Transfer OUSD without having to unstake or unlock capital.", + "3LnSmq": "Elastic supply, stable price", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1 backed by other stablecoins", + "2Y956f": "OUSD is secured by other proven stablecoins like USDT, USDC, and DAI. Capital is further insured by governance tokens issued by platforms like Aave and MakerDAO.", + "ZkCqX": "Automated yield farming", + "3guScM": "Automated strategies in transparent OUSD smart contracts manage your funds. See exactly how your money is being put to work.", + "CXw7Y": "You always have full control", + "1FYoNd": "Store and earn OUSD with non-custodial Ethereum wallets. Enter and exit OUSD whenever you want. There's no minimum holding period or minimum OUSD amount required to earn yields.", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "The perfect stablecoin for both spending and saving", + "knVKF": "Beat traditional savings and money markets", + "37bU7L": "At an estimated APY of {current-apy}, OUSD earnings trounce traditional financial instruments.", + "2XvZNz": "Instantaneous peer-to-peer transfers", + "dVUpd": "Send OUSD to pay your friends and family instead of using Venmo or Paypal. They’ll earn yield immediately.", + "3HVRE9": "Remittances without fees", + "3b4MZ": "Need to send money to China or the Philippines? Your recipients get OUSD without losing the average of 6.7% on fees.", + "AAF3q": "A better unit of account", + "1cVSMs": "Easily track your DeFi earnings without complicated spreadsheets and custom dashboards.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Follow our development", + "oroj": "Join us on Discord", + "3b4HiA": "Check out our GitHub", + "3c9gh": "View the documentation" + }, + "es_ES": { + "1jPSOs": "Wrong network", + "1jkdbc": "Conectado a {network-name}", + "4AutCu": "Desconectar", + "2pLcqa": "Analíticas", + "1W0h5E": "Trabajos", + "2sBRPu": "Documentos", + "3pDcYN": "Términos", + "31niVc": "Privacidad", + "2rW6zN": "Discord", + "4gWLo1": "Construido por Origin Protocol", + "1YneSG": "Esperando por tu confirmación...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Actualizar", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Datos del contrato no habilitados. Vaya a la configuración de la aplicación Ethereum y configure \"Datos del contrato\" en \"Permitido\"", + "pIZfD": "No se puede detectar el dispositivo de contabilidad. Asegúrese de que su Ledger esté desbloqueado y la aplicación Ethereum esté abierta.", + "2dtjw9": "Reclamar y colocar en staking OGN", + "4wHH7a": "Gana más OGN seleccionando una opción de staking a continuación", + "4jff3S": "dias", + "2K2bO2": "Rendimiento anualizado", + "2fadSV": "Se produjo un error inesperado al reclamar y colocar en staking", + "4q4XJ": "Comience a ganar con OUSD en solo unos minutos", + "1baarA": "Desbloqueado", + "L7ge6": "Principal", + "39pdOX": "Interés", + "4lZnET": "Total", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Depositar", + "3SN6Zt": "Depositar tokens LP", + "3ZzuaD": "Aprobar y depositar", + "1u6rQQ": "Permiso para usar {LP token name}", + "5UwYb": "Sus tokens de LP permanecerán en stake", + "2roQJA": "Tokens LP disponibles", + "Dwz0K": "Tokens LP depositados", + "3NtfDc": "Retirar", + "KxKU9": "Cuando se retira, sus OGN se reclaman automáticamente", + "4nnBQS": "OGN no reclamados", + "1bH81E": "Tu tarifa: {weekly-rate} OGN/semana", + "1MDjh6": "Reclamar", + "1girMq": "Cómo ganar OGN proporcionando liquidez a OUSD", + "17MLRp": "Comprar OUSD", + "1qkHTQ": "Proporcionar liquidez", + "cvWeb": "Depositar para ganar OGN", + "2CPasx": "Cargando...", + "477gIa": "Obtenga OUSD acuñándolo o comprándolo en un exchange", + "3vfiBp": "Swap OUSD", + "440N92": "Proporcione {pool name} liquidez en Uniswap", + "1VLYE8": "Recuerde, su OUSD no crecerá mientras esté en Uniswap, pero ganará comisiones por proporcionar liquidez.", + "2S4fxr": "Aprende más", + "3EwDTh": "Visite Uniswap", + "3B66pk": "Deposite sus tokens LP y comience a ganar OGN", + "1NBzUp": "Llévame allí", + "1ERLYJ": "Contrato de Pool", + "2Ml9PK": "Contrato de Recompensas", + "3nG9sm": "Recompensa de Staking actual", + "3QWPjm": "Honorarios del proveedor de liquidez", + "NGVPX": "Bono de rendimiento proyectado", + "4C96BC": "{pool name} APY del grupo", + "1OUWUR": "Reclamar OGN", + "1FMVwg": "Por favor confirme su transacción…", + "1zjMH4": "Ganancias", + "46QM11": "Completo", + "ByQEG": "{Stake rate}% - {Duration in days} días", + "1gWuD3": "Estado", + "3lJX8R": "Fecha de bloqueo", + "2JakeR": "Fecha de vencimiento", + "3gBFcU": "Duración", + "4hfOSZ": "{days} días", + "cxJ5S": "Tasa de interés", + "lwOCl": "Interés total acumulado", + "C70gA": "Interés acumulado", + "1tLOzb": "Total hasta la fecha", + "x8EZB": "Interés remanent", + "4euN6q": "Monto de vencimiento", + "6qUzg": "Transacción de depósito", + "1SW6CR": "Transacción de retiro", + "4wKAIm": "Saldo de OGN insuficiente", + "3id3UW": "Monto para bloquear", + "3onUuV": "Disponible: {tokens-amount}", + "4s5sFU": "Max", + "4gGbfA": "Aprobar", + "3YN7Sk": "Esperando por su confirmación…", + "2Wkohs": "Aprobando {LP token name}...", + "1qcGIX": "{Token to be approved name} aprobado", + "1lJhC8": "Cuando se retira, sus OGN se reclaman automáticamente", + "OjbLO": "Deshacer tokens de LP", + "4y50Af": "Precio", + "4lO2tB": "Suministro circulante", + "3rKlkU": "Market Cap", + "4iSbmE": "Visitar panel de OGN", + "25RRqe": "Visitar panel de OUSD", + "2ERPQi": "APY aproximado", + "29mlza": "Depósitos de tokens LP", + "3daZoe": "Tarifa de pool", + "5B3Td": "OGN/semana", + "1Watk5": "Tu tarifa semanal", + "8cqDM": "/ semana", + "1DU9yn": "Tokens LP elegibles", + "6fZQJ": "Todas las pools", + "2pt63C": "Tarifa pool (por semana)", + "1S6Z5G": "Tu posición", + "361RXs": "Token LP: {token name}", + "2rwqy0": "Comience conectando su billetera", + "IhpI": "{reward boost amount}x ¡recompensas!", + "3JaQls": "OGN reclamable:", + "3lBBvy": "Bono de Staking:", + "3xTF5o": "Total después de {duration in days}", + "9XtsV": "El contrato de staking tiene fondos OGN insuficientes", + "201foI": "Todas los stakings siguen bloqueados", + "4coiG7": "Habilite los datos del contrato en la configuración de la aplicación Ethereum", + "1F6Ius": "Ocurrió un error inesperado", + "3Hc92T": "Haz Staking ahora", + "2jEFb2": "Aprobar y colocar en staking", + "1NJQLG": "Permiso para usar el token OGN", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Comience a hacer staking seleccionando un período de bloqueo", + "3nbZ64": "Podrá reclamar sus OGN más intereses al final del período de staking.", + "3PO3Rb": "Bloqueos disponibles", + "2aPZNs": "Bloqueos actuales", + "13TKqB": "Bloqueos anteriores", + "2iJ38z": "APY", + "KMPDI": "Vencimiento", + "2waHGT": "{number_of_days} días", + "FVoGJ": "Contrato de Staking de OGN", + "1ioxMA": "Pool de Uniswap", + "4e45N5": "¡Ya estás registrado!", + "CUVe5": "¡Gracias por registrarse!", + "2hryKC": "Error al suscribirte a la lista de correo electrónico", + "3MeNPr": "Obtenga OUSD", + "3fk4nY": "Conectar", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Las tarifas del gas son altas en este momento. Puede resultar más barato comprar OUSD en Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Ocurrió un error inesperado. Actualice la página y vuelva a intentarlo.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Términos del Servicio", + "2kEL7A": "Política de Privacidad", + "4d7d8o": "No hay billetera conectada", + "4p8WTT": "Por favor conecte una billetera de Ethereum", + "4DdQgp": "Gane OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Inicio", + "3v8OaN": "Ganar", + "4nBzhS": "Gobernanza", + "OxsKT": "Depurar", + "sARfk": "Obtenga un seguro de contrato inteligente opcional para su OUSD", + "1IiGL8": "Está listo para proporcionar liquidez y depositar para ganar OGN", + "1ydkJH": "Continuar", + "1IT57r": "Aumento de la oferta de OUSD", + "22MLnT": "Aumento de la oferta de OUSD", + "2PBHOq": "No se pudo aumentar el suministro de OUSD", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Otorgar permiso para mover su {coin}", + "2eQ0qB": "Permiso otorgado para mover su {coin}", + "3RBkL5": "No se pudo otorgar permiso para mover su {coin}", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "¡Bienvenido!", + "n3ZVI": "Origin Dollar le permite convertir fácilmente otras monedas estables en OUSD para que pueda obtener rendimientos instantáneamente.", + "jcVm7": "Puede comprar hasta ~{ousd-coin} OUSD con {usdt-coin} USDT, {usdc-coin} USDC y {dai-coin} DAI en su billetera.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}d restantes", + "3Hdm9G": "{hours left}h restantes", + "N6ggq": "{minutes left}m restantes", + "3WG8k4": "{seconds left}s restantes", + "VPnaK": "{days left} días restantes", + "wfwb5": "{hours left} horas restantes", + "3f3Ar0": "{minutes left} minutos restantes", + "2Au2g8": "{seconds left} segundos restantes", + "IVHJJ": "Compensación por explotación de OUSD", + "4kisUn": "¿Cómo se calcula mi compensación?", + "2Xgrh9": "Conecte una billetera criptográfica para ver su compensación", + "4cLqPP": "Conectar", + "AghaZ": "Saldo de OUSD elegible", + "3gbPei": "La compensación por el 100% de este saldo OUSD se divide 25/75 después de los primeros 1,000 OUSD", + "23oX0o": "Esta billetera no es elegible para compensación", + "4rCXd0": "Monto de compensación de OUSD", + "30bdSh": "RECLAMADO", + "1J1q6R": "Reclame para comenzar a ganar rendimiento", + "2xsSYC": "Ocurrió un error inesperado al reclamar OUSD", + "3PAnRd": "Reclamar OUSD", + "104KmK": "Importe de compensación de OGN", + "mEG50": "@ Precio OGN de", + "9YoaD": "Duración del Staking", + "1Hlviu": "Reclamar y colocar en staking OGN", + "krTcK": "Más información sobre OGN>", + "NXcxR": "Redireccionando...", + "2xq4Xy": "Obtenga rendimientos competitivos sin mover un dedo", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "El contrato inteligente de OUSD agrupa el capital de todos los depósitos de monedas estables y luego dirige el capital a un conjunto diversificado de estrategias de obtención de rendimiento. Las ganancias se convierten automáticamente a OUSD y se depositan en su billetera.", + "385aCS": "Reward Fees", + "c17qT": "Tarifas de negociación de AMM", + "rLE40": "Recompensas de Minería de Liquidez", + "22Gov9": "Además, obtenga privilegios e incentivos de gobernanza cuando contribuyas al protocolo.", + "1tAhoa": "Próximamente", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Tarifas de negociación automatizadas de Creadores de Mercado", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "La pérdida impermanente se minimiza mientras que las tarifas y las recompensas de LP se maximizan.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Reciba todo su rendimiento en OUSD automáticamente. No es necesario administrar activamente su portafolio DeFi.", + "KwmOl": "OUSD se compone continuamente", + "2F2gKe": "Logre seguridad financiera y crea riqueza más rápido que nunca.", + "2i6enW": "Crecimiento de $10,000 en 2 años", + "3lygEf": "Meses", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Incentivar a las partes interesadas", + "27oqvG": "Se otorgarán privilegios e incentivos de gobernanza a los usuarios que crean valor para la plataforma de OUSD", + "3BWDtW": "Convertir monedas estables a OUSD", + "tL9Vi": "Liquidez de suministro", + "3bKjkh": "Stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Presentando", + "f1GjR": "La primera moneda estable que obtiene rendimientos aún mientras está en tu billetera", + "2YiWgS": "Actualmente ganando", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Convierta sus USDT, USDC y DAI a OUSD para comenzar a obtener rendimientos de inmediato", + "4mNBbB": "Todas las ganancias, ninguna de las molestias", + "1eFOSq": "Los rendimientos de DeFi se convierten automáticamente a OUSD y se acumulan en su billetera. Su saldo de OUSD se capitaliza varias veces al día. No se requieren estacas ni bloqueos.", + "48XJtG": "Gaste su OUSD con facilidad", + "1OleQh": "No hay necesidad de deshacerse de posiciones complicadas cuando quiere gastar su OUSD. Transfiera OUSD sin tener que quitar el staking o desbloquear capital.", + "3LnSmq": "Suministro elástico, precio estable", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1: 1 respaldado por otras monedas estables", + "2Y956f": "OUSD está respaldado por otras monedas estables probadas como USDT, USDC y DAI. El capital está además asegurado por tokens de gobernanza emitidos por plataformas como Aave y MakerDAO.", + "ZkCqX": "Cultivo de rendimiento automatizada", + "3guScM": "Las estrategias automatizadas en contratos inteligentes transparentes de OUSD administran sus fondos. Vea exactamente cómo se está poniendo a trabajar su dinero.", + "CXw7Y": "Siempre tienes el control total", + "1FYoNd": "Almacene y gane OUSD con billeteras sin custodio de Ethereum. Entre y salga de OUSD cuando lo desee. No se requiere un período mínimo de hold o una cantidad mínima de OUSD para obtener rendimientos.", + "12a8Uj": "Respaldado por un seguro opcional", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Más información>", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "La moneda estable perfecta tanto para gastar como para ahorrar", + "knVKF": "Supere los ahorros tradicionales y los mercados monetarios", + "37bU7L": "Con un APY estimado de {current-apy}, las ganancias de OUSD superan a los instrumentos financieros tradicionales.", + "2XvZNz": "Transferencias instantáneas de persona a persona", + "dVUpd": "Envíe OUSD para pagarle a sus amigos y familiares en lugar de usar Venmo o Paypal. Obtendrán rendimiento de inmediato.", + "3HVRE9": "Remesas sin comisiones", + "3b4MZ": "¿Necesitas enviar dinero a China o Filipinas? Sus destinatarios obtienen OUSD sin perder el promedio de 6.7% en tarifas.", + "AAF3q": "Una mejor unidad de cuenta", + "1cVSMs": "Realice un seguimiento fácil de sus ganancias de DeFi sin hojas de cálculo complicadas ni paneles de control personalizados.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Siga nuestro desarrollo", + "oroj": "Únete a nuestro Discord", + "3b4HiA": "Mira nuestro GitHub", + "3c9gh": "Ver la documentación" + }, + "fr_FR": { + "1jPSOs": "Wrong network", + "1jkdbc": "Connecté à {network-name}", + "4AutCu": "Déconnecter", + "2pLcqa": "Analytique", + "1W0h5E": "Emplois", + "2sBRPu": "Docs", + "3pDcYN": "Conditions", + "31niVc": "Confidentialité", + "2rW6zN": "Discord", + "4gWLo1": "Construit par Origin Protocol", + "1YneSG": "En attente de votre confirmation...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Rafraîchir", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"", + "pIZfD": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened.", + "2dtjw9": "Revendiquer et mettre en jeu OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "jours", + "2K2bO2": "Rendement annualisé", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "Start earning with OUSD in just a few minutes", + "1baarA": "Unlocked", + "L7ge6": "Principal", + "39pdOX": "Interest", + "4lZnET": "Total", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Deposit", + "3SN6Zt": "Deposit LP tokens", + "3ZzuaD": "Approve & deposit", + "1u6rQQ": "Permission to use {LP token name}", + "5UwYb": "Your LP tokens will remain staked", + "2roQJA": "Available LP tokens", + "Dwz0K": "Deposited LP tokens", + "3NtfDc": "Withdraw", + "KxKU9": "When you withdraw, your OGN is claimed automatically", + "4nnBQS": "Unclaimed OGN", + "1bH81E": "Your rate: {weekly-rate} OGN/week", + "1MDjh6": "Claim", + "1girMq": "How to Earn OGN by Providing Liquidity to OUSD", + "17MLRp": "Purchase OUSD", + "1qkHTQ": "Provide liquidity", + "cvWeb": "Deposit to earn OGN", + "2CPasx": "Loading...", + "477gIa": "Get OUSD by minting it or buying it on an exchange", + "3vfiBp": "Swap OUSD", + "440N92": "Provide {pool name} liquidity on Uniswap", + "1VLYE8": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity.", + "2S4fxr": "En savoir plus", + "3EwDTh": "Visit Uniswap", + "3B66pk": "Deposit your LP tokens and start earning OGN", + "1NBzUp": "Take me there", + "1ERLYJ": "Pool Contract", + "2Ml9PK": "Rewards Contract", + "3nG9sm": "Current Staking Reward", + "3QWPjm": "Liquidity Provider Fees", + "NGVPX": "Projected Performance Bonus", + "4C96BC": "{pool name} pool APY", + "1OUWUR": "Claim OGN", + "1FMVwg": "Please confirm your transaction…", + "1zjMH4": "Earning", + "46QM11": "Complete", + "ByQEG": "{Stake rate}% - {Duration in days} days", + "1gWuD3": "Status", + "3lJX8R": "Lock-up Date", + "2JakeR": "Maturity Date", + "3gBFcU": "Duration", + "4hfOSZ": "{days} days", + "cxJ5S": "Interest Rate", + "lwOCl": "Total Interest Accrued", + "C70gA": "Interest Accrued", + "1tLOzb": "Total to date", + "x8EZB": "Interest Remaning", + "4euN6q": "Maturity Amount", + "6qUzg": "Deposit Transaction", + "1SW6CR": "Withdrawal Transaction", + "4wKAIm": "Insufficient OGN balance", + "3id3UW": "Amount to lock up", + "3onUuV": "Available: {tokens-amount}", + "4s5sFU": "Max", + "4gGbfA": "Approuver", + "3YN7Sk": "Waiting for you to confirm…", + "2Wkohs": "Approving {LP token name}...", + "1qcGIX": "{Token to be approved name} approved", + "1lJhC8": "When you withdraw, your OGN is claimed automatically", + "OjbLO": "Unstake LP tokens", + "4y50Af": "Price", + "4lO2tB": "Circulating Supply", + "3rKlkU": "Market Cap", + "4iSbmE": "Visit OGN Dashboard", + "25RRqe": "Visit OUSD Dashboard", + "2ERPQi": "Approximate APY", + "29mlza": "LP token deposits", + "3daZoe": "Pool rate", + "5B3Td": "OGN/week", + "1Watk5": "Your weekly rate", + "8cqDM": "/ week", + "1DU9yn": "Eligible LP Tokens", + "6fZQJ": "All pools", + "2pt63C": "Pool rate (per week)", + "1S6Z5G": "Your position", + "361RXs": "LP token: {token name}", + "2rwqy0": "Start by connecting your wallet", + "IhpI": "{reward boost amount}x rewards!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "Staking contract has insufficient OGN funds", + "201foI": "All of the stakes are still in lock-up", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "Unexpected error happened", + "3Hc92T": "Stake now", + "2jEFb2": "Approve & stake", + "1NJQLG": "Permission to use OGN token", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Get started with staking by selecting a lock-up period", + "3nbZ64": "You will be able to claim your OGN principal plus interest at the end of the staking period.", + "3PO3Rb": "Available Lock-ups", + "2aPZNs": "Current Lock-ups", + "13TKqB": "Previous Lock-ups", + "2iJ38z": "APY", + "KMPDI": "Maturity", + "2waHGT": "{number_of_days} days", + "FVoGJ": "OGN Staking Contract", + "1ioxMA": "Uniswap pool", + "4e45N5": "Vous êtes déjà inscrit!", + "CUVe5": "Thanks for signing up!", + "2hryKC": "Error subscribing you to the email list", + "3MeNPr": "Get OUSD", + "3fk4nY": "Connect", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Unexpected error occurred. Please refresh page and try again.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Conditions d'utilisation", + "2kEL7A": "Politique de confidentialité", + "4d7d8o": "No wallet connected", + "4p8WTT": "Please connect an Ethereum wallet", + "4DdQgp": "Earn OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Accueil", + "3v8OaN": "Earn", + "4nBzhS": "Gouvernance", + "OxsKT": "Debug", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "You're ready to provide liquidity and deposit to earn OGN", + "1ydkJH": "Continue", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Granting permission to move your {coin}", + "2eQ0qB": "Permission granted to move your {coin}", + "3RBkL5": "Failed granting permission to move your {coin}", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Bienvenue!", + "n3ZVI": "The Origin Dollar lets you easily convert other stablecoins into OUSD so you can instantly earn yields.", + "jcVm7": "You can buy up to ~{ousd-coin} OUSD with the {usdt-coin} USDT, {usdc-coin} USDC, and {dai-coin} DAI in your wallet.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}d left", + "3Hdm9G": "{hours left}h left", + "N6ggq": "{minutes left}m left", + "3WG8k4": "{seconds left}s left", + "VPnaK": "{days left} days left", + "wfwb5": "{hours left} hours left", + "3f3Ar0": "{minutes left} minutes left", + "2Au2g8": "{seconds left} seconds left", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "Redirecting...", + "2xq4Xy": "Earn competitive yields without lifting a finger", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "The OUSD smart contract pools capital from all stablecoin depositors, then routes capital to a diversified set of yield-earning strategies. Earnings are automatically converted to OUSD and deposited into your wallet.", + "385aCS": "Reward Fees", + "c17qT": "AMM Trading Fees", + "rLE40": "Liquidity Mining Rewards", + "22Gov9": "Plus, earn governance privileges and incentives when you contribute to the protocol.", + "1tAhoa": "Bientôt disponible", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Automated Market Maker Trading Fees", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Impermanent loss is minimized while LP fees and rewards are maximized.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Receive all your yield in OUSD automatically. There's no need to actively manage your DeFi portfolio.", + "KwmOl": "OUSD compounds continuously", + "2F2gKe": "Achieve financial security and create wealth faster than ever before.", + "2i6enW": "Growth of $10,000 over 2 years", + "3lygEf": "Mois", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Incentivizing stakeholders", + "27oqvG": "Governance privileges and incentives will be given to users that create value for the OUSD platform", + "3BWDtW": "Convert stablecoins to OUSD", + "tL9Vi": "Supply liquidity", + "3bKjkh": "Stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Introducing", + "f1GjR": "The first stablecoin that earns a yield while it’s still in your wallet", + "2YiWgS": "Currently earning", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Convert your USDT, USDC, and DAI to OUSD to start earning yields immediately", + "4mNBbB": "All the earnings, none of the hassles", + "1eFOSq": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required.", + "48XJtG": "Spend your OUSD with ease", + "1OleQh": "There's no need to unwind complicated positions when you want to spend your OUSD. Transfer OUSD without having to unstake or unlock capital.", + "3LnSmq": "Elastic supply, stable price", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1 backed by other stablecoins", + "2Y956f": "OUSD is secured by other proven stablecoins like USDT, USDC, and DAI. Capital is further insured by governance tokens issued by platforms like Aave and MakerDAO.", + "ZkCqX": "Automated yield farming", + "3guScM": "Automated strategies in transparent OUSD smart contracts manage your funds. See exactly how your money is being put to work.", + "CXw7Y": "You always have full control", + "1FYoNd": "Store and earn OUSD with non-custodial Ethereum wallets. Enter and exit OUSD whenever you want. There's no minimum holding period or minimum OUSD amount required to earn yields.", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "The perfect stablecoin for both spending and saving", + "knVKF": "Beat traditional savings and money markets", + "37bU7L": "At an estimated APY of {current-apy}, OUSD earnings trounce traditional financial instruments.", + "2XvZNz": "Instantaneous peer-to-peer transfers", + "dVUpd": "Send OUSD to pay your friends and family instead of using Venmo or Paypal. They’ll earn yield immediately.", + "3HVRE9": "Remittances without fees", + "3b4MZ": "Need to send money to China or the Philippines? Your recipients get OUSD without losing the average of 6.7% on fees.", + "AAF3q": "A better unit of account", + "1cVSMs": "Easily track your DeFi earnings without complicated spreadsheets and custom dashboards.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Follow our development", + "oroj": "Rejoignez notre Discord", + "3b4HiA": "Check out our GitHub", + "3c9gh": "View the documentation" + }, + "id_ID": { + "1jPSOs": "Wrong network", + "1jkdbc": "Terhubung ke {network-name}", + "4AutCu": "Memutuskan", + "2pLcqa": "Analitik", + "1W0h5E": "Pekerjaan", + "2sBRPu": "Dokumen", + "3pDcYN": "Ketentuan", + "31niVc": "Privasi", + "2rW6zN": "Discord", + "4gWLo1": "Dibangun oleh Origin Protocol", + "1YneSG": "Menunggu Anda untuk menyetujui...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Menyegarkan", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Data kontrak tidak diaktifkan. Buka Pengaturan aplikasi Ethereum dan atur \"Data Kontrak\" menjadi \"Diizinkan\"", + "pIZfD": "Tidak dapat mendeteksi perangkat buku besar. Pastikan Buku Besar Anda tidak terkunci dan Aplikasi Ethereum dibuka.", + "2dtjw9": "Klaim & Stake OGN", + "4wHH7a": "Hasilkan lebih banyak OGN dengan memilih opsi staking di bawah ini", + "4jff3S": "hari", + "2K2bO2": "Hasil tahunan", + "2fadSV": "Kesalahan tak terduga terjadi saat mengklaim dan staking", + "4q4XJ": "Mulailah menghasilkan dengan OUSD hanya dalam beberapa menit", + "1baarA": "Tidak terkunci", + "L7ge6": "Modal", + "39pdOX": "Bunga", + "4lZnET": "Total", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Setor", + "3SN6Zt": "Setor token LP", + "3ZzuaD": "Setujui & setor", + "1u6rQQ": "Izin untuk menggunakan {LP token name}", + "5UwYb": "Token LP Anda akan tetap distake", + "2roQJA": "Token LP yang tersedia", + "Dwz0K": "Token LP yang disetorkan", + "3NtfDc": "Tarik", + "KxKU9": "Saat Anda menarik, OGN Anda diklaim secara otomatis", + "4nnBQS": "OGN yang tidak diklaim", + "1bH81E": "Tarif Anda: {weekly-rate} OGN/minggu", + "1MDjh6": "Klaim", + "1girMq": "Cara Mendapatkan OGN dengan Memberikan Likuiditas ke OUSD", + "17MLRp": "Beli OUSD", + "1qkHTQ": "Menyediakan likuiditas", + "cvWeb": "Setor untuk mendapatkan OGN", + "2CPasx": "Memuat...", + "477gIa": "Dapatkan OUSD dengan mencetaknya atau membelinya di bursa", + "3vfiBp": "Swap OUSD", + "440N92": "Sediakan {pool name} likuiditas di Uniswap", + "1VLYE8": "Ingat, OUSD Anda tidak akan bertambah saat berada di Uniswap, tetapi Anda akan mendapatkan biaya untuk menyediakan likuiditas.", + "2S4fxr": "Pelajari lebih lanjut", + "3EwDTh": "Kunjungi Uniswap", + "3B66pk": "Setor token LP Anda dan mulai dapatkan OGN", + "1NBzUp": "Bawa saya kesana", + "1ERLYJ": "Kontrak Pool", + "2Ml9PK": "Kontrak Hadiah", + "3nG9sm": "Hadiah Staking Saat Ini", + "3QWPjm": "Biaya Penyedia Likuiditas", + "NGVPX": "Bonus Kinerja yang Diproyeksikan", + "4C96BC": "{pool name} pool APY", + "1OUWUR": "Klaim OGN", + "1FMVwg": "Harap konfirmasi transaksi Anda…", + "1zjMH4": "Penghasilan", + "46QM11": "Selesai", + "ByQEG": "{Stake rate}% - {Duration in days} hari", + "1gWuD3": "Status", + "3lJX8R": "Tanggal Penguncian", + "2JakeR": "Tanggal jatuh tempo", + "3gBFcU": "Durasi", + "4hfOSZ": "{days} hari", + "cxJ5S": "Suku bunga", + "lwOCl": "Total Bunga yang Diterima", + "C70gA": "Bunga yang Dikumpulkan", + "1tLOzb": "Total hingga saat ini", + "x8EZB": "Sisa Bunga", + "4euN6q": "Jumlah jatuh tempo", + "6qUzg": "Transaksi Setoran", + "1SW6CR": "Transaksi Penarikan", + "4wKAIm": "Saldo OGN tidak mencukupi", + "3id3UW": "Jumlah yang akan dikunci", + "3onUuV": "Tersedia: {tokens-amount}", + "4s5sFU": "Maks", + "4gGbfA": "Menyetujui", + "3YN7Sk": "Menunggu Anda untuk menyetujui…", + "2Wkohs": "Menyetujui {LP token name}...", + "1qcGIX": "{Token to be approved name} disetujui", + "1lJhC8": "Saat Anda menarik, OGN Anda diklaim secara otomatis", + "OjbLO": "Unstake token LP", + "4y50Af": "Harga", + "4lO2tB": "Persediaan yang Beredar", + "3rKlkU": "Kapitalisasi Pasar", + "4iSbmE": "Kunjungi Dasbor OGN", + "25RRqe": "Kunjungi Dasbor OUSD", + "2ERPQi": "Perkiraan APY", + "29mlza": "Setoran token LP", + "3daZoe": "Tarif pool", + "5B3Td": "OGN/minggu", + "1Watk5": "Tarif mingguan Anda", + "8cqDM": "/ pekan", + "1DU9yn": "Token LP yang Memenuhi Syarat", + "6fZQJ": "Semua pool", + "2pt63C": "Tarif pool (per minggu)", + "1S6Z5G": "Posisi Anda", + "361RXs": "Token LP: {token name}", + "2rwqy0": "Mulailah dengan menghubungkan dompet Anda", + "IhpI": "{reward boost amount}x imbalan!", + "3JaQls": "OGN yang Dapat Diklaim:", + "3lBBvy": "Bonu Staking:", + "3xTF5o": "Jumlah setelah {duration in days}", + "9XtsV": "Kontrak staking memiliki dana OGN yang tidak mencukupi", + "201foI": "Semua stake masih terkunci", + "4coiG7": "Harap aktifkan data Kontrak di Pengaturan aplikasi Ethereum", + "1F6Ius": "Terjadi kesalahan tak terduga", + "3Hc92T": "Stake sekarang", + "2jEFb2": "Setujui & stake", + "1NJQLG": "Izin untuk menggunakan token OGN", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Mulailah staking dengan memilih periode penguncian", + "3nbZ64": "Anda akan dapat mengklaim pokok OGN Anda ditambah bunga pada akhir periode staking.", + "3PO3Rb": "Penguncian yang Tersedia", + "2aPZNs": "Penguncian Saat Ini", + "13TKqB": "Penguncian Sebelumnya", + "2iJ38z": "APY", + "KMPDI": "Kematangan", + "2waHGT": "{number_of_days} hari", + "FVoGJ": "Kontrak StakingOGN", + "1ioxMA": "Pool Uniswap", + "4e45N5": "Anda sudah terdaftar!", + "CUVe5": "Terima kasih telah mendaftar!", + "2hryKC": "Terjadi kesalahan saat mendaftarkan Anda ke daftar email", + "3MeNPr": "Dapatkan OUSD", + "3fk4nY": "Menghubung", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Biaya gas tinggi sekarang. Mungkin lebih murah untuk membeli OUSD di Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Terjadi kesalahan tak terduga. Harap segarkan halaman dan coba lagi.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Ketentuan Pelayanan", + "2kEL7A": "Kebijakan Privasi", + "4d7d8o": "Tidak ada dompet yang terhubung", + "4p8WTT": "Silakan hubungkan dompet Ethereum", + "4DdQgp": "Hasilkan OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Rumah", + "3v8OaN": "Hasilkan", + "4nBzhS": "Pemerintahan", + "OxsKT": "Debug", + "sARfk": "Dapatkan asuransi kontrak pintar opsional untuk OUSD Anda", + "1IiGL8": "Anda siap menyediakan likuiditas dan deposit untuk mendapatkan OGN", + "1ydkJH": "Lanjutkan", + "1IT57r": "Meningkatkan pasokan OUSD", + "22MLnT": "Pasokan OUSD meningkat", + "2PBHOq": "Gagal meningkatkan pasokan OUSD", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Memberikan izin untuk memindahkan {coin} Anda", + "2eQ0qB": "Izin diberikan untuk memindahkan {coin} Anda", + "3RBkL5": "Gagal memberi izin untuk memindahkan {coin} Anda", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Selamat datang!", + "n3ZVI": "Origin Dollar memungkinkan Anda dengan mudah mengonversi stablecoin lain menjadi OUSD sehingga Anda dapat memperoleh hasil secara instan.", + "jcVm7": "Anda dapat membeli hingga ~{ousd-coin} OUSD dengan {usdt-coin} USDT, {usdc-coin} USDC, dan {dai-coin} DAI di dompet Anda.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Hubungkan dompet untuk memulai", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}hari tersisa", + "3Hdm9G": "{hours left}jam tersisa", + "N6ggq": "{minutes left}menit tersisa", + "3WG8k4": "{seconds left}detik tersisa", + "VPnaK": "{days left} hari tersisa", + "wfwb5": "{hours left} jam tersisa", + "3f3Ar0": "{minutes left} menit tersisa", + "2Au2g8": "{seconds left} detik tersisa", + "IVHJJ": "Kompensasi Eksploitasi OUSD", + "4kisUn": "Bagaimana kompensasi saya dihitung?", + "2Xgrh9": "Hubungkan cryptowallet untuk melihat kompensasi Anda", + "4cLqPP": "Menghubung", + "AghaZ": "Saldo OUSD yang Memenuhi Syarat", + "3gbPei": "Kompensasi untuk 100% dari saldo OUSD ini dibagi 25/75 setelah 1.000 OUSD pertama", + "23oX0o": "Dompet ini tidak memenuhi syarat untuk kompensasi", + "4rCXd0": "Jumlah Kompensasi OUSD", + "30bdSh": "DIKLAIM", + "1J1q6R": "Klaim untuk mulai mendapatkan hasil", + "2xsSYC": "Terjadi kesalahan tak terduga saat mengklaim OUSD", + "3PAnRd": "Klaim OUSD", + "104KmK": "Jumlah Kompensasi OGN", + "mEG50": "@ OGN harga", + "9YoaD": "Durasi staking", + "1Hlviu": "Klaim & Stake OGN", + "krTcK": "Pelajari tentang OGN >", + "NXcxR": "Mengarahkan ulang...", + "2xq4Xy": "Dapatkan hasil yang kompetitif tanpa perlu bersusah payah", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "Kontrak pintar OUSD mengumpulkan modal dari semua deposan stablecoin, lalu mengarahkan modal ke serangkaian strategi perolehan hasil yang beragam. Penghasilan secara otomatis dikonversi ke OUSD dan disimpan ke dompet Anda.", + "385aCS": "Reward Fees", + "c17qT": "Biaya Trading AMM", + "rLE40": "Imbalan Penambangan Likuiditas", + "22Gov9": "Selain itu, dapatkan hak istimewa dan insentif tata kelola saat Anda berkontribusi pada protokol.", + "1tAhoa": "Akan segera hadir", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Biaya Perdagangan Pembuat Pasar Otomatis", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Kerugian yang tidak permanen diminimalkan sementara biaya dan hadiah LP dimaksimalkan.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Terima semua hasil Anda dalam OUSD secara otomatis. Tidak perlu mengelola portofolio DeFi Anda secara aktif.", + "KwmOl": "OUSD berlipatganda terus menerus", + "2F2gKe": "Raih keamanan finansial dan ciptakan kekayaan lebih cepat dari sebelumnya.", + "2i6enW": "Pertumbuhan $ 10.000 selama 2 tahun", + "3lygEf": "Bulan", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Memberi insentif kepada pemangku kepentingan", + "27oqvG": "Hak istimewa dan insentif tata kelola akan diberikan kepada pengguna yang menciptakan nilai untuk platform OUSD", + "3BWDtW": "Ubah stablecoin menjadi OUSD", + "tL9Vi": "Likuiditas pasokan", + "3bKjkh": "Stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Memperkenalkan", + "f1GjR": "Stablecoin pertama yang menghasilkan keuntungan saat masih ada di dompet Anda", + "2YiWgS": "Saat ini menghasilkan", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Konversikan USDT, USDC, dan DAI Anda ke OUSD untuk segera mulai mendapatkan hasil", + "4mNBbB": "Semua penghasilan, tidak ada kerepotan", + "1eFOSq": "Hasil DeFi secara otomatis dikonversi ke OUSD dan bertambah di dompet Anda. Saldo OUSD Anda terus bertambah. Tidak ada staking atau lock-up yang diperlukan.", + "48XJtG": "Belanjakan OUSD Anda dengan mudah", + "1OleQh": "Tidak perlu melepaskan posisi yang rumit saat Anda ingin membelanjakan OUSD. Transfer OUSD tanpa harus melepas staking atau unlock modal.", + "3LnSmq": "Pasokan elastis, harga stabil", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1: 1 didukung oleh stablecoin lainnya", + "2Y956f": "OUSD dijamin dengan stablecoin lain yang terbukti seperti USDT, USDC, dan DAI. Modal selanjutnya diasuransikan oleh token tata kelola yang dikeluarkan oleh platform seperti Aave dan MakerDAO.", + "ZkCqX": "Pertanian Hasil Otomatis", + "3guScM": "Strategi otomatis dalam kontrak pintar OUSD yang transparan mengelola dana Anda. Lihat dengan tepat bagaimana uang Anda digunakan.", + "CXw7Y": "Anda selalu memiliki kendali penuh", + "1FYoNd": "Simpan dan dapatkan OUSD dengan dompet Ethereum non-penahanan. Masuk dan keluar dari OUSD kapan pun Anda mau. Tidak ada periode penyimpanan minimum atau jumlah OUSD minimum yang diperlukan untuk mendapatkan hasil.", + "12a8Uj": "Didukung oleh asuransi opsional", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Pelajari lebih lanjut >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "Stablecoin yang sempurna untuk pengeluaran dan tabungan", + "knVKF": "Kalahkan tabungan tradisional dan pasar uang", + "37bU7L": "Dengan perkiraan APY {current-apy}, pendapatan OUSD mengalahkan instrumen keuangan tradisional.", + "2XvZNz": "Transfer peer-to-peer seketika", + "dVUpd": "Kirim OUSD untuk membayar teman dan keluarga Anda alih-alih menggunakan Venmo atau Paypal. Mereka akan segera mendapatkan hasil.", + "3HVRE9": "Pengiriman uang tanpa biaya", + "3b4MZ": "Perlu mengirim uang ke China atau Filipina? Penerima Anda mendapatkan OUSD tanpa kehilangan biaya rata-rata 6,7%.", + "AAF3q": "Unit akun yang lebih baik", + "1cVSMs": "Lacak penghasilan DeFi Anda dengan mudah tanpa spreadsheet yang rumit dan dasbor khusus.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Ikuti perkembangan kami", + "oroj": "Bergabunglah dengan kami di Discord", + "3b4HiA": "Kunjungi GitHub kami", + "3c9gh": "Lihat dokumentasinya" + }, + "it_IT": { + "1jPSOs": "Wrong network", + "1jkdbc": "Connesso a {network-name}", + "4AutCu": "Disconnetti", + "2pLcqa": "Analitiche", + "1W0h5E": "Offerte di lavoro", + "2sBRPu": "Docs", + "3pDcYN": "Termini", + "31niVc": "Privacy", + "2rW6zN": "Discord", + "4gWLo1": "Costruito da Origin Protocol", + "1YneSG": "In attesa della tua conferma...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Aggiorna", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Dati del contratto non abilitati. Vai nelle impostazioni dell'app Ethereum e imposta \"Dati Contratto\" su \"Consentito\"", + "pIZfD": "Dispositivo ledger non rilevato. Per favore assicurati che il tuo Ledger è sbloccato e l'app Ethereum è aperta.", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "giorni", + "2K2bO2": "Annualized Yield", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "Comincia a guadagnare con OUSD in pochi minuti", + "1baarA": "Sbloccato", + "L7ge6": "Principale", + "39pdOX": "Interesse", + "4lZnET": "Totale", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Deposita", + "3SN6Zt": "Deposita Token LP", + "3ZzuaD": "Approva e deposita", + "1u6rQQ": "Autorizzazione ad usare {LP token name}", + "5UwYb": "Your LP tokens will remain staked", + "2roQJA": "Available LP tokens", + "Dwz0K": "Deposited LP tokens", + "3NtfDc": "Preleva", + "KxKU9": "When you withdraw, your OGN is claimed automatically", + "4nnBQS": "Unclaimed OGN", + "1bH81E": "Your rate: {weekly-rate} OGN/week", + "1MDjh6": "Riscuoti", + "1girMq": "How to Earn OGN by Providing Liquidity to OUSD", + "17MLRp": "Acquista OUSD", + "1qkHTQ": "Provide liquidity", + "cvWeb": "Deposit to earn OGN", + "2CPasx": "Loading...", + "477gIa": "Get OUSD by minting it or buying it on an exchange", + "3vfiBp": "Swap OUSD", + "440N92": "Provide {pool name} liquidity on Uniswap", + "1VLYE8": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity.", + "2S4fxr": "Ulteriori informazioni", + "3EwDTh": "Visita Uniswap", + "3B66pk": "Deposit your LP tokens and start earning OGN", + "1NBzUp": "Take me there", + "1ERLYJ": "Pool Contract", + "2Ml9PK": "Rewards Contract", + "3nG9sm": "Current Staking Reward", + "3QWPjm": "Liquidity Provider Fees", + "NGVPX": "Projected Performance Bonus", + "4C96BC": "{pool name} pool APY", + "1OUWUR": "Claim OGN", + "1FMVwg": "Please confirm your transaction…", + "1zjMH4": "Earning", + "46QM11": "Complete", + "ByQEG": "{Stake rate}% - {Duration in days} days", + "1gWuD3": "Stato", + "3lJX8R": "Lock-up Date", + "2JakeR": "Maturity Date", + "3gBFcU": "Duration", + "4hfOSZ": "{days} days", + "cxJ5S": "Tasso di interesse", + "lwOCl": "Total Interest Accrued", + "C70gA": "Interest Accrued", + "1tLOzb": "Total to date", + "x8EZB": "Interest Remaning", + "4euN6q": "Maturity Amount", + "6qUzg": "Deposit Transaction", + "1SW6CR": "Withdrawal Transaction", + "4wKAIm": "Insufficient OGN balance", + "3id3UW": "Amount to lock up", + "3onUuV": "Available: {tokens-amount}", + "4s5sFU": "Max", + "4gGbfA": "Approva", + "3YN7Sk": "Waiting for you to confirm…", + "2Wkohs": "Approving {LP token name}...", + "1qcGIX": "{Token to be approved name} approved", + "1lJhC8": "When you withdraw, your OGN is claimed automatically", + "OjbLO": "Unstake LP tokens", + "4y50Af": "Price", + "4lO2tB": "Circulating Supply", + "3rKlkU": "Market Cap", + "4iSbmE": "Visit OGN Dashboard", + "25RRqe": "Visit OUSD Dashboard", + "2ERPQi": "Approximate APY", + "29mlza": "LP token deposits", + "3daZoe": "Pool rate", + "5B3Td": "OGN/week", + "1Watk5": "Your weekly rate", + "8cqDM": "/ week", + "1DU9yn": "Eligible LP Tokens", + "6fZQJ": "All pools", + "2pt63C": "Pool rate (per week)", + "1S6Z5G": "Your position", + "361RXs": "LP token: {token name}", + "2rwqy0": "Start by connecting your wallet", + "IhpI": "{reward boost amount}x rewards!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "Staking contract has insufficient OGN funds", + "201foI": "All of the stakes are still in lock-up", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "Unexpected error happened", + "3Hc92T": "Stake now", + "2jEFb2": "Approve & stake", + "1NJQLG": "Permission to use OGN token", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Get started with staking by selecting a lock-up period", + "3nbZ64": "You will be able to claim your OGN principal plus interest at the end of the staking period.", + "3PO3Rb": "Available Lock-ups", + "2aPZNs": "Current Lock-ups", + "13TKqB": "Previous Lock-ups", + "2iJ38z": "APY", + "KMPDI": "Maturity", + "2waHGT": "{number_of_days} days", + "FVoGJ": "OGN Staking Contract", + "1ioxMA": "Uniswap pool", + "4e45N5": "Sei già registrato!", + "CUVe5": "Grazie per esserti registrato/a!", + "2hryKC": "Errore durante l'iscrizione alla mailing list", + "3MeNPr": "Ottieni OUSD", + "3fk4nY": "Connect", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Si è verificato un errore inaspettato. Per favore aggiorna la pagina e riprova.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Termini di servizio", + "2kEL7A": "Politica di riservatezza", + "4d7d8o": "No wallet connected", + "4p8WTT": "Please connect an Ethereum wallet", + "4DdQgp": "Earn OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Home", + "3v8OaN": "Earn", + "4nBzhS": "Governance", + "OxsKT": "Debug", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "You're ready to provide liquidity and deposit to earn OGN", + "1ydkJH": "Continue", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Concedendo l'autorizzazione per spostare il tuo {coin}", + "2eQ0qB": "Autorizzazione concessa per spostare il tuo {coin}", + "3RBkL5": "La concessione dell'autorizzazione per spostare il tuo {coin} è fallita", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Benvenuta/o!", + "n3ZVI": "Origin Dollar ti permette di convertire facilmente le altre stablecoin in OUSD in modo tale che tu possa istantaneamente ottenere dei rendimenti.", + "jcVm7": "Puoi comprare fino a ~{ousd-coin} OUSD con i {usdt-coin} USDT, {usdc-coin} USDC, e {dai-coin} DAI presenti nel tuo wallet.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}d left", + "3Hdm9G": "{hours left}h left", + "N6ggq": "{minutes left}m left", + "3WG8k4": "{seconds left}s left", + "VPnaK": "{days left} days left", + "wfwb5": "{hours left} hours left", + "3f3Ar0": "Rimangono {minutes left} minuti", + "2Au2g8": "Rimangono {seconds left} secondi", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Riscuoti OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Durata dello stake", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "Redirecting...", + "2xq4Xy": "Guadagna rendimenti competitivi senza muovere un dito", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "Lo smart contract OUSD raccoglie il capitale di tutti i depositanti di stablecoin, dopodiché indirizza il capitale verso una serie diversificata di strategie di guadagno. I guadagni vengono automaticamente convertiti in OUSD e depositati nel tuo portafoglio.", + "385aCS": "Reward Fees", + "c17qT": "Commissioni di Trading AMM", + "rLE40": "Ricompense di Liquidity Mining", + "22Gov9": "Inoltre, guadagna privilegi di governance e incentivi quando contribuisci al protocollo.", + "1tAhoa": "In arrivo", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Commissioni per il trading di market maker automatizzato (AMM)", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "L'Impermanent Loss è ridotta al minimo mentre le commissioni e i premi LP sono massimizzati.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Ricevi tutto il tuo rendimento in OUSD automaticamente. Non è necessario gestire attivamente il tuo portafoglio DeFi.", + "KwmOl": "OUSD aumenta di continuo", + "2F2gKe": "Ottieni la sicurezza finanziaria e crea ricchezza più velocemente che mai.", + "2i6enW": "Crescita di $ 10.000 in 2 anni", + "3lygEf": "Mesi", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Incentivando gli stakeholder", + "27oqvG": "Privilegi e incentivi di governance saranno dati agli utenti che creano valore per la piattaforma OUSD", + "3BWDtW": "Converti stablecoin in OUSD", + "tL9Vi": "Fornisci liquidità", + "3bKjkh": "Metti in stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Presentazione", + "f1GjR": "La prima stablecoin che guadagna un rendimento mentre è ancora nel tuo portafoglio", + "2YiWgS": "Attualmente guadagnando", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Converti i tuoi USDT, USDC e DAI in OUSD per cominciare a guadagnare rendimenti immediatamente", + "4mNBbB": "Tutti i guadagni, nessuno dei problemi", + "1eFOSq": "I rendimenti DeFi sono automaticamente convertiti in OUSD e maturano nel tuo wallet. Il tuo saldo in OUSD giova dell'interesse composto più volte al giorno. Non è richiesto alcuno stake e non è richiesta la necessità di effettuare dei controlli al fine dell'ottenimento dei rendimenti.", + "48XJtG": "Spendi i tuoi OUSD con facilità", + "1OleQh": "Non è necessario chiudere posizioni complicate quando vuoi spendere il tuo OUSD. Trasferisci OUSD senza dover prelevare o sbloccare capitale.", + "3LnSmq": "Fornitura elastica, prezzo stabile", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1: 1 garantito dalle altre stablecoin", + "2Y956f": "OUSD è garantito da altre stablecoin comprovate come USDT, USDC e DAI. Il capitale è ulteriormente assicurato dai token di governance emessi da piattaforme come Aave e MakerDAO.", + "ZkCqX": "Yield farming automatizzato", + "3guScM": "I tuoi fondi sono gestiti dalle strategie automatizzate all'interno di smart contract OUSD trasparenti. Guarda esattamente come vengono messi al lavoro.", + "CXw7Y": "Hai sempre il pieno controllo", + "1FYoNd": "Archivia e guadagna OUSD con wallet Ethereum non-custodial. Entra ed esci da OUSD quando vuoi. Non è richiesto un periodo minimo di detenzione o un importo minimo di OUSD per guadagnare rendimenti.", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "La stablecoin perfetta sia per spendere, sia per risparmiare", + "knVKF": "Batti i risparmi tradizionali e i mercati monetari", + "37bU7L": "Con un APY stimato di {current-apy}, gli utili OUSD superano gli strumenti finanziari tradizionali.", + "2XvZNz": "Trasferimenti peer-to-peer istantanei", + "dVUpd": "Invia OUSD per pagare i tuoi amici e familiari invece di usare Venmo o Paypal. Guadagneranno rendimento immediatamente.", + "3HVRE9": "Invii senza commissioni", + "3b4MZ": "Hai bisogno di inviare denaro in Cina o nelle Filippine? I tuoi destinatari ottengono OUSD senza perdere la media del 6,7% sulle commissioni.", + "AAF3q": "Una migliore unità di conto", + "1cVSMs": "Tieni traccia dei tuoi guadagni DeFi in modo semplice, senza complicati fogli di calcolo e dashboard personalizzati.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Segui il nostro sviluppo", + "oroj": "Unisciti a noi su Discord", + "3b4HiA": "Dai un'occhiata al nostro GitHub", + "3c9gh": "Visualizza la documentazione" + }, + "ja_JP": { + "1jPSOs": "Wrong network", + "1jkdbc": "Connected to {network-name}", + "4AutCu": "Disconnect", + "2pLcqa": "Analytics", + "1W0h5E": "Jobs", + "2sBRPu": "Docs", + "3pDcYN": "Terms", + "31niVc": "Privacy", + "2rW6zN": "Discord", + "4gWLo1": "Built by Origin Protocol", + "1YneSG": "Waiting for you to confirm...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Refresh", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"", + "pIZfD": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened.", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "days", + "2K2bO2": "Annualized Yield", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "Start earning with OUSD in just a few minutes", + "1baarA": "Unlocked", + "L7ge6": "Principal", + "39pdOX": "Interest", + "4lZnET": "Total", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Deposit", + "3SN6Zt": "Deposit LP tokens", + "3ZzuaD": "Approve & deposit", + "1u6rQQ": "Permission to use {LP token name}", + "5UwYb": "Your LP tokens will remain staked", + "2roQJA": "Available LP tokens", + "Dwz0K": "Deposited LP tokens", + "3NtfDc": "Withdraw", + "KxKU9": "When you withdraw, your OGN is claimed automatically", + "4nnBQS": "Unclaimed OGN", + "1bH81E": "Your rate: {weekly-rate} OGN/week", + "1MDjh6": "Claim", + "1girMq": "How to Earn OGN by Providing Liquidity to OUSD", + "17MLRp": "Purchase OUSD", + "1qkHTQ": "Provide liquidity", + "cvWeb": "Deposit to earn OGN", + "2CPasx": "Loading...", + "477gIa": "Get OUSD by minting it or buying it on an exchange", + "3vfiBp": "Swap OUSD", + "440N92": "Provide {pool name} liquidity on Uniswap", + "1VLYE8": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity.", + "2S4fxr": "Learn more", + "3EwDTh": "Visit Uniswap", + "3B66pk": "Deposit your LP tokens and start earning OGN", + "1NBzUp": "Take me there", + "1ERLYJ": "Pool Contract", + "2Ml9PK": "Rewards Contract", + "3nG9sm": "Current Staking Reward", + "3QWPjm": "Liquidity Provider Fees", + "NGVPX": "Projected Performance Bonus", + "4C96BC": "{pool name} pool APY", + "1OUWUR": "Claim OGN", + "1FMVwg": "Please confirm your transaction…", + "1zjMH4": "Earning", + "46QM11": "Complete", + "ByQEG": "{Stake rate}% - {Duration in days} days", + "1gWuD3": "Status", + "3lJX8R": "Lock-up Date", + "2JakeR": "Maturity Date", + "3gBFcU": "Duration", + "4hfOSZ": "{days} days", + "cxJ5S": "Interest Rate", + "lwOCl": "Total Interest Accrued", + "C70gA": "Interest Accrued", + "1tLOzb": "Total to date", + "x8EZB": "Interest Remaning", + "4euN6q": "Maturity Amount", + "6qUzg": "Deposit Transaction", + "1SW6CR": "Withdrawal Transaction", + "4wKAIm": "Insufficient OGN balance", + "3id3UW": "Amount to lock up", + "3onUuV": "Available: {tokens-amount}", + "4s5sFU": "Max", + "4gGbfA": "Approve", + "3YN7Sk": "Waiting for you to confirm…", + "2Wkohs": "Approving {LP token name}...", + "1qcGIX": "{Token to be approved name} approved", + "1lJhC8": "When you withdraw, your OGN is claimed automatically", + "OjbLO": "Unstake LP tokens", + "4y50Af": "Price", + "4lO2tB": "Circulating Supply", + "3rKlkU": "Market Cap", + "4iSbmE": "Visit OGN Dashboard", + "25RRqe": "Visit OUSD Dashboard", + "2ERPQi": "Approximate APY", + "29mlza": "LP token deposits", + "3daZoe": "Pool rate", + "5B3Td": "OGN/week", + "1Watk5": "Your weekly rate", + "8cqDM": "/ week", + "1DU9yn": "Eligible LP Tokens", + "6fZQJ": "All pools", + "2pt63C": "Pool rate (per week)", + "1S6Z5G": "Your position", + "361RXs": "LP token: {token name}", + "2rwqy0": "Start by connecting your wallet", + "IhpI": "{reward boost amount}x rewards!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "Staking contract has insufficient OGN funds", + "201foI": "All of the stakes are still in lock-up", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "Unexpected error happened", + "3Hc92T": "Stake now", + "2jEFb2": "Approve & stake", + "1NJQLG": "Permission to use OGN token", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Get started with staking by selecting a lock-up period", + "3nbZ64": "You will be able to claim your OGN principal plus interest at the end of the staking period.", + "3PO3Rb": "Available Lock-ups", + "2aPZNs": "Current Lock-ups", + "13TKqB": "Previous Lock-ups", + "2iJ38z": "APY", + "KMPDI": "Maturity", + "2waHGT": "{number_of_days} days", + "FVoGJ": "OGN Staking Contract", + "1ioxMA": "Uniswap pool", + "4e45N5": "You're already registered!", + "CUVe5": "Thanks for signing up!", + "2hryKC": "Error subscribing you to the email list", + "3MeNPr": "Get OUSD", + "3fk4nY": "Connect", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Unexpected error occurred. Please refresh page and try again.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Terms of Service", + "2kEL7A": "Privacy Policy", + "4d7d8o": "No wallet connected", + "4p8WTT": "Please connect an Ethereum wallet", + "4DdQgp": "Earn OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Home", + "3v8OaN": "Earn", + "4nBzhS": "Governance", + "OxsKT": "Debug", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "You're ready to provide liquidity and deposit to earn OGN", + "1ydkJH": "Continue", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Granting permission to move your {coin}", + "2eQ0qB": "Permission granted to move your {coin}", + "3RBkL5": "Failed granting permission to move your {coin}", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Welcome!", + "n3ZVI": "The Origin Dollar lets you easily convert other stablecoins into OUSD so you can instantly earn yields.", + "jcVm7": "You can buy up to ~{ousd-coin} OUSD with the {usdt-coin} USDT, {usdc-coin} USDC, and {dai-coin} DAI in your wallet.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}d left", + "3Hdm9G": "{hours left}h left", + "N6ggq": "{minutes left}m left", + "3WG8k4": "{seconds left}s left", + "VPnaK": "{days left} days left", + "wfwb5": "{hours left} hours left", + "3f3Ar0": "{minutes left} minutes left", + "2Au2g8": "{seconds left} seconds left", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "Redirecting...", + "2xq4Xy": "Earn competitive yields without lifting a finger", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "The OUSD smart contract pools capital from all stablecoin depositors, then routes capital to a diversified set of yield-earning strategies. Earnings are automatically converted to OUSD and deposited into your wallet.", + "385aCS": "Reward Fees", + "c17qT": "AMM Trading Fees", + "rLE40": "Liquidity Mining Rewards", + "22Gov9": "Plus, earn governance privileges and incentives when you contribute to the protocol.", + "1tAhoa": "Coming Soon", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Automated Market Maker Trading Fees", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Impermanent loss is minimized while LP fees and rewards are maximized.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Receive all your yield in OUSD automatically. There's no need to actively manage your DeFi portfolio.", + "KwmOl": "OUSD compounds continuously", + "2F2gKe": "Achieve financial security and create wealth faster than ever before.", + "2i6enW": "Growth of $10,000 over 2 years", + "3lygEf": "Months", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Incentivizing stakeholders", + "27oqvG": "Governance privileges and incentives will be given to users that create value for the OUSD platform", + "3BWDtW": "Convert stablecoins to OUSD", + "tL9Vi": "Supply liquidity", + "3bKjkh": "Stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Introducing", + "f1GjR": "The first stablecoin that earns a yield while it’s still in your wallet", + "2YiWgS": "Currently earning", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Convert your USDT, USDC, and DAI to OUSD to start earning yields immediately", + "4mNBbB": "All the earnings, none of the hassles", + "1eFOSq": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required.", + "48XJtG": "Spend your OUSD with ease", + "1OleQh": "There's no need to unwind complicated positions when you want to spend your OUSD. Transfer OUSD without having to unstake or unlock capital.", + "3LnSmq": "Elastic supply, stable price", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1 backed by other stablecoins", + "2Y956f": "OUSD is secured by other proven stablecoins like USDT, USDC, and DAI. Capital is further insured by governance tokens issued by platforms like Aave and MakerDAO.", + "ZkCqX": "Automated yield farming", + "3guScM": "Automated strategies in transparent OUSD smart contracts manage your funds. See exactly how your money is being put to work.", + "CXw7Y": "You always have full control", + "1FYoNd": "Store and earn OUSD with non-custodial Ethereum wallets. Enter and exit OUSD whenever you want. There's no minimum holding period or minimum OUSD amount required to earn yields.", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "The perfect stablecoin for both spending and saving", + "knVKF": "Beat traditional savings and money markets", + "37bU7L": "At an estimated APY of {current-apy}, OUSD earnings trounce traditional financial instruments.", + "2XvZNz": "Instantaneous peer-to-peer transfers", + "dVUpd": "Send OUSD to pay your friends and family instead of using Venmo or Paypal. They’ll earn yield immediately.", + "3HVRE9": "Remittances without fees", + "3b4MZ": "Need to send money to China or the Philippines? Your recipients get OUSD without losing the average of 6.7% on fees.", + "AAF3q": "A better unit of account", + "1cVSMs": "Easily track your DeFi earnings without complicated spreadsheets and custom dashboards.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Follow our development", + "oroj": "Join us on Discord", + "3b4HiA": "Check out our GitHub", + "3c9gh": "View the documentation" + }, + "ko_KR": { + "1jPSOs": "Wrong network", + "1jkdbc": "{network-name} 연결됨", + "4AutCu": "연결 해제", + "2pLcqa": "분석", + "1W0h5E": "채용 정보", + "2sBRPu": "문서", + "3pDcYN": "약관", + "31niVc": "개인 정보", + "2rW6zN": "Discord", + "4gWLo1": "오리진 프로토콜에 의해 구축", + "1YneSG": "승인 대기 중...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "새로고침", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "컨트렉트 데이터가 활성화되지 않았습니다. 이더리움(Ethereum) 앱 설정으로 이동하여 \"컨트렉트 데이터\"를 \"허용됨\"으로 설정해주세요.", + "pIZfD": "원장(Ledger) 장치를 감지 할 수 없습니다. 원장(Ledger) 가 잠금 해제되어 있고 이더리움(Ethereum) 앱이 열려 있는지 확인해주세요.", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "일", + "2K2bO2": "연간 수익률", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "단 몇 분 만에 OUSD로 수익을 올려보세요", + "1baarA": "잠금 해제 됨", + "L7ge6": "원금", + "39pdOX": "이자", + "4lZnET": "총", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "예금", + "3SN6Zt": "LP 토큰 입금", + "3ZzuaD": "승인 및 입금", + "1u6rQQ": "{LP token name} 에 대한 사용 권한", + "5UwYb": "LP 토큰은 스테이킹(staking) 된 상태로 유지됩니다.", + "2roQJA": "사용 가능한 LP 토큰", + "Dwz0K": "입금된 LP 토큰", + "3NtfDc": "철회", + "KxKU9": "출금하면 OGN이 자동으로 청구됩니다.", + "4nnBQS": "청구되지 않은 OGN", + "1bH81E": "요금: {weekly-rate} OGN / 주", + "1MDjh6": "청구", + "1girMq": "OUSD에 유동성을 제공하여 OGN을 얻는 방법", + "17MLRp": "OUSD 구매", + "1qkHTQ": "유동성 제공", + "cvWeb": "OGN 적립을 위한 입금", + "2CPasx": "로딩중...", + "477gIa": "OUSD를 발행하거나 거래소에서 구매하세요", + "3vfiBp": "Swap OUSD", + "440N92": "유니스왑에 {pool name} 유동성 제공", + "1VLYE8": "기억하세요, 유니스왑에 있는 동안 OUSD가 증가 하지는 않지만 유동성 제공에 대한 수수료를 받게됩니다.", + "2S4fxr": "더 알아보기", + "3EwDTh": "유니스왑(Uniswap) 을 방문 해보세요", + "3B66pk": "LP 토큰을 입금하고 OGN을 획득하세요", + "1NBzUp": "거기로 이동하기", + "1ERLYJ": "풀(pool) 컨트랙트", + "2Ml9PK": "리워드(rewards) 컨트랙트", + "3nG9sm": "현재 스테이킹(Staking) 리워드", + "3QWPjm": "유동성 제공자 수수료", + "NGVPX": "예상 실적 보너스", + "4C96BC": "{pool name} 풀(pool) APY", + "1OUWUR": "OGN 청구", + "1FMVwg": "다음과 같은 거래의 확정을 부탁드립니다.", + "1zjMH4": "획득", + "46QM11": "완료", + "ByQEG": "{Stake rate}% {Duration in days} 일", + "1gWuD3": "상태", + "3lJX8R": "락업(lock-up) 날짜", + "2JakeR": "만기일", + "3gBFcU": "기간", + "4hfOSZ": "{days} 일", + "cxJ5S": "이자율", + "lwOCl": "발생한 총이자", + "C70gA": "발생한 이자", + "1tLOzb": "현재까지의 총 잔액", + "x8EZB": "이자 잔고", + "4euN6q": "만기 금액", + "6qUzg": "입금 거래", + "1SW6CR": "출금 거래", + "4wKAIm": "OGN 잔액 불충분", + "3id3UW": "락업(lock-up) 할 금액", + "3onUuV": "사용 가능: {tokens-amount}", + "4s5sFU": "최대", + "4gGbfA": "승인", + "3YN7Sk": "승인 대기 중...", + "2Wkohs": "{LP token name} 를 승인하는 중...", + "1qcGIX": "{Token to be approved name} 승인 됨", + "1lJhC8": "출금 시, OGN이 자동으로 청구됩니다.", + "OjbLO": "언스테이크 LP 토큰", + "4y50Af": "가격", + "4lO2tB": "순환 공급량", + "3rKlkU": "시가 총액", + "4iSbmE": "OGN 대시 보드 살펴보기", + "25RRqe": "OGN 대시 보드 살펴보기", + "2ERPQi": "대략적 APY", + "29mlza": "LP 토큰 예금", + "3daZoe": "풀 비율", + "5B3Td": "OGN / 주", + "1Watk5": "Your weekly rate", + "8cqDM": "/ 주", + "1DU9yn": "적합한 LP토큰", + "6fZQJ": "모든 풀", + "2pt63C": "Pool rate (per week)", + "1S6Z5G": "사용자 위치", + "361RXs": "LP 토큰: {token name}", + "2rwqy0": "지금 지갑을 연결해서 시작해보세요", + "IhpI": "{reward boost amount}x 보상!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "스테이킹 컨트랙트에 OGN 자금이 충분하지 않습니다.", + "201foI": "모든 지분은 여전히 잠겨 있습니다.", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "예기치 않은 오류가 발생했습니다.", + "3Hc92T": "지금 스테이크", + "2jEFb2": "승인 및 지분", + "1NJQLG": "OGN 토큰 사용 권한", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "락업 기간을 선택하여 스테이킹 시작", + "3nbZ64": "스테이킹 기간이 끝나면 OGN 원금과 이자를 청구 할 수 있습니다.", + "3PO3Rb": "사용 가능한 락업", + "2aPZNs": "현재 락업", + "13TKqB": "이전 락업", + "2iJ38z": "APY", + "KMPDI": "만기일", + "2waHGT": "{number_of_days} 일", + "FVoGJ": "OGN 스테이킹 컨트랙트", + "1ioxMA": "유니스왑(Uniswap) 풀", + "4e45N5": "이미 가입하셨습니다.", + "CUVe5": "가입해주셔서 감사합니다!", + "2hryKC": "이메일 구독 오류", + "3MeNPr": "OUSD 얻기", + "3fk4nY": "연결", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "예기치 않은 오류가 발생했습니다. 페이지를 새로 고침하고 다시 시도하세요.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "서비스 약관", + "2kEL7A": "개인 정보 정책", + "4d7d8o": "지갑을 찾을 수 없습니다", + "4p8WTT": "이더리움 지갑을 연결해주세요", + "4DdQgp": "OGN 획득", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "홈", + "3v8OaN": "획득", + "4nBzhS": "거버넌스(Governance)", + "OxsKT": "디버그(debug)", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "OGN을 얻기 위해 유동성과 예금을 제공 할 준비가 되었습니다.", + "1ydkJH": "계속", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "{coin} 로 이동 권한 받는중", + "2eQ0qB": "{coin} 로 이동 권한 부여", + "3RBkL5": "{coin} 을 이동 할 수 있는 권한을 부여하지 못했습니다.", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "환영 합니다!", + "n3ZVI": "오리진 달러(Origin Dollar) 를 사용하면 다른 스테이블 코인을 OUSD로 쉽게 변환 할 수 있으며, 즉시 수익을 얻을 수 있습니다.", + "jcVm7": "지갑에 있는 {usdt-coin} USDT, {usdc-coin} USDC, {dai-coin} DAI를 사용해 최대 ~{ousd-coin} 의 OUSD를 구매할 수 있습니다.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}일 남음", + "3Hdm9G": "{hours left}시간 남음", + "N6ggq": "{minutes left}분 남음", + "3WG8k4": "{seconds left}초 남음", + "VPnaK": "{days left} 일 남음", + "wfwb5": "{hours left} 시간 남음", + "3f3Ar0": "{minutes left} 분 남음", + "2Au2g8": "{seconds left} 초 남음", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "다시연결 중...", + "2xq4Xy": "손가락 하나 까딱하지 않고도 가치있는 수익을 얻을 수 있습니다.", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "OUSD 스마트 컨트랙트는 모든 스테이블 코인 예금자로부터 자본을 모은 후, 지능적이며 알고리즘적인 방식으로 해당 자본을 기반한 다양한 수익 창출 전략 세트 루트를 만듭니다. 해당 수익은 자동으로 OUSD로 전환되어 사용자의 지갑에 입금됩니다.", + "385aCS": "Reward Fees", + "c17qT": "AMM 거래 수수료", + "rLE40": "유동성 채굴(Liquidity Mining) 리워드", + "22Gov9": "추가적으로, 프로토콜에 기여하면 거버넌스 권한과 인센티브를 얻을 수 있습니다.", + "1tAhoa": "곧 출시 예정", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "자동화 된 마켓 메이커(AMM) 거래 수수료", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "비영구적 손실(impermanent loss) 은 최소화되고 LP 수수료와 보상은 극대화됩니다.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "모든 이자를 OUSD로 자동으로 받습니다. 이제, 디파이(DeFi) 포트폴리오를 관리 할 필요가 없습니다.", + "KwmOl": "OUSD는 지속적으로 컴파운드(compounds) 합니다", + "2F2gKe": "그 어느 때보다 빠르게 재정적 안정을 달성하고 부를 창출하세요.", + "2i6enW": "2년동안 $10,000의 성장", + "3lygEf": "월", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "이해관계자 인센티브 부여", + "27oqvG": "OUSD 플랫폼의 가치를 창출하는 사용자에게 거버넌스 권한 및 인센티브가 제공됩니다.", + "3BWDtW": "스테이블 코인을 OUSD로 변환", + "tL9Vi": "유동성 공급", + "3bKjkh": "OGN 스테이킹(staking)", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "소개", + "f1GjR": "지갑에 있는동안 수익을 만들어 내는 최초의 스테이블 코인", + "2YiWgS": "현재 적립중", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "USDT, USDC 및 DAI를 OUSD로 변환하여 지금 당장 이자를 얻어 보세요.", + "4mNBbB": "번거로움 없이 얻는 수익", + "1eFOSq": "DeFi 수익은 자동으로 OUSD로 변환되어 지갑에 누적됩니다. 귀하의 OUSD 잔액은 하루에도 여러번 지속적으로 합성됩니다. 스테이킹(staking) 이나 락업(lock up) 이 필요하지 않습니다.", + "48XJtG": "OUSD를 쉽게 사용할 수 있습니다", + "1OleQh": "OUSD를 사용하고 싶을 때 복잡한 과정을 거칠 필요가 없습니다. 자본의 스테이킹을 해제 하거나 언락의 과정 없이 OUSD를 편리하게 송금할 수 있습니다.", + "3LnSmq": "탄력적 공급, 안정적 가격", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "타 스테이블 코인과 1:1 지원", + "2Y956f": "OUSD는 USDT, USDC 및 DAI와 같은 다른 검증 된 스테이블 코인으로 보호됩니다. 자본은 에이브(Aave) 및 메이커다오(MakerDAO) 와 같은 플랫폼에서 발행한 거버넌스 토큰에 의해 추가로 보장됩니다.", + "ZkCqX": "자동화 된 이자 농사(yield farming)", + "3guScM": "투명하고, 자동화 된 알고리즘 기반의 OUSD의 스마트 컨트렉트가 자금을 관리합니다. 사용자의 자금이 어떻게 운용되고 있는지 직접 확인해보세요.", + "CXw7Y": "항상 당신이 모든 권한을 갖습니다.", + "1FYoNd": "비수탁성(non-custodial) 이더리움 지갑에 OUSD를 저장하고 적립할 수 있습니다. OUSD 는 사용자가 원할 시 입금과 출금이 가능합니다. 수익을 얻기 위해 필요한 최소 보유 기간 또는 최소 OUSD 금액과 같은 제한 조건은 없습니다.", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "지출과 저축을 위한 완벽한 스테이블 코인", + "knVKF": "전통적 저축 및 단기 금융 시장(money market) 을 대체합니다", + "37bU7L": "예상 APY {current-apy} 으로 OUSD를 통한 수입 창출은 전통적 금융 상품보다 우수합니다.", + "2XvZNz": "즉각적 P2P 전송", + "dVUpd": "벤모(Venmo) 또는 페이팔(Paypal)을 사용하는 대신 OUSD를 보내 친구와 가족에게 송금 해보세요. 그들은 즉시 수익을 얻을 것입니다.", + "3HVRE9": "수수료없는 송금", + "3b4MZ": "중국이나 필리핀으로 송금해야하나요? 받는 사람은 평균 6.7%의 수수료 손실없이 OUSD를 받게 됩니다.", + "AAF3q": "더 나은 계정 단위", + "1cVSMs": "복잡한 표 계산(spreadsheet) 및 커스텀 대시보드(dashboard) 없이 디파이로 생겨난 수익을 쉽게 추적 할 수 있습니다.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "오리진의 개발 상황을 팔로우 해주세요.", + "oroj": "오리진 디스코드(Discord) 에 참여 해보세요.", + "3b4HiA": "오리진 깃허브(GitHub) 를 찾아주세요.", + "3c9gh": "문서보기" + }, + "nl_NL": { + "1jPSOs": "Wrong network", + "1jkdbc": "Connected to {network-name}", + "4AutCu": "Disconnect", + "2pLcqa": "Analytics", + "1W0h5E": "Jobs", + "2sBRPu": "Docs", + "3pDcYN": "Terms", + "31niVc": "Privacy", + "2rW6zN": "Discord", + "4gWLo1": "Built by Origin Protocol", + "1YneSG": "Waiting for you to confirm...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Refresh", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"", + "pIZfD": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened.", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "days", + "2K2bO2": "Annualized Yield", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "Start earning with OUSD in just a few minutes", + "1baarA": "Unlocked", + "L7ge6": "Principal", + "39pdOX": "Interest", + "4lZnET": "Total", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Deposit", + "3SN6Zt": "Deposit LP tokens", + "3ZzuaD": "Approve & deposit", + "1u6rQQ": "Permission to use {LP token name}", + "5UwYb": "Your LP tokens will remain staked", + "2roQJA": "Available LP tokens", + "Dwz0K": "Deposited LP tokens", + "3NtfDc": "Withdraw", + "KxKU9": "When you withdraw, your OGN is claimed automatically", + "4nnBQS": "Unclaimed OGN", + "1bH81E": "Your rate: {weekly-rate} OGN/week", + "1MDjh6": "Claim", + "1girMq": "How to Earn OGN by Providing Liquidity to OUSD", + "17MLRp": "Purchase OUSD", + "1qkHTQ": "Provide liquidity", + "cvWeb": "Deposit to earn OGN", + "2CPasx": "Loading...", + "477gIa": "Get OUSD by minting it or buying it on an exchange", + "3vfiBp": "Swap OUSD", + "440N92": "Provide {pool name} liquidity on Uniswap", + "1VLYE8": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity.", + "2S4fxr": "Learn more", + "3EwDTh": "Visit Uniswap", + "3B66pk": "Deposit your LP tokens and start earning OGN", + "1NBzUp": "Take me there", + "1ERLYJ": "Pool Contract", + "2Ml9PK": "Rewards Contract", + "3nG9sm": "Current Staking Reward", + "3QWPjm": "Liquidity Provider Fees", + "NGVPX": "Projected Performance Bonus", + "4C96BC": "{pool name} pool APY", + "1OUWUR": "Claim OGN", + "1FMVwg": "Please confirm your transaction…", + "1zjMH4": "Earning", + "46QM11": "Complete", + "ByQEG": "{Stake rate}% - {Duration in days} days", + "1gWuD3": "Status", + "3lJX8R": "Lock-up Date", + "2JakeR": "Maturity Date", + "3gBFcU": "Duration", + "4hfOSZ": "{days} days", + "cxJ5S": "Interest Rate", + "lwOCl": "Total Interest Accrued", + "C70gA": "Interest Accrued", + "1tLOzb": "Total to date", + "x8EZB": "Interest Remaning", + "4euN6q": "Maturity Amount", + "6qUzg": "Deposit Transaction", + "1SW6CR": "Withdrawal Transaction", + "4wKAIm": "Insufficient OGN balance", + "3id3UW": "Amount to lock up", + "3onUuV": "Available: {tokens-amount}", + "4s5sFU": "Max", + "4gGbfA": "Approve", + "3YN7Sk": "Waiting for you to confirm…", + "2Wkohs": "Approving {LP token name}...", + "1qcGIX": "{Token to be approved name} approved", + "1lJhC8": "When you withdraw, your OGN is claimed automatically", + "OjbLO": "Unstake LP tokens", + "4y50Af": "Price", + "4lO2tB": "Circulating Supply", + "3rKlkU": "Market Cap", + "4iSbmE": "Visit OGN Dashboard", + "25RRqe": "Visit OUSD Dashboard", + "2ERPQi": "Approximate APY", + "29mlza": "LP token deposits", + "3daZoe": "Pool rate", + "5B3Td": "OGN/week", + "1Watk5": "Your weekly rate", + "8cqDM": "/ week", + "1DU9yn": "Eligible LP Tokens", + "6fZQJ": "All pools", + "2pt63C": "Pool rate (per week)", + "1S6Z5G": "Your position", + "361RXs": "LP token: {token name}", + "2rwqy0": "Start by connecting your wallet", + "IhpI": "{reward boost amount}x rewards!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "Staking contract has insufficient OGN funds", + "201foI": "All of the stakes are still in lock-up", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "Unexpected error happened", + "3Hc92T": "Stake now", + "2jEFb2": "Approve & stake", + "1NJQLG": "Permission to use OGN token", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Get started with staking by selecting a lock-up period", + "3nbZ64": "You will be able to claim your OGN principal plus interest at the end of the staking period.", + "3PO3Rb": "Available Lock-ups", + "2aPZNs": "Current Lock-ups", + "13TKqB": "Previous Lock-ups", + "2iJ38z": "APY", + "KMPDI": "Maturity", + "2waHGT": "{number_of_days} days", + "FVoGJ": "OGN Staking Contract", + "1ioxMA": "Uniswap pool", + "4e45N5": "You're already registered!", + "CUVe5": "Thanks for signing up!", + "2hryKC": "Error subscribing you to the email list", + "3MeNPr": "Get OUSD", + "3fk4nY": "Connect", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Unexpected error occurred. Please refresh page and try again.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Terms of Service", + "2kEL7A": "Privacy Policy", + "4d7d8o": "No wallet connected", + "4p8WTT": "Please connect an Ethereum wallet", + "4DdQgp": "Earn OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Home", + "3v8OaN": "Earn", + "4nBzhS": "Governance", + "OxsKT": "Debug", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "You're ready to provide liquidity and deposit to earn OGN", + "1ydkJH": "Continue", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Granting permission to move your {coin}", + "2eQ0qB": "Permission granted to move your {coin}", + "3RBkL5": "Failed granting permission to move your {coin}", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Welcome!", + "n3ZVI": "The Origin Dollar lets you easily convert other stablecoins into OUSD so you can instantly earn yields.", + "jcVm7": "You can buy up to ~{ousd-coin} OUSD with the {usdt-coin} USDT, {usdc-coin} USDC, and {dai-coin} DAI in your wallet.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}d left", + "3Hdm9G": "{hours left}h left", + "N6ggq": "{minutes left}m left", + "3WG8k4": "{seconds left}s left", + "VPnaK": "{days left} days left", + "wfwb5": "{hours left} hours left", + "3f3Ar0": "{minutes left} minutes left", + "2Au2g8": "{seconds left} seconds left", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "Redirecting...", + "2xq4Xy": "Earn competitive yields without lifting a finger", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "The OUSD smart contract pools capital from all stablecoin depositors, then routes capital to a diversified set of yield-earning strategies. Earnings are automatically converted to OUSD and deposited into your wallet.", + "385aCS": "Reward Fees", + "c17qT": "AMM Trading Fees", + "rLE40": "Liquidity Mining Rewards", + "22Gov9": "Plus, earn governance privileges and incentives when you contribute to the protocol.", + "1tAhoa": "Coming Soon", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Automated Market Maker Trading Fees", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Impermanent loss is minimized while LP fees and rewards are maximized.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Receive all your yield in OUSD automatically. There's no need to actively manage your DeFi portfolio.", + "KwmOl": "OUSD compounds continuously", + "2F2gKe": "Achieve financial security and create wealth faster than ever before.", + "2i6enW": "Growth of $10,000 over 2 years", + "3lygEf": "Months", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Incentivizing stakeholders", + "27oqvG": "Governance privileges and incentives will be given to users that create value for the OUSD platform", + "3BWDtW": "Convert stablecoins to OUSD", + "tL9Vi": "Supply liquidity", + "3bKjkh": "Stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Introducing", + "f1GjR": "The first stablecoin that earns a yield while it’s still in your wallet", + "2YiWgS": "Currently earning", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Convert your USDT, USDC, and DAI to OUSD to start earning yields immediately", + "4mNBbB": "All the earnings, none of the hassles", + "1eFOSq": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required.", + "48XJtG": "Spend your OUSD with ease", + "1OleQh": "There's no need to unwind complicated positions when you want to spend your OUSD. Transfer OUSD without having to unstake or unlock capital.", + "3LnSmq": "Elastic supply, stable price", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1 backed by other stablecoins", + "2Y956f": "OUSD is secured by other proven stablecoins like USDT, USDC, and DAI. Capital is further insured by governance tokens issued by platforms like Aave and MakerDAO.", + "ZkCqX": "Automated yield farming", + "3guScM": "Automated strategies in transparent OUSD smart contracts manage your funds. See exactly how your money is being put to work.", + "CXw7Y": "You always have full control", + "1FYoNd": "Store and earn OUSD with non-custodial Ethereum wallets. Enter and exit OUSD whenever you want. There's no minimum holding period or minimum OUSD amount required to earn yields.", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "The perfect stablecoin for both spending and saving", + "knVKF": "Beat traditional savings and money markets", + "37bU7L": "At an estimated APY of {current-apy}, OUSD earnings trounce traditional financial instruments.", + "2XvZNz": "Instantaneous peer-to-peer transfers", + "dVUpd": "Send OUSD to pay your friends and family instead of using Venmo or Paypal. They’ll earn yield immediately.", + "3HVRE9": "Remittances without fees", + "3b4MZ": "Need to send money to China or the Philippines? Your recipients get OUSD without losing the average of 6.7% on fees.", + "AAF3q": "A better unit of account", + "1cVSMs": "Easily track your DeFi earnings without complicated spreadsheets and custom dashboards.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Follow our development", + "oroj": "Join us on Discord", + "3b4HiA": "Check out our GitHub", + "3c9gh": "View the documentation" + }, + "pt_PT": { + "1jPSOs": "Wrong network", + "1jkdbc": "Conectado a {network-name}", + "4AutCu": "Desconectar", + "2pLcqa": "Analytics", + "1W0h5E": "Empregos", + "2sBRPu": "Docs", + "3pDcYN": "Termos e Condições", + "31niVc": "Privacidade", + "2rW6zN": "Discord", + "4gWLo1": "Built by Origin Protocol", + "1YneSG": "Waiting for you to confirm...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Refresh", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"", + "pIZfD": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened.", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "dias", + "2K2bO2": "Annualized Yield", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "Start earning with OUSD in just a few minutes", + "1baarA": "Desbloqueado", + "L7ge6": "Principal", + "39pdOX": "Juro", + "4lZnET": "Total", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Depositar", + "3SN6Zt": "Deposit LP tokens", + "3ZzuaD": "Approve & deposit", + "1u6rQQ": "Permission to use {LP token name}", + "5UwYb": "Your LP tokens will remain staked", + "2roQJA": "Available LP tokens", + "Dwz0K": "Deposited LP tokens", + "3NtfDc": "Withdraw", + "KxKU9": "When you withdraw, your OGN is claimed automatically", + "4nnBQS": "Unclaimed OGN", + "1bH81E": "A sua taxa: {weekly-rate} OGN/semana", + "1MDjh6": "Claim", + "1girMq": "How to Earn OGN by Providing Liquidity to OUSD", + "17MLRp": "Purchase OUSD", + "1qkHTQ": "Provide liquidity", + "cvWeb": "Deposit to earn OGN", + "2CPasx": "Carregando...", + "477gIa": "Get OUSD by minting it or buying it on an exchange", + "3vfiBp": "Swap OUSD", + "440N92": "Provide {pool name} liquidity on Uniswap", + "1VLYE8": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity.", + "2S4fxr": "Saber mais", + "3EwDTh": "Visitar o Uniswap", + "3B66pk": "Deposit your LP tokens and start earning OGN", + "1NBzUp": "Take me there", + "1ERLYJ": "Pool Contract", + "2Ml9PK": "Rewards Contract", + "3nG9sm": "Current Staking Reward", + "3QWPjm": "Liquidity Provider Fees", + "NGVPX": "Projected Performance Bonus", + "4C96BC": "{pool name} pool APY", + "1OUWUR": "Claim OGN", + "1FMVwg": "Por favor, confirme a sua transação…", + "1zjMH4": "Earning", + "46QM11": "Complete", + "ByQEG": "{Stake rate}% - {Duration in days} days", + "1gWuD3": "Estado", + "3lJX8R": "Lock-up Date", + "2JakeR": "Maturity Date", + "3gBFcU": "Duração", + "4hfOSZ": "{days} dias", + "cxJ5S": "Taxa de Juro", + "lwOCl": "Total Interest Accrued", + "C70gA": "Interest Accrued", + "1tLOzb": "Total to date", + "x8EZB": "Interest Remaning", + "4euN6q": "Maturity Amount", + "6qUzg": "Deposit Transaction", + "1SW6CR": "Withdrawal Transaction", + "4wKAIm": "Insufficient OGN balance", + "3id3UW": "Amount to lock up", + "3onUuV": "Available: {tokens-amount}", + "4s5sFU": "Max", + "4gGbfA": "Aprovar", + "3YN7Sk": "Waiting for you to confirm…", + "2Wkohs": "Approving {LP token name}...", + "1qcGIX": "{Token to be approved name} approved", + "1lJhC8": "When you withdraw, your OGN is claimed automatically", + "OjbLO": "Unstake LP tokens", + "4y50Af": "Preço", + "4lO2tB": "Fornecimento Circulante", + "3rKlkU": "Capitalização de Mercado", + "4iSbmE": "Visit OGN Dashboard", + "25RRqe": "Visit OUSD Dashboard", + "2ERPQi": "Approximate APY", + "29mlza": "LP token deposits", + "3daZoe": "Pool rate", + "5B3Td": "OGN/week", + "1Watk5": "A sua taxa semanal", + "8cqDM": "/ semana", + "1DU9yn": "Eligible LP Tokens", + "6fZQJ": "All pools", + "2pt63C": "Pool rate (per week)", + "1S6Z5G": "Your position", + "361RXs": "LP token: {token name}", + "2rwqy0": "Start by connecting your wallet", + "IhpI": "{reward boost amount}x rewards!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "Staking contract has insufficient OGN funds", + "201foI": "All of the stakes are still in lock-up", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "Unexpected error happened", + "3Hc92T": "Stake now", + "2jEFb2": "Approve & stake", + "1NJQLG": "Permission to use OGN token", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Get started with staking by selecting a lock-up period", + "3nbZ64": "You will be able to claim your OGN principal plus interest at the end of the staking period.", + "3PO3Rb": "Available Lock-ups", + "2aPZNs": "Current Lock-ups", + "13TKqB": "Previous Lock-ups", + "2iJ38z": "APY", + "KMPDI": "Maturidade", + "2waHGT": "{number_of_days} dias", + "FVoGJ": "OGN Staking Contract", + "1ioxMA": "Uniswap pool", + "4e45N5": "You're already registered!", + "CUVe5": "Thanks for signing up!", + "2hryKC": "Error subscribing you to the email list", + "3MeNPr": "Obter OUSD", + "3fk4nY": "Conectar", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Unexpected error occurred. Please refresh page and try again.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Termos de serviço", + "2kEL7A": "Política de Privacidade", + "4d7d8o": "Nenhuma carteira conectada", + "4p8WTT": "Por favor conecte uma carteira Ethereum", + "4DdQgp": "Ganhe OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Início", + "3v8OaN": "Ganhar", + "4nBzhS": "Governance", + "OxsKT": "Debug", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "You're ready to provide liquidity and deposit to earn OGN", + "1ydkJH": "Continuar", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Granting permission to move your {coin}", + "2eQ0qB": "Permission granted to move your {coin}", + "3RBkL5": "Failed granting permission to move your {coin}", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Welcome!", + "n3ZVI": "The Origin Dollar lets you easily convert other stablecoins into OUSD so you can instantly earn yields.", + "jcVm7": "You can buy up to ~{ousd-coin} OUSD with the {usdt-coin} USDT, {usdc-coin} USDC, and {dai-coin} DAI in your wallet.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}d restantes", + "3Hdm9G": "{hours left}h restantes", + "N6ggq": "{minutes left}m restantes", + "3WG8k4": "{seconds left}s restantes", + "VPnaK": "{days left} dias restantes", + "wfwb5": "{hours left} horas restantes", + "3f3Ar0": "{minutes left} minutos restantes", + "2Au2g8": "{seconds left} segundos restantes", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Conectar", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "Redirecting...", + "2xq4Xy": "Earn competitive yields without lifting a finger", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "The OUSD smart contract pools capital from all stablecoin depositors, then routes capital to a diversified set of yield-earning strategies. Earnings are automatically converted to OUSD and deposited into your wallet.", + "385aCS": "Reward Fees", + "c17qT": "AMM Trading Fees", + "rLE40": "Liquidity Mining Rewards", + "22Gov9": "Plus, earn governance privileges and incentives when you contribute to the protocol.", + "1tAhoa": "Coming Soon", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Automated Market Maker Trading Fees", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Impermanent loss is minimized while LP fees and rewards are maximized.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Receive all your yield in OUSD automatically. There's no need to actively manage your DeFi portfolio.", + "KwmOl": "OUSD compounds continuously", + "2F2gKe": "Achieve financial security and create wealth faster than ever before.", + "2i6enW": "Growth of $10,000 over 2 years", + "3lygEf": "Meses", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Incentivizing stakeholders", + "27oqvG": "Governance privileges and incentives will be given to users that create value for the OUSD platform", + "3BWDtW": "Convert stablecoins to OUSD", + "tL9Vi": "Supply liquidity", + "3bKjkh": "Stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Introducing", + "f1GjR": "The first stablecoin that earns a yield while it’s still in your wallet", + "2YiWgS": "Currently earning", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Convert your USDT, USDC, and DAI to OUSD to start earning yields immediately", + "4mNBbB": "All the earnings, none of the hassles", + "1eFOSq": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required.", + "48XJtG": "Spend your OUSD with ease", + "1OleQh": "There's no need to unwind complicated positions when you want to spend your OUSD. Transfer OUSD without having to unstake or unlock capital.", + "3LnSmq": "Fornecimento elástico, preço estável", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1 backed by other stablecoins", + "2Y956f": "OUSD is secured by other proven stablecoins like USDT, USDC, and DAI. Capital is further insured by governance tokens issued by platforms like Aave and MakerDAO.", + "ZkCqX": "Automated yield farming", + "3guScM": "Automated strategies in transparent OUSD smart contracts manage your funds. See exactly how your money is being put to work.", + "CXw7Y": "You always have full control", + "1FYoNd": "Store and earn OUSD with non-custodial Ethereum wallets. Enter and exit OUSD whenever you want. There's no minimum holding period or minimum OUSD amount required to earn yields.", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "The perfect stablecoin for both spending and saving", + "knVKF": "Beat traditional savings and money markets", + "37bU7L": "At an estimated APY of {current-apy}, OUSD earnings trounce traditional financial instruments.", + "2XvZNz": "Instantaneous peer-to-peer transfers", + "dVUpd": "Send OUSD to pay your friends and family instead of using Venmo or Paypal. They’ll earn yield immediately.", + "3HVRE9": "Remittances without fees", + "3b4MZ": "Need to send money to China or the Philippines? Your recipients get OUSD without losing the average of 6.7% on fees.", + "AAF3q": "A better unit of account", + "1cVSMs": "Easily track your DeFi earnings without complicated spreadsheets and custom dashboards.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Acompanhe o nosso progresso", + "oroj": "Junte-se a nós no Discord", + "3b4HiA": "Check out our GitHub", + "3c9gh": "View the documentation" + }, + "ro_RO": { + "1jPSOs": "Wrong network", + "1jkdbc": "Connected to {network-name}", + "4AutCu": "Disconnect", + "2pLcqa": "Analytics", + "1W0h5E": "Jobs", + "2sBRPu": "Docs", + "3pDcYN": "Terms", + "31niVc": "Privacy", + "2rW6zN": "Discord", + "4gWLo1": "Built by Origin Protocol", + "1YneSG": "Waiting for you to confirm...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Refresh", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Contract data not enabled. Go to Ethereum app Settings and set \"Contract Data\" to \"Allowed\"", + "pIZfD": "Can not detect ledger device. Please make sure your Ledger is unlocked and Ethereum App is opened.", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "days", + "2K2bO2": "Annualized Yield", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "Start earning with OUSD in just a few minutes", + "1baarA": "Unlocked", + "L7ge6": "Principal", + "39pdOX": "Interest", + "4lZnET": "Total", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Deposit", + "3SN6Zt": "Deposit LP tokens", + "3ZzuaD": "Approve & deposit", + "1u6rQQ": "Permission to use {LP token name}", + "5UwYb": "Your LP tokens will remain staked", + "2roQJA": "Available LP tokens", + "Dwz0K": "Deposited LP tokens", + "3NtfDc": "Withdraw", + "KxKU9": "When you withdraw, your OGN is claimed automatically", + "4nnBQS": "Unclaimed OGN", + "1bH81E": "Your rate: {weekly-rate} OGN/week", + "1MDjh6": "Claim", + "1girMq": "How to Earn OGN by Providing Liquidity to OUSD", + "17MLRp": "Purchase OUSD", + "1qkHTQ": "Provide liquidity", + "cvWeb": "Deposit to earn OGN", + "2CPasx": "Loading...", + "477gIa": "Get OUSD by minting it or buying it on an exchange", + "3vfiBp": "Swap OUSD", + "440N92": "Provide {pool name} liquidity on Uniswap", + "1VLYE8": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity.", + "2S4fxr": "Learn more", + "3EwDTh": "Visit Uniswap", + "3B66pk": "Deposit your LP tokens and start earning OGN", + "1NBzUp": "Take me there", + "1ERLYJ": "Pool Contract", + "2Ml9PK": "Rewards Contract", + "3nG9sm": "Current Staking Reward", + "3QWPjm": "Liquidity Provider Fees", + "NGVPX": "Projected Performance Bonus", + "4C96BC": "{pool name} pool APY", + "1OUWUR": "Claim OGN", + "1FMVwg": "Please confirm your transaction…", + "1zjMH4": "Earning", + "46QM11": "Complete", + "ByQEG": "{Stake rate}% - {Duration in days} days", + "1gWuD3": "Status", + "3lJX8R": "Lock-up Date", + "2JakeR": "Maturity Date", + "3gBFcU": "Duration", + "4hfOSZ": "{days} days", + "cxJ5S": "Interest Rate", + "lwOCl": "Total Interest Accrued", + "C70gA": "Interest Accrued", + "1tLOzb": "Total to date", + "x8EZB": "Interest Remaning", + "4euN6q": "Maturity Amount", + "6qUzg": "Deposit Transaction", + "1SW6CR": "Withdrawal Transaction", + "4wKAIm": "Insufficient OGN balance", + "3id3UW": "Amount to lock up", + "3onUuV": "Available: {tokens-amount}", + "4s5sFU": "Max", + "4gGbfA": "Approve", + "3YN7Sk": "Waiting for you to confirm…", + "2Wkohs": "Approving {LP token name}...", + "1qcGIX": "{Token to be approved name} approved", + "1lJhC8": "When you withdraw, your OGN is claimed automatically", + "OjbLO": "Unstake LP tokens", + "4y50Af": "Price", + "4lO2tB": "Circulating Supply", + "3rKlkU": "Market Cap", + "4iSbmE": "Visit OGN Dashboard", + "25RRqe": "Visit OUSD Dashboard", + "2ERPQi": "Approximate APY", + "29mlza": "LP token deposits", + "3daZoe": "Pool rate", + "5B3Td": "OGN/week", + "1Watk5": "Your weekly rate", + "8cqDM": "/ week", + "1DU9yn": "Eligible LP Tokens", + "6fZQJ": "All pools", + "2pt63C": "Pool rate (per week)", + "1S6Z5G": "Your position", + "361RXs": "LP token: {token name}", + "2rwqy0": "Start by connecting your wallet", + "IhpI": "{reward boost amount}x rewards!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "Staking contract has insufficient OGN funds", + "201foI": "All of the stakes are still in lock-up", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "Unexpected error happened", + "3Hc92T": "Stake now", + "2jEFb2": "Approve & stake", + "1NJQLG": "Permission to use OGN token", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Get started with staking by selecting a lock-up period", + "3nbZ64": "You will be able to claim your OGN principal plus interest at the end of the staking period.", + "3PO3Rb": "Available Lock-ups", + "2aPZNs": "Current Lock-ups", + "13TKqB": "Previous Lock-ups", + "2iJ38z": "APY", + "KMPDI": "Maturity", + "2waHGT": "{number_of_days} days", + "FVoGJ": "OGN Staking Contract", + "1ioxMA": "Uniswap pool", + "4e45N5": "You're already registered!", + "CUVe5": "Thanks for signing up!", + "2hryKC": "Error subscribing you to the email list", + "3MeNPr": "Get OUSD", + "3fk4nY": "Connect", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Unexpected error occurred. Please refresh page and try again.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Terms of Service", + "2kEL7A": "Privacy Policy", + "4d7d8o": "No wallet connected", + "4p8WTT": "Please connect an Ethereum wallet", + "4DdQgp": "Earn OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Home", + "3v8OaN": "Earn", + "4nBzhS": "Governance", + "OxsKT": "Debug", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "You're ready to provide liquidity and deposit to earn OGN", + "1ydkJH": "Continue", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Granting permission to move your {coin}", + "2eQ0qB": "Permission granted to move your {coin}", + "3RBkL5": "Failed granting permission to move your {coin}", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Welcome!", + "n3ZVI": "The Origin Dollar lets you easily convert other stablecoins into OUSD so you can instantly earn yields.", + "jcVm7": "You can buy up to ~{ousd-coin} OUSD with the {usdt-coin} USDT, {usdc-coin} USDC, and {dai-coin} DAI in your wallet.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}d left", + "3Hdm9G": "{hours left}h left", + "N6ggq": "{minutes left}m left", + "3WG8k4": "{seconds left}s left", + "VPnaK": "{days left} days left", + "wfwb5": "{hours left} hours left", + "3f3Ar0": "{minutes left} minutes left", + "2Au2g8": "{seconds left} seconds left", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "Redirecting...", + "2xq4Xy": "Earn competitive yields without lifting a finger", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "The OUSD smart contract pools capital from all stablecoin depositors, then routes capital to a diversified set of yield-earning strategies. Earnings are automatically converted to OUSD and deposited into your wallet.", + "385aCS": "Reward Fees", + "c17qT": "AMM Trading Fees", + "rLE40": "Liquidity Mining Rewards", + "22Gov9": "Plus, earn governance privileges and incentives when you contribute to the protocol.", + "1tAhoa": "Coming Soon", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Automated Market Maker Trading Fees", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Impermanent loss is minimized while LP fees and rewards are maximized.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Receive all your yield in OUSD automatically. There's no need to actively manage your DeFi portfolio.", + "KwmOl": "OUSD compounds continuously", + "2F2gKe": "Achieve financial security and create wealth faster than ever before.", + "2i6enW": "Growth of $10,000 over 2 years", + "3lygEf": "Months", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Incentivizing stakeholders", + "27oqvG": "Governance privileges and incentives will be given to users that create value for the OUSD platform", + "3BWDtW": "Convert stablecoins to OUSD", + "tL9Vi": "Supply liquidity", + "3bKjkh": "Stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Introducing", + "f1GjR": "The first stablecoin that earns a yield while it’s still in your wallet", + "2YiWgS": "Currently earning", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Convert your USDT, USDC, and DAI to OUSD to start earning yields immediately", + "4mNBbB": "All the earnings, none of the hassles", + "1eFOSq": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required.", + "48XJtG": "Spend your OUSD with ease", + "1OleQh": "There's no need to unwind complicated positions when you want to spend your OUSD. Transfer OUSD without having to unstake or unlock capital.", + "3LnSmq": "Elastic supply, stable price", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1 backed by other stablecoins", + "2Y956f": "OUSD is secured by other proven stablecoins like USDT, USDC, and DAI. Capital is further insured by governance tokens issued by platforms like Aave and MakerDAO.", + "ZkCqX": "Automated yield farming", + "3guScM": "Automated strategies in transparent OUSD smart contracts manage your funds. See exactly how your money is being put to work.", + "CXw7Y": "You always have full control", + "1FYoNd": "Store and earn OUSD with non-custodial Ethereum wallets. Enter and exit OUSD whenever you want. There's no minimum holding period or minimum OUSD amount required to earn yields.", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "The perfect stablecoin for both spending and saving", + "knVKF": "Beat traditional savings and money markets", + "37bU7L": "At an estimated APY of {current-apy}, OUSD earnings trounce traditional financial instruments.", + "2XvZNz": "Instantaneous peer-to-peer transfers", + "dVUpd": "Send OUSD to pay your friends and family instead of using Venmo or Paypal. They’ll earn yield immediately.", + "3HVRE9": "Remittances without fees", + "3b4MZ": "Need to send money to China or the Philippines? Your recipients get OUSD without losing the average of 6.7% on fees.", + "AAF3q": "A better unit of account", + "1cVSMs": "Easily track your DeFi earnings without complicated spreadsheets and custom dashboards.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Follow our development", + "oroj": "Join us on Discord", + "3b4HiA": "Check out our GitHub", + "3c9gh": "View the documentation" + }, + "ru_RU": { + "1jPSOs": "Wrong network", + "1jkdbc": "Подключено к {network-name}", + "4AutCu": "Отключение", + "2pLcqa": "Аналитика", + "1W0h5E": "Вакансии", + "2sBRPu": "Документы", + "3pDcYN": "Условия", + "31niVc": "Конфиденциальность", + "2rW6zN": "Discord", + "4gWLo1": "Создано Origin Protocol", + "1YneSG": "Ожидаем Вашего подтверждения...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Обновить", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Данные контракта не имеют разрешений. Перейдите в настройки приложения Ethereum и установите для параметра «Contract Data» значение «Allowed».", + "pIZfD": "Не удается обнаружить Ledger. Убедитесь, что ваш Ledger разблокирован и открыто приложение Ethereum.", + "2dtjw9": "Истребование и блокировка OGN", + "4wHH7a": "Зарабатывайте больше OGN, выбрав приведенные ниже варианты блокировки токенов", + "4jff3S": "дней", + "2K2bO2": "Годовая доходность", + "2fadSV": "Неожиданная ошибка произошла при истребовании и блокировке", + "4q4XJ": "Начните зарабатывать с OUSD всего через несколько минут", + "1baarA": "Разблокированный", + "L7ge6": "Тело займа", + "39pdOX": "Процентный доход", + "4lZnET": "Сумма", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Депозит", + "3SN6Zt": "Внести токены LP", + "3ZzuaD": "Подтвердить и внести", + "1u6rQQ": "Разрешение на использование {LP token name}", + "5UwYb": "Ваши токены LP останутся заблокированными", + "2roQJA": "Доступные токены LP", + "Dwz0K": "Внесенные токены LP", + "3NtfDc": "Вывести", + "KxKU9": "Когда Вы осуществляете вывод средств, ваши OGN запрашиваются автоматически", + "4nnBQS": "Незатребованные OGN", + "1bH81E": "Ваша ставка: {weekly-rate} OGN в неделю", + "1MDjh6": "Запросить", + "1girMq": "Как зарабатывать OGN, предоставляя ликвидность в OUSD", + "17MLRp": "Купить OUSD", + "1qkHTQ": "Обеспечить ликвидность", + "cvWeb": "Задепонировать, чтобы заработать OGN", + "2CPasx": "Загрузка...", + "477gIa": "Получите OUSD, сгенерировав его или купив на бирже", + "3vfiBp": "Swap OUSD", + "440N92": "Предоставьте {pool name} ликвидность на Uniswap", + "1VLYE8": "Помните, что ваш OUSD не будет расти, пока он находится в Uniswap, но вы будете получать комиссию за предоставление ликвидности.", + "2S4fxr": "Узнать больше", + "3EwDTh": "Перейти на Uniswap", + "3B66pk": "Внесите свои токены LP и начните зарабатывать OGN", + "1NBzUp": "Хочу туда!", + "1ERLYJ": "Договор пула", + "2Ml9PK": "Договор вознаграждения", + "3nG9sm": "Текущее вознаграждение за стейкинг", + "3QWPjm": "Комиссия поставщика ликвидности", + "NGVPX": "Прогнозируемый бонус производительности", + "4C96BC": "{pool name} APY пула", + "1OUWUR": "Запросить OGN", + "1FMVwg": "Пожалуйста, подтвердите Вашу транзакцию…", + "1zjMH4": "Прибыль", + "46QM11": "Завершить", + "ByQEG": "{Stake rate}% - {Duration in days} дни", + "1gWuD3": "Статус", + "3lJX8R": "Дата блокировки", + "2JakeR": "Дата погашения", + "3gBFcU": "Длительность", + "4hfOSZ": "{days} дней", + "cxJ5S": "Процентная ставка", + "lwOCl": "Всего начислено процентов", + "C70gA": "Начислено процентов", + "1tLOzb": "Всего на сегодняшний день", + "x8EZB": "Восстановление процентной ставки", + "4euN6q": "Сумма погашения", + "6qUzg": "Депозитная транзакция", + "1SW6CR": "Транзакция вывода", + "4wKAIm": "Недостаточный баланс OGN", + "3id3UW": "Сумма для блокировки", + "3onUuV": "Доступно: {tokens-amount}", + "4s5sFU": "Максимум", + "4gGbfA": "Одобрение", + "3YN7Sk": "Ожидаем Вашего подтверждения…", + "2Wkohs": "Подтверждение {LP token name}...", + "1qcGIX": "{Token to be approved name} подтверждено", + "1lJhC8": "Когда Вы осуществляете вывод средств, ваши OGN запрашиваются автоматически", + "OjbLO": "Разблокировать токены LP", + "4y50Af": "Цена", + "4lO2tB": "Количество токенов в обороте", + "3rKlkU": "Рыночная капитализация", + "4iSbmE": "Перейти к Панели инструментов OGN", + "25RRqe": "Перейти к Панели инструментов OUSD", + "2ERPQi": "Приблизительный APY", + "29mlza": "Депозиты токенов LP", + "3daZoe": "Процентная ставка пула", + "5B3Td": "OGN в неделю", + "1Watk5": "Ваша недельная процентная ставка", + "8cqDM": "в неделю", + "1DU9yn": "Токены LP, удовлетворяющие необходимым требованиям", + "6fZQJ": "Все пулы", + "2pt63C": "Процентная ставка пула (в неделю)", + "1S6Z5G": "Ваша позиция", + "361RXs": "Токен LP: {token name}", + "2rwqy0": "Начните с подключения Вашего кошелька", + "IhpI": "{reward boost amount}x наград!", + "3JaQls": "Доступно OGN:", + "3lBBvy": "Бонус за стейкинг:", + "3xTF5o": "Всего после {duration in days}", + "9XtsV": "В стейкинг-контракте недостаточно средств OGN", + "201foI": "Все ставки по-прежнему заблокированы", + "4coiG7": "Пожалуйста, включите \"Contract data\" в настройках приложения Ethereum", + "1F6Ius": "Произошла непредвиденная ошибка", + "3Hc92T": "Заблокировать средства сейчас", + "2jEFb2": "Подтвердить и заблокировать", + "1NJQLG": "Разрешение на использование токена OGN", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Начните стейкинг с выбора периода блокировки", + "3nbZ64": "Вы сможете истребовать свои первоначально заблокированные OGN вместе с процентами в конце периода стейкинга.", + "3PO3Rb": "Доступные периоды блокировки", + "2aPZNs": "Текущие периоды блокировки", + "13TKqB": "Предыдущие периоды блокировки", + "2iJ38z": "APY", + "KMPDI": "Срок", + "2waHGT": "{number_of_days} дней", + "FVoGJ": "Контракт стейкинга OGN", + "1ioxMA": "Пул Uniswap", + "4e45N5": "Вы уже зарегистрированы!", + "CUVe5": "Благодарим за регистрацию!", + "2hryKC": "Ошибка при подписке на рассылку", + "3MeNPr": "Получить OUSD", + "3fk4nY": "Подключить", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "На данный момент транзакции требуют большого количества газа. Возможно, дешевле будет купить OUSD на Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Произошла непредвиденная ошибка. Обновите страницу и попробуйте еще раз.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Условия предоставления услуг", + "2kEL7A": "Политика конфиденциальности", + "4d7d8o": "Кошелек не подключен", + "4p8WTT": "Пожалуйста, подключите кошелек Ethereum", + "4DdQgp": "Зарабатывайте OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Домашняя страница", + "3v8OaN": "Заработать", + "4nBzhS": "Управление", + "OxsKT": "Отладка", + "sARfk": "Получите дополнительную страховку смарт-контракта для вашего OUSD", + "1IiGL8": "Вы готовы предоставлять ликвидность и внести депозит, чтобы заработать токены OGN", + "1ydkJH": "Продолжить", + "1IT57r": "Увеличивающийся оборот токенов OUSD", + "22MLnT": "Оборот OUSD возрос", + "2PBHOq": "Не удалось увеличить оборот OUSD", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Разрешение на перемещение Вашего {coin}", + "2eQ0qB": "Получено разрешение на перемещение Вашего {coin}", + "3RBkL5": "Не удалось предоставить разрешение на перемещение Вашего {coin}", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Добро пожаловать!", + "n3ZVI": "Origin Dollar позволяет Вам легко конвертировать другие стейблкоины в OUSD, чтобы вы могли мгновенно получать доход.", + "jcVm7": "Вы можете купить до ~{ousd-coin} OUSD с помощью {usdt-coin} USDT, {usdc-coin} USDC и {dai-coin} DAI из Вашего кошелька.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "Осталось {days left} дней", + "3Hdm9G": "Осталось {hours left} часов", + "N6ggq": "Осталось {minutes left} минут", + "3WG8k4": "Осталось {seconds left} секунд", + "VPnaK": "Осталось {days left} дней", + "wfwb5": "Осталось {hours left} часов", + "3f3Ar0": "Осталось {minutes left} минут", + "2Au2g8": "Осталось {seconds left} секунд", + "IVHJJ": "Компенсация убытков, связанных со взломом OUSD", + "4kisUn": "Как рассчитывается моя компенсация?", + "2Xgrh9": "Чтобы увидеть свою компенсацию, подключите Ваш криптокошелек", + "4cLqPP": "Подключить", + "AghaZ": "Доступный баланс OUSD", + "3gbPei": "Компенсация за 100% этого баланса OUSD делится в соотношении 25/75 после первой 1000 OUSD", + "23oX0o": "Для этого кошелька не предусмотрена компенсация", + "4rCXd0": "Сумма компенсации OUSD", + "30bdSh": "ЗАПРОШЕНО", + "1J1q6R": "Запросить, чтобы начать получать доход", + "2xsSYC": "При запросе OUSD произошла неожиданная ошибка", + "3PAnRd": "Запросить OUSD", + "104KmK": "Сумма компенсации OGN", + "mEG50": "@ OGN цена", + "9YoaD": "Продолжительность стейкинга", + "1Hlviu": "Истребование и стейкинг OGN", + "krTcK": "Узнать об OGN >", + "NXcxR": "Перенаправление...", + "2xq4Xy": "Получайте конкурентноспособную прибыль, даже пальцем не пошевелив", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "Смарт-контракт OUSD объединяет капитал всех вкладчиков стейблкоинов, а затем направляет капитал в диверсифицированные наборы стратегий получения прибыли. Заработок автоматически конвертируется в OUSD и переводится на Ваш кошелек.", + "385aCS": "Reward Fees", + "c17qT": "Комиссия за торговлю AMM", + "rLE40": "Награды за майнинг ликвидности", + "22Gov9": "Кроме того, зарабатывайте привилегии и поощрительные вознаграждения, внося свой вклад в протокол.", + "1tAhoa": "Скоро", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Комиссия за автоматическую торговлю маркет-мейкером", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Непостоянные потери сведены к минимуму, а комиссии и вознаграждения LP максимальны.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Получайте всю свою прибыль в OUSD автоматически. Нет необходимости активно управлять своим портфелем DeFi.", + "KwmOl": "OUSD постоянно рассчитывается по сложной процентной ставке", + "2F2gKe": "Добейтесь финансовой безопасности и создайте свое благосостояние быстрее, чем когда-либо прежде.", + "2i6enW": "Прирост на $ 10 000 за 2 года", + "3lygEf": "Месяцы", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Поощрительное вознаграждение стейкхолдеров", + "27oqvG": "Управленчиские привилегии и поощрительные вознаграждения будут предоставлены пользователям, которые увеличивают капитализацию платформы OUSD", + "3BWDtW": "Конвертировать стейблкоины в OUSD", + "tL9Vi": "Обеспечение ликвидности", + "3bKjkh": "Заложить OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Введение", + "f1GjR": "Первый стейблкоин, который приносит доход, просто находясь в Вашем кошельке", + "2YiWgS": "В настоящее время зарабатывает", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Конвертируйте свои USDT, USDC и DAI в OUSD, чтобы сразу же начать получать доход", + "4mNBbB": "Только доход, никаких хлопот", + "1eFOSq": "Доходность DeFi автоматически конвертируется в OUSD и накапливается в вашем кошельке. Ваш баланс OUSD увеличивается с учетом сложных процентов. Стейкинг или блокировки не требуются.", + "48XJtG": "С легкостью тратьте свои OUSD", + "1OleQh": "Нет необходимости закрывать сложные позиции, когда вы хотите потратить свой OUSD. Переводите OUSD без необходимости снимать ставки или разблокировать капитал.", + "3LnSmq": "Гибкое предложение, стабильная цена", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1 обеспечивается другими стейблкоинами", + "2Y956f": "OUSD обеспечивается другими проверенными стейблкоинами, такими как USDT, USDC и DAI. Капитал, помимо этого, застрахован токенами управления, выпущенными такими платформами, как Aave и MakerDAO.", + "ZkCqX": "Автоматизированное получение прибыли", + "3guScM": "Автоматизированные стратегии в прозрачных смарт-контрактах OUSD управляют Вашими средствами. Посмотрите, как именно работают Ваши деньги.", + "CXw7Y": "Вы всегда имеете полный контроль", + "1FYoNd": "Храните и зарабатывайте OUSD с помощью не связанных кошельков Ethereum. Входите и выходите из OUSD в любое время. Нет минимального периода блокирования средств или минимальной суммы OUSD, необходимых для получения прибыли.", + "12a8Uj": "Покрытие опциональным страхованием", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Узнать больше >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "Идеальный стейблкоин как для трат, так и для накопления", + "knVKF": "Превзойдите традиционные валютные рынки и рынки сбережений", + "37bU7L": "При ожидаемом APY {current-apy}, прибыль OUSD превосходит прибыль от традиционных финансовых инструментов.", + "2XvZNz": "Мгновенные одноранговые переводы", + "dVUpd": "Отправьте OUSD в качестве оплаты своим друзьям и семье вместо использования Venmo или Paypal. Они сразу же начнут получать доход.", + "3HVRE9": "Денежные переводы без комиссий", + "3b4MZ": "Нужно отправить деньги в Китай или на Филиппины? Ваши получатели получают OUSD, не теряя в среднем 6,7% на комиссии.", + "AAF3q": "Лучшая расчетная денежная единица", + "1cVSMs": "Легко отслеживайте свои доходы DeFi без сложных таблиц и персонализированных сводных панелей инструментов.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Следите за нашими разработками", + "oroj": "Присоединяйтесь к нам в Discord", + "3b4HiA": "Посетите наш GitHub", + "3c9gh": "Посмотреть документацию" + }, + "uk_UA": { + "1jPSOs": "Wrong network", + "1jkdbc": "Підключено до {network-name}", + "4AutCu": "Від'єднати", + "2pLcqa": "Analytics", + "1W0h5E": "Вакансії", + "2sBRPu": "Документи", + "3pDcYN": "Умови", + "31niVc": "Конфіденційність", + "2rW6zN": "Discord", + "4gWLo1": "Побудовано Origin Protocol", + "1YneSG": "Waiting for you to confirm...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Refresh", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Дані контракту не ввімкнено. Перейдіть у Налаштування додатку Ethereum і встановіть для параметра «Контрактні дані» значення «Дозволено»", + "pIZfD": "Не вдається виявити пристрій Ledger. Будь ласка, переконайтеся, що Ваш Ledger розблокований і додаток Ethereum відкрито.", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "days", + "2K2bO2": "Annualized Yield", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "Почніть заробляти за допомогою OUSD всього за кілька хвилин", + "1baarA": "Unlocked", + "L7ge6": "Principal", + "39pdOX": "Interest", + "4lZnET": "Total", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Deposit", + "3SN6Zt": "Deposit LP tokens", + "3ZzuaD": "Approve & deposit", + "1u6rQQ": "Permission to use {LP token name}", + "5UwYb": "Your LP tokens will remain staked", + "2roQJA": "Available LP tokens", + "Dwz0K": "Deposited LP tokens", + "3NtfDc": "Withdraw", + "KxKU9": "When you withdraw, your OGN is claimed automatically", + "4nnBQS": "Unclaimed OGN", + "1bH81E": "Your rate: {weekly-rate} OGN/week", + "1MDjh6": "Claim", + "1girMq": "How to Earn OGN by Providing Liquidity to OUSD", + "17MLRp": "Purchase OUSD", + "1qkHTQ": "Provide liquidity", + "cvWeb": "Deposit to earn OGN", + "2CPasx": "Loading...", + "477gIa": "Get OUSD by minting it or buying it on an exchange", + "3vfiBp": "Swap OUSD", + "440N92": "Provide {pool name} liquidity on Uniswap", + "1VLYE8": "Remember, your OUSD will not grow while it's in Uniswap, but you will earn fees for providing liquidity.", + "2S4fxr": "Learn more", + "3EwDTh": "Відвідайте Uniswap", + "3B66pk": "Deposit your LP tokens and start earning OGN", + "1NBzUp": "Take me there", + "1ERLYJ": "Pool Contract", + "2Ml9PK": "Rewards Contract", + "3nG9sm": "Current Staking Reward", + "3QWPjm": "Liquidity Provider Fees", + "NGVPX": "Projected Performance Bonus", + "4C96BC": "{pool name} pool APY", + "1OUWUR": "Claim OGN", + "1FMVwg": "Please confirm your transaction…", + "1zjMH4": "Earning", + "46QM11": "Complete", + "ByQEG": "{Stake rate}% - {Duration in days} days", + "1gWuD3": "Status", + "3lJX8R": "Lock-up Date", + "2JakeR": "Maturity Date", + "3gBFcU": "Duration", + "4hfOSZ": "{days} days", + "cxJ5S": "Interest Rate", + "lwOCl": "Total Interest Accrued", + "C70gA": "Interest Accrued", + "1tLOzb": "Total to date", + "x8EZB": "Interest Remaning", + "4euN6q": "Maturity Amount", + "6qUzg": "Deposit Transaction", + "1SW6CR": "Withdrawal Transaction", + "4wKAIm": "Insufficient OGN balance", + "3id3UW": "Amount to lock up", + "3onUuV": "Available: {tokens-amount}", + "4s5sFU": "Max", + "4gGbfA": "Затвердити", + "3YN7Sk": "Waiting for you to confirm…", + "2Wkohs": "Approving {LP token name}...", + "1qcGIX": "{Token to be approved name} approved", + "1lJhC8": "When you withdraw, your OGN is claimed automatically", + "OjbLO": "Unstake LP tokens", + "4y50Af": "Price", + "4lO2tB": "Circulating Supply", + "3rKlkU": "Market Cap", + "4iSbmE": "Visit OGN Dashboard", + "25RRqe": "Visit OUSD Dashboard", + "2ERPQi": "Approximate APY", + "29mlza": "LP token deposits", + "3daZoe": "Pool rate", + "5B3Td": "OGN/week", + "1Watk5": "Your weekly rate", + "8cqDM": "/ week", + "1DU9yn": "Eligible LP Tokens", + "6fZQJ": "All pools", + "2pt63C": "Pool rate (per week)", + "1S6Z5G": "Your position", + "361RXs": "LP token: {token name}", + "2rwqy0": "Start by connecting your wallet", + "IhpI": "{reward boost amount}x rewards!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "Staking contract has insufficient OGN funds", + "201foI": "All of the stakes are still in lock-up", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "Unexpected error happened", + "3Hc92T": "Stake now", + "2jEFb2": "Approve & stake", + "1NJQLG": "Permission to use OGN token", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Get started with staking by selecting a lock-up period", + "3nbZ64": "You will be able to claim your OGN principal plus interest at the end of the staking period.", + "3PO3Rb": "Available Lock-ups", + "2aPZNs": "Current Lock-ups", + "13TKqB": "Previous Lock-ups", + "2iJ38z": "APY", + "KMPDI": "Maturity", + "2waHGT": "{number_of_days} days", + "FVoGJ": "OGN Staking Contract", + "1ioxMA": "Uniswap pool", + "4e45N5": "Ви вже зареєстровані!", + "CUVe5": "Дякуємо за реєстрацію!", + "2hryKC": "Помилка підписки на список розсилки", + "3MeNPr": "Отримати OUSD", + "3fk4nY": "Connect", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Сталася несподівана помилка. Будь ласка, оновіть сторінку та спробуйте ще раз.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Умови надання послуг", + "2kEL7A": "Політика конфіденційності", + "4d7d8o": "No wallet connected", + "4p8WTT": "Please connect an Ethereum wallet", + "4DdQgp": "Earn OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Головна", + "3v8OaN": "Earn", + "4nBzhS": "Управління", + "OxsKT": "Відлагодження", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "You're ready to provide liquidity and deposit to earn OGN", + "1ydkJH": "Continue", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Надання дозволу на переміщення вашого {coin}", + "2eQ0qB": "Надано дозвіл на переміщення вашого {coin}", + "3RBkL5": "Не вдалося надати дозвіл на переміщення вашого {coin}", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Ласкаво просимо!", + "n3ZVI": "Origin Dollar дозволяє легко конвертувати інші стейблкоїни в OUSD, щоб Ви могли миттєво отримувати прибуток.", + "jcVm7": "Ви можете придбати до ~{ousd-coin} OUSD за {usdt-coin} USDT, {usdc-coin} USDC та {dai-coin} DAI у своєму гаманці.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "{days left}d left", + "3Hdm9G": "{hours left}h left", + "N6ggq": "{minutes left}m left", + "3WG8k4": "{seconds left}s left", + "VPnaK": "{days left} days left", + "wfwb5": "{hours left} hours left", + "3f3Ar0": "{minutes left} minutes left", + "2Au2g8": "{seconds left} seconds left", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "Redirecting...", + "2xq4Xy": "Заробляйте конкурентний дохід, пальцем не поворухнув", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "Смарт-контракт OUSD об’єднує капітал від усіх вкладників стейблкоїнів, а потім направляє капітал у диверсифікований набір стратегій отримання доходу. Заробіток автоматично конвертується в OUSD і зберігається у вашому гаманці.", + "385aCS": "Reward Fees", + "c17qT": "Комісії за торгівлю AMM", + "rLE40": "Нагороди за видобуток ліквідності", + "22Gov9": "Крім того, заробляйте управлінські привілеї та заохочення, коли вносите свій внесок у протокол.", + "1tAhoa": "Незабаром", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Комісії за автоматичну торгівлю маркет-мейкером", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Непостійні збитки мінімізовані, тоді як комісії та винагороди LP максимальні.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Отримуйте всю свою прибутковість в OUSD автоматично. Немає необхідності активно керувати своїм портфоліо DeFi.", + "KwmOl": "OUSD постійно накоплюється", + "2F2gKe": "Досягніть фінансової безпеки та створіть своє благополуччя швидше, ніж будь-коли раніше.", + "2i6enW": "Зростання на $10 000 протягом 2 років", + "3lygEf": "Місяці", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Стимулювання зацікавлених сторін", + "27oqvG": "Привілеї управління та заохочення отримають користувачі, які створюють цінність для платформи OUSD", + "3BWDtW": "Конвертувати стейблкоїни в OUSD", + "tL9Vi": "Забезпечення ліквідності", + "3bKjkh": "Заставити OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Введення", + "f1GjR": "Перший стейблкоін, який приносить прибуток, поки він ще у вашому гаманці", + "2YiWgS": "В даний час заробляється", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Конвертуйте свої USDT, USDC та DAI на OUSD, щоб негайно почати отримувати прибуток", + "4mNBbB": "Тільки заробіток, ніяких клопотів", + "1eFOSq": "DeFi yields are automatically converted to OUSD and accrue in your wallet. Your OUSD balance compounds multiple times per day. No staking or lock-ups are required.", + "48XJtG": "З легкістю витратіть свої OUSD", + "1OleQh": "Не потрібно закривати складні позиції, коли ви хочете витратити свій OUSD. Перекажіть OUSD, не виймаючи та не розблоковуючи капітал.", + "3LnSmq": "Еластична пропозиція, стабільна ціна", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1 забезпечений іншими стейблкоїнами", + "2Y956f": "OUSD забезпечується іншими перевіреними стейблкоїнами, такими як USDT, USDC та DAI. Капітал додатково застрахований за допомогою токенів управління, випущених такими платформами, як Aave та MakerDAO.", + "ZkCqX": "Автоматизований видобуток доходу", + "3guScM": "Автоматизовані стратегії у прозорих смарт-контрактах OUSD керують Вашими коштами. Подивіться, як саме працюють Ваші гроші.", + "CXw7Y": "Ви завжди маєте повний контроль", + "1FYoNd": "Зберігайте і заробляйте OUSD за допомогою не пов'язаних гаманців Ethereum. Входіть та виходьте з OUSD, коли захочете. Немає мінімального періоду зберігання або мінімальної суми OUSD, необхідної для отримання прибутку.", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "Ідеальний стейблкоін як для витрат, так і для економії", + "knVKF": "Перевищіть результативніть традиційних грошових ринків та ринків заощаджень", + "37bU7L": "За приблизним APY {current-apy}, прибуток OUSD перевершує прибуток від традиційних фінансових інструментів.", + "2XvZNz": "Миттєві однорангові переводи", + "dVUpd": "Надішліть OUSD, щоб заплатити своїм друзям та родині, замість використання Venmo або Paypal. Вони негайно почнуть заробляти.", + "3HVRE9": "Грошові перекази без комісій", + "3b4MZ": "Вам потрібно надіслати гроші до Китаю або Філіппін? Ваші одержувачі отримають OUSD, не витрачаючи в середньому 6,7% на комісії.", + "AAF3q": "Найкраща розрахункова грошова одиниця", + "1cVSMs": "Легко відстежуйте свої прибутки від DeFi без складних електронних таблиць та персоніфікованих информаційних панелей.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Слідкуйте за нашими розробками", + "oroj": "Приєднуйтесь до нас у Discord", + "3b4HiA": "Погляньте на наш GitHub", + "3c9gh": "Перегляньте документацію" + }, + "vi_VN": { + "1jPSOs": "Wrong network", + "1jkdbc": "Đã kết nối với {network-name}", + "4AutCu": "Ngắt kết nối", + "2pLcqa": "Phân tích", + "1W0h5E": "Việc làm", + "2sBRPu": "Tài liệu", + "3pDcYN": "Điều kiện", + "31niVc": "Riêng tư", + "2rW6zN": "Discord", + "4gWLo1": "Được xây dựng bởi Origin Protocol", + "1YneSG": "Đang chờ bạn phê duyệt...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "Làm mới", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "Dữ liệu hợp đồng chưa được bật. Vào mục Cài đặt ứng dụng Ethereum và chuyển \"Dữ liệu hợp đồng\" (contract data) sang trạng thái \"Được phép\"", + "pIZfD": "Không tìm thấy ví ledger. Hãy đảm bảo rằng ví ledger của bạn đã được mở khóa và ứng dụng Ethereum đang được mở.", + "2dtjw9": "Nhận & stake OGN", + "4wHH7a": "Kiếm thêm OGN bằng cách chọn một trong các lựa chọn stake bên dưới", + "4jff3S": "ngày", + "2K2bO2": "Lợi nhuận hàng năm", + "2fadSV": "Đã xảy ra lỗi không mong muốn khi nhận và stake", + "4q4XJ": "Bắt đầu kiếm tiền với OUSD chỉ sau vài phút", + "1baarA": "Đã mở khóa", + "L7ge6": "Vốn gốc", + "39pdOX": "Lãi", + "4lZnET": "Tổng cộng", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "Nạp tiền", + "3SN6Zt": "Nạp token LP", + "3ZzuaD": "Phê duyệt và nạp tiền", + "1u6rQQ": "Cấp quyền sử dụng {LP token name}", + "5UwYb": "Token LP của bạn sẽ tiếp tục được stake", + "2roQJA": "Token LP hiện có", + "Dwz0K": "Nạp token LP", + "3NtfDc": "Rút", + "KxKU9": "Khi rút, OGN của bạn sẽ tự động được claim", + "4nnBQS": "Bỏ claim", + "1bH81E": "Lãi suất: {weekly-rate} OGN / tuần", + "1MDjh6": "Nhận", + "1girMq": "Cách kiếm OGN bằng cách cung cấp thanh khoản cho OUSD", + "17MLRp": "Mua OUSD", + "1qkHTQ": "Cung cấp thanh khoản", + "cvWeb": "Gửi tiền để kiếm OGN", + "2CPasx": "Đang tải...", + "477gIa": "Nhận OUSD bằng cách mint hoặc mua trên sàn giao dịch", + "3vfiBp": "Swap OUSD", + "440N92": "Cung cấp thanh khoản cho {pool name} trên Uniswap", + "1VLYE8": "Hãy nhớ rằng, bạn sẽ không nhận được lãi suất khi giữ OUSD trên Uniswap, nhưng bạn sẽ nhận được phí giao dịch khi cung cấp thanh khoản.", + "2S4fxr": "Tìm hiểu thêm", + "3EwDTh": "Truy cập Uniswap", + "3B66pk": "Gửi token LP và bắt đầu kiếm OGN", + "1NBzUp": "Điều hướng tôi tới đó", + "1ERLYJ": "Hợp đồng Pool", + "2Ml9PK": "Hợp đồng lãi suất", + "3nG9sm": "Lãi suất staking hiện tại", + "3QWPjm": "Phí cung cấp thanh khoản", + "NGVPX": "Tiền thưởng hiệu suất dự kiến", + "4C96BC": "Pool APY {pool name}", + "1OUWUR": "Nhận OGN", + "1FMVwg": "Vui lòng xác nhận giao dịch…", + "1zjMH4": "Đang nhận lãi suất", + "46QM11": "Hoàn thành", + "ByQEG": "{Stake rate}% - {Duration in days} ngày", + "1gWuD3": "Tình trạng", + "3lJX8R": "Ngày khóa", + "2JakeR": "Ngày đáo hạn", + "3gBFcU": "Thời gian", + "4hfOSZ": "{days} ngày", + "cxJ5S": "Lãi suất", + "lwOCl": "Tổng lãi đã tích lũy", + "C70gA": "Lãi đã tích lũy", + "1tLOzb": "Tổng tới thời điểm hiện tại", + "x8EZB": "Lãi còn lại", + "4euN6q": "Số tiền đáo hạn", + "6qUzg": "Giao dịch gửi tiền", + "1SW6CR": "Giao dịch rút tiền", + "4wKAIm": "Số dư không đủ", + "3id3UW": "Số tiền sẽ khoá", + "3onUuV": "Hiện có: {tokens-amount}", + "4s5sFU": "Tối đa", + "4gGbfA": "Phê duyệt", + "3YN7Sk": "Đang chờ phê duyệt…", + "2Wkohs": "Đang phê duyệt {LP token name}...", + "1qcGIX": "{Token to be approved name} đã phê duyệt", + "1lJhC8": "Khi rút, OGN của bạn sẽ tự động được claim", + "OjbLO": "Unstake token LP", + "4y50Af": "Giá", + "4lO2tB": "Cung trong lưu thông", + "3rKlkU": "Vốn hoá thị trường", + "4iSbmE": "Xem bảng điều khiển OGN", + "25RRqe": "Xem bảng điều khiển OUSD", + "2ERPQi": "APY ước tính", + "29mlza": "Token LP đã nạp", + "3daZoe": "Tỉ lệ pool", + "5B3Td": "OGN/tuần", + "1Watk5": "Tỷ lệ hàng tuần của bạn", + "8cqDM": "/tuần", + "1DU9yn": "Token LP hợp lệ", + "6fZQJ": "Tất cả các pool", + "2pt63C": "Tỷ lệ pool (hàng tuần)", + "1S6Z5G": "Vị thế của bạn", + "361RXs": "Token LP: {token name}", + "2rwqy0": "Kết nối ví của bạn để bắt đầu", + "IhpI": "{reward boost amount}x phần thưởng!", + "3JaQls": "OGN nhận được:", + "3lBBvy": "Lãi suất staking:", + "3xTF5o": "Tổng sau {duration in days}", + "9XtsV": "Hợp đồng stake không có đủ OGN", + "201foI": "Toàn bộ token stake vẫn đang bị khóa", + "4coiG7": "Vui lòng cho phép dữ liệu Hợp đồng trong phần cài đặt ứng dụng Ethereum", + "1F6Ius": "Đã xảy ra lỗi không mong muốn", + "3Hc92T": "Stake ngay bây giờ", + "2jEFb2": "Phê duyệt và Stake", + "1NJQLG": "Cho phép sử dụng OGN", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "Bắt đầu stake bằng cách chọn thời gian lock token", + "3nbZ64": "Bạn sẽ có thể nhận gốc vài tiền lãi vào cuối thời hạn stake.", + "3PO3Rb": "Thời hạn khoá đang có sẵn", + "2aPZNs": "Thời hạn khoá hiện tại", + "13TKqB": "Thời hạn khoá trước đây", + "2iJ38z": "APY", + "KMPDI": "Đáo hạn", + "2waHGT": "{number_of_days} ngày", + "FVoGJ": "Hợp đồng stake OGN", + "1ioxMA": "Uniswap pool", + "4e45N5": "Đăng ký thành công!", + "CUVe5": "Cảm ơn bạn đã đăng ký!", + "2hryKC": "Lỗi khi đăng ký bạn vào danh sách email", + "3MeNPr": "Nhận OUSD", + "3fk4nY": "Kết nối", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fee hiện khá cao. Tham khảo mua trên Uniswap để tiết kiệm phí tối đa.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "Đã xảy ra lỗi không mong muốn. Vui lòng tải lại trang và thử lại.", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "Điều khoản Dịch vụ", + "2kEL7A": "Chính sách bảo mật", + "4d7d8o": "Không phát hiện ví", + "4p8WTT": "Vui lòng kết nối ví Ethereum", + "4DdQgp": "Kiếm OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "Trang Chủ", + "3v8OaN": "Kiếm tiền", + "4nBzhS": "Quản trị", + "OxsKT": "Gỡ lỗi", + "sARfk": "Mua bảo hiểm hợp đồng thông minh cho OUSD của bạn", + "1IiGL8": "Bạn đã sẵn sàng cung cấp thanh khoản và nạp tiền để kiếm thêm OGN", + "1ydkJH": "Tiếp tục", + "1IT57r": "Tăng cung OUSD", + "22MLnT": "Cung OUSD đã tăng lên", + "2PBHOq": "Không tăng được nguồn cung OUSD", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "Cấp quyền di chuyển số {coin} của bạn", + "2eQ0qB": "Đã cấp quyền di chuyển số {coin} của bạn", + "3RBkL5": "Không cấp được quyền di chuyển số {coin} của bạn", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "Giới thiệu chung!", + "n3ZVI": "Đồng Đô La của Origin cho phép bạn chuyển đổi các loại stablecoin khác thành OUSD một cách dễ dàng và thu được lợi nhuận ngay tức thì.", + "jcVm7": "Bạn có thể mua tối đa ~{ousd-coin} OUSD bằng {usdt-coin} USDT, {usdc-coin} USDC và {dai-coin} DAI trong ví của mình.", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "Còn {days left} ngày", + "3Hdm9G": "Còn {hours left} giờ", + "N6ggq": "Còn {minutes left} phút", + "3WG8k4": "Còn {seconds left} giây", + "VPnaK": "Còn {days left} ngày", + "wfwb5": "Còn {hours left} giờ", + "3f3Ar0": "Còn {minutes left} phút", + "2Au2g8": "Còn {seconds left} giây", + "IVHJJ": "Bồi thường OUSD bị hack", + "4kisUn": "Mức bồi thường của tôi được tính như thế nào?", + "2Xgrh9": "Kết nối ví crypto để xem khoản bồi thường của bạn", + "4cLqPP": "Kết nối", + "AghaZ": "Số dư OUSD đủ điều kiện", + "3gbPei": "Khoản bồi thường cho số dư OUSD này được chia 25/75 sau 1.000 OUSD đầu tiên", + "23oX0o": "Ví này không đủ điều kiện để được bồi thường", + "4rCXd0": "Số tiền bồi thường OUSD", + "30bdSh": "ĐÃ YÊU CẦU", + "1J1q6R": "Nhận và bắt đầu kiếm lợi nhuận", + "2xsSYC": "Đã xảy ra lỗi không mong muốn khi nhận OUSD", + "3PAnRd": "Nhận OUSD", + "104KmK": "Số tiền bồi thường OUSD", + "mEG50": "Giá @ OGN của", + "9YoaD": "Thời gian stake", + "1Hlviu": "Nhận & stake OGN", + "krTcK": "Tìm hiểu về OGN>", + "NXcxR": "Đang chuyển hướng...", + "2xq4Xy": "Thu mức lợi nhuận cạnh tranh vô cùng dễ dàng", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "Hợp đồng thông minh OUSD định tuyến stablecoin nhận được từ những người gửi tiền tới một loạt các chiến lược thu lợi nhuận. Thu nhập được tự động chuyển đổi sang OUSD và gửi vào ví của bạn.", + "385aCS": "Reward Fees", + "c17qT": "Phí giao dịch AMM", + "rLE40": "Phần thưởng cung cấp thanh khoản", + "22Gov9": "Ngoài ra, bạn có thể có được một số đặc quyền và phần thưởng quản trị khi đóng góp vào giao thức.", + "1tAhoa": "Sắp ra mắt", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "Phí giao dịch từ nhà tạo lập thị trường tự động (AMM)", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "Rủi ro lỗ vĩnh viễn sẽ được tối thiểu hoá trong khi lãi được tối ưu hoá.", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "Toàn bộ lãi sẽ được nhận bằng OUSD. Bạn sẽ không cần phải liên tục quản lý danh mục DeFi của mình.", + "KwmOl": "OUSD tổng hợp liên tục", + "2F2gKe": "Đạt được an toàn về tài chính và tạo ra của cải nhanh hơn bao giờ hết.", + "2i6enW": "\bBiểu đồ tăng trưởng của 10,000$ trong 2 năm", + "3lygEf": "Số tháng", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "Khuyến khích các bên liên quan", + "27oqvG": "Các đặc quyền và khuyến khích quản trị sẽ được trao cho những người dùng tạo ra giá trị cho nền tảng OUSD", + "3BWDtW": "Chuyển đổi stablecoin sang OUSD", + "tL9Vi": "Cung cấp thanh khoản", + "3bKjkh": "Stake OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "Giới thiệu", + "f1GjR": "Đồng \bstablecoin đầu tiên cho phép kiếm lợi nhuận ngay cả khi được giữ trong ví", + "2YiWgS": "Lãi suất hiện tại", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "Chuyển đổi USDT, USDC và DAI của bạn sang OUSD để bắt đầu kiếm lợi nhuận ngay lập tức", + "4mNBbB": "Kiếm lợi nhuận một cách dễ dàng", + "1eFOSq": "Lãi từ DeFi được tự động chuyển đổi sang OUSD và tích lũy trong ví của bạn. Số dư OUSD sẽ được cập nhật liên tục hàng ngày. Bạn không cần phải khoá tài khoản để kiếm lợi nhuận.", + "48XJtG": "Dễ dàng sử dụng OUSD", + "1OleQh": "Bạn không cần phải mở khoá hoặc phải qua các bước phức tạp để giải phóng quỹ của mình như các nền tảng khác. Với OUSD, bạn có thể được tự do giao dịch/ chuyển đi mà không cần qua bước mở khoá.", + "3LnSmq": "Nguồn cung co giãn, giá được giữ ổn định", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "Được hỗ trợ theo tỉ lệ 1:1 bởi các stablecoin khác", + "2Y956f": "OUSD được bảo đảm bởi các stablecoin phổ biến khác như USDT, USDC và DAI. Vốn được bảo đảm thêm bằng các token quản trị được phát hành bởi các nền tảng như Aave và MakerDAO.", + "ZkCqX": "Canh tác năng suất tự động", + "3guScM": "Các chiến lược tự động trong các hợp đồng thông minh OUSD minh bạch quản lý tiền của bạn. Bạn biết được chính xác tiền của bạn đang hoạt động như thế nào.", + "CXw7Y": "Bạn luôn có toàn quyền kiểm soát", + "1FYoNd": "Lưu trữ và kiếm OUSD bằng ví Ethereum bạn toàn quyền quản lý. Nạp và rút OUSD bất cứ khi nào bạn muốn. Không yêu cầu thời hạn nắm giữ tối thiểu hoặc số tiền OUSD tối thiểu cần thiết nạp vào để bắt đầu kiếm lợi tức.", + "12a8Uj": "Được hỗ trợ bởi bảo hiểm tùy chọn", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Tìm hiểu thêm >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "Đồng stablecoin hoàn hảo phù hợp với cả chi tiêu và tiết kiệm", + "knVKF": "Đánh bại thị trường tiền tệ và tiết kiệm truyền thống", + "37bU7L": "Ở mức APY ước tính là {current-apy}, thu nhập từ OUSD cao hơn các công cụ tài chính truyền thống.", + "2XvZNz": "Giao dịch chuyển ngang hàng tức thì", + "dVUpd": "Chuyển tiền bằng OUSD cho gia đình và bạn bè thay vì vì sử dụng Venmo hoặc Paypal, họ sẽ kiếm được lợi nhuận ngay lập tức.", + "3HVRE9": "Chuyển tiền miễn phí", + "3b4MZ": "Bạn cần gửi tiền đến Trung Quốc hoặc Philippines? Người nhận bằng OUSD sẽ không cần mất phí giao dịch bình quân khoảng 6,7% mà họ thường phải trả cho các bên trung gian truyền thống.", + "AAF3q": "Đơn vị tiền tệ vượt trội", + "1cVSMs": "Dễ dàng theo dõi thu nhập DeFi của bạn mà không cần sử dụng bảng tính phức tạp và các trang tổng hợp chuyên dụng.", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "Theo dõi sự phát triển của chúng tôi", + "oroj": "Ghé thăm Discord", + "3b4HiA": "Ghé thăm Github", + "3c9gh": "Tài liệu về OUSD" + }, + "zh_CN": { + "1jPSOs": "Wrong network", + "1jkdbc": "已连接{network-name}", + "4AutCu": "断开连接", + "2pLcqa": "分析工具", + "1W0h5E": "职位", + "2sBRPu": "文档", + "3pDcYN": "条款", + "31niVc": "隐私", + "2rW6zN": "Discord", + "4gWLo1": "由 Origin Protocol 构建", + "1YneSG": "等待您批准...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "刷新", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "合约数据未启用。请到以太坊应用程序设置,然后将“合约数据”(Contract Data)设置为“允许” (Allowed)", + "pIZfD": "无法检测到 ledger 设备。请确保您的账本已解锁并且以太坊应用已打开。", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "天", + "2K2bO2": "年收益率", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "只需几分钟就可开始使用 OUSD 赚取收益", + "1baarA": "已解锁", + "L7ge6": "主要", + "39pdOX": "利息", + "4lZnET": "总", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "存款", + "3SN6Zt": "存入 LP 代币", + "3ZzuaD": "批准并存入", + "1u6rQQ": "允许使用 {LP token name}", + "5UwYb": "您的 LP 代币将继续被抵押", + "2roQJA": "可用的 LP 代币", + "Dwz0K": "存入 LP 代币", + "3NtfDc": "提款", + "KxKU9": "当您提款时,将会自动认领您已获得的 OGN", + "4nnBQS": "未认领的 OGN", + "1bH81E": "您的费率: {weekly-rate} OGN /周", + "1MDjh6": "认领", + "1girMq": "如何通过为OUSD提供流动性来赚取OGN", + "17MLRp": "购买OUSD", + "1qkHTQ": "提供流动性", + "cvWeb": "存款以赚取OGN", + "2CPasx": "载入中...", + "477gIa": "通过铸造或在交易所购买来获取OUSD", + "3vfiBp": "Swap OUSD", + "440N92": "在Uniswap上提供 {pool name} 流动性", + "1VLYE8": "请记住,您的OUSD在Uniswap中不会增加,但是您将获得提供流动性的利润。", + "2S4fxr": "了解更多", + "3EwDTh": "访问 Uniswap", + "3B66pk": "存入您的LP代币并开始赚取OGN", + "1NBzUp": "带我移转", + "1ERLYJ": "奖励池合约", + "2Ml9PK": "奖励合约", + "3nG9sm": "即时质押奖励", + "3QWPjm": "资金流动性提供者费率", + "NGVPX": "预计绩效奖金", + "4C96BC": "{pool name} 池APY", + "1OUWUR": "领取OGN", + "1FMVwg": "请确认您的交易…", + "1zjMH4": "收益", + "46QM11": "完成", + "ByQEG": "{Stake rate}% {Duration in days} 天", + "1gWuD3": "状态", + "3lJX8R": "锁定日期", + "2JakeR": "到期日", + "3gBFcU": "持续期间", + "4hfOSZ": "{days} 天", + "cxJ5S": "利率", + "lwOCl": "应计利息总额", + "C70gA": "应计利息总额", + "1tLOzb": "迄今为止总计", + "x8EZB": "剩余利息", + "4euN6q": "到期金额", + "6qUzg": "存款交易", + "1SW6CR": "提款交易", + "4wKAIm": "OGN余额不足", + "3id3UW": "锁定金额", + "3onUuV": "可用: {tokens-amount}", + "4s5sFU": "最高", + "4gGbfA": "批准", + "3YN7Sk": "等待您确认…", + "2Wkohs": "批准 {LP token name}...", + "1qcGIX": "{Token to be approved name} 批准", + "1lJhC8": "当您提款时,将会自动认领您已获得的OGN", + "OjbLO": "取消LP代币", + "4y50Af": "价格", + "4lO2tB": "流通供给量", + "3rKlkU": "市值", + "4iSbmE": "查看OGN仪表板", + "25RRqe": "访问OUSD仪表板", + "2ERPQi": "预测 APY", + "29mlza": "LP代币存款", + "3daZoe": "奖励池率", + "5B3Td": "OGN /周", + "1Watk5": "您的每周利率", + "8cqDM": "/周", + "1DU9yn": "合格的LP代币", + "6fZQJ": "所有奖励池", + "2pt63C": "奖励池利率(每周)", + "1S6Z5G": "您现在的位置", + "361RXs": "LP代币: {token name}", + "2rwqy0": "首先连接您的钱包", + "IhpI": "{reward boost amount}x奖励!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "质押合约的OGN资金不足", + "201foI": "所有质押仍然处于锁定状态", + "4coiG7": "Please enable Contract data on the Ethereum app Settings", + "1F6Ius": "发生预期外的错误", + "3Hc92T": "开始抵押", + "2jEFb2": "核准 & 质押", + "1NJQLG": "允许使用 OGN 代币", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "通过选择锁定期开始质押", + "3nbZ64": "在质押期结束时,您将可以索取OGN本金和利息。", + "3PO3Rb": "可用的锁定", + "2aPZNs": "当前锁定", + "13TKqB": "以前的锁定", + "2iJ38z": "APY", + "KMPDI": "到期", + "2waHGT": "{number_of_days} 天", + "FVoGJ": "OGN质押合约", + "1ioxMA": "Uniswap 池", + "4e45N5": "您已经注册!", + "CUVe5": "谢谢注册!", + "2hryKC": "订阅时出错", + "3MeNPr": "获取OUSD", + "3fk4nY": "连接", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "出错啦!请刷新页面重试。", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "服务条款", + "2kEL7A": "隐私政策", + "4d7d8o": "没有钱包连接", + "4p8WTT": "请连接一个以太坊钱包", + "4DdQgp": "赚取OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "主页", + "3v8OaN": "赚取", + "4nBzhS": "治理", + "OxsKT": "调试", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "您已准备好提供流动性和存款以赚取 OGN", + "1ydkJH": "继续", + "1IT57r": "Increasing OUSD supply", + "22MLnT": "OUSD supply increased", + "2PBHOq": "Failed to increase OUSD supply", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "授予移动您的 {coin} 的权限", + "2eQ0qB": "已授权移动您的 {coin}", + "3RBkL5": "移动您的 {coin} 授权失败", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "欢迎!", + "n3ZVI": "Origin Dollar允许您轻松地将其他稳定币转换为 OUSD 并立即赚取收益。", + "jcVm7": "您可以用钱包中的 {usdt-coin} USDT, {usdc-coin} USDC 和 {dai-coin} DAI 购买多达{ousd-coin} OUSD。", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "还剩{days left}天", + "3Hdm9G": "还剩{hours left}小时", + "N6ggq": "剩下{minutes left}m", + "3WG8k4": "还剩{seconds left}秒", + "VPnaK": "还剩{days left} 天", + "wfwb5": "还剩{hours left} 小时", + "3f3Ar0": "还剩{minutes left} 分钟", + "2Au2g8": "还剩{seconds left} 秒", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "重导向中...", + "2xq4Xy": "不费吹灰之力即可获得具竞争力的收益", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "OUSD 智能合约汇集从所有稳定币存款者所存的资金,然后使用智能的自动化算法将资金路由到一套多样化的收益策略。收益将自动转换为 OUSD 并存入您的钱包。", + "385aCS": "Reward Fees", + "c17qT": "AMM交易费", + "rLE40": "流动性挖矿奖励", + "22Gov9": "另外,当您对协议做出贡献时,可以获得治理特权和激励。", + "1tAhoa": "即将推出", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "自动做市商交易费", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "无常损失被最小化,而 LP 费用和报酬被最大化。", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "自动以 OUSD 收取所有收益。无需费心思管理您的 DeFi 产品组合。", + "KwmOl": "OUSD 连续复合", + "2F2gKe": "实现财务安全并以前所未有的速度创造财富。", + "2i6enW": "两年增长一万美元", + "3lygEf": "月", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "激励利益相关者", + "27oqvG": "治理特权和奖励将给予为 OUSD 平台创造价值的用户", + "3BWDtW": "将稳定币转换为 OUSD", + "tL9Vi": "提供流动性", + "3bKjkh": "质押 OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "介绍", + "f1GjR": "首个在您的钱包中赚取收益的稳定币", + "2YiWgS": "目前收益率", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "将您的 USDT,USDC 和DAI 转换为 OUSD 以立即赚取收益", + "4mNBbB": "只有收益,没有烦恼", + "1eFOSq": "DeFi收益率会自动转换为OUSD并累积到您的钱包中。您的OUSD余额每天会复利多次。无需质押或锁定。", + "48XJtG": "轻松使用您的 OUSD", + "1OleQh": "轻松使用您的 OUSD。随时转移 OUSD,无需释放资金或取消抵押。", + "3LnSmq": "供给弹性,价格稳定", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1由其他稳定币支持", + "2Y956f": "OUSD 由其他已被验证的稳定币(例如 USDT,USDC 和 DAI)担保。由 Aave 和 MakerDAO 等平台发行的治理代币进一步为您的资本提供保险。", + "ZkCqX": "自动收益耕作", + "3guScM": "您的资金由透明的 OUSD 智能合约中的自动化策略管理。确切了解您的资金是如何使用的。", + "CXw7Y": "您拥有完全的控制权", + "1FYoNd": "使用非托管以太坊钱包存储并赚取 OUSD。您可以随时买卖 OUSD。没有最短持有期以赚取收益。", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "最适合储蓄和消费的稳定币", + "knVKF": "比传统储蓄和货币市场的回报率更高", + "37bU7L": "以 {current-apy} 估算的APY ,OUSD 的收益远远超过传统金融工具。", + "2XvZNz": "点对点的即使转账", + "dVUpd": "与其使用微信支付或 Paypal 转账给家人朋友,还不如使用 OUSD。它们将立即获得收益。", + "3HVRE9": "无费用汇款", + "3b4MZ": "需要汇款到中国或菲律宾?您的接收者会获得 OUSD并不会损失平6. 7% 的费用。", + "AAF3q": "轻松掌控您的投资", + "1cVSMs": "轻松跟踪您的 DeFi 收入。无需复杂的电子表格或自定义仪表板。", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "关注我们的进展", + "oroj": "加入我们的 Discord", + "3b4HiA": "查看我们的GitHub", + "3c9gh": "查看描述文件" + }, + "zh_TW": { + "1jPSOs": "Wrong network", + "1jkdbc": "已連接{network-name}", + "4AutCu": "斷開連接", + "2pLcqa": "數據分析", + "1W0h5E": "工作機會", + "2sBRPu": "文檔", + "3pDcYN": "條款", + "31niVc": "隱私", + "2rW6zN": "Discord", + "4gWLo1": "由 Origin Protocol 打造", + "1YneSG": "等待您確認...", + "9S1ai": "Approving {waiting-network}...", + "gl0Yx": "{approval-done} approved", + "GUeD5": "Approve {route-mobile}", + "29mRGd": "Allow {route}", + "ItOnE": "Insufficient {coin} balance", + "4qmCFl": "Route for selected swap not available", + "1b6Z1e": "Wrap", + "40DPFc": "Unwrap", + "416oku": "Swap", + "4g5DeW": "Your contract selection has been changed to {new contract name}. If you want your transaction to be routed through {abandoned contract name}, you can go back and override it. Do you want to continue with the default selection?", + "1MG7Lh": "No", + "3CTBYC": "Go ahead", + "3NqyUv": "Trailing APY", + "18TYa6": "Balance", + "3PTmKc": "Pending yield", + "3Q8MxB": "Lifetime earnings", + "4uO9rM": "Confirm", + "80JdB": "Flipper", + "2a1UzC": "Origin Vault", + "rdP4G": "Uniswap V3", + "2zoPnb": "Curve", + "3i6Ql6": "Uniswap V2", + "3vYCZQ": "SushiSwap", + "12rAE3": "Unsupported", + "2BgnmK": "Error", + "vpeRh": "Amount too high", + "3jpbYv": "Insufficient balance", + "1nHk5N": "Slippage too high", + "2HXc4x": "Liquidity error", + "4BWGL1": "{selected estimation name} offers -{selected estimation diff}% worse price than {best estimation name}.", + "2MqOpi": "Are you sure you want to override best transaction route?", + "2EGqG": "Yes", + "3pr5yS": "Best price will be displayed here", + "4j93qO": "Finding you the best price...", + "4updsU": "Best price for your transaction", + "2fJ6Q3": "Exchange", + "2oUcGW": "Est. received", + "2Z7oXC": "Gas estimate", + "Raosn": "Effective Price", + "1nC7AW": "Diff.", + "CgFyk": "Loading ...", + "2WO1IE": "Best", + "9I5rx": "Includes 2 transactions Approve(${Approve Cost}) + Swap(${Swap Cost})", + "1DZVl3": "Show less", + "ppTQn": "Show more", + "328Qia": "重新整理", + "4hLPyn": "Price tolerance", + "3AcEJA": "Gas price", + "4C7Yf2": "Balance: {coin-balance}", + "1TrN3T": "Max", + "3iJUtJ": "Loading...", + "4vPD9x": "Min. received: {ousd-amount} OUSD", + "2IZvgn": "合約資料未啟用。前往 Ethereum 應用程式的設定頁,將「合約資料」設定為「允許」。", + "pIZfD": "無法檢測到 Ledger 裝置。請確定您的 Ledger 已經解鎖,而且已經打開 Ethereum 應用程式。", + "2dtjw9": "Claim & Stake OGN", + "4wHH7a": "Earn more OGN by selecting a staking option below", + "4jff3S": "天", + "2K2bO2": "年化收益", + "2fadSV": "Unexpected error happened when claiming and staking", + "4q4XJ": "只需幾分鐘就可開始使用 OUSD 賺取收益", + "1baarA": "已解鎖", + "L7ge6": "本金", + "39pdOX": "利息", + "4lZnET": "總計", + "1foUwZ": "Earn OGN and CRV rewards by providing liquidity on Curve", + "47Y9uT": "Total APY", + "4sks1L": "Base APY", + "23Euhq": "CRV APY", + "TbbBH": "OGN APY", + "1d9zwg": "Powered by", + "4oHDpX": "Provide OUSD + USDT/USDC/ DAI liquidity to the Curve OUSD pool", + "29gW6q": "Click “Deposit & stake in gauge”", + "EmliE": "Add Liquidity", + "2WoP0A": "Once staked, click the “Claim” button on Curve to claim your OGN & CRV rewards", + "3LaHOI": "Claim Rewards", + "2d1lvp": "存款", + "3SN6Zt": "存入 LP 代幣", + "3ZzuaD": "允許並存入", + "1u6rQQ": "允許使用 {LP token name}。", + "5UwYb": "您的 LP 代幣將維持抵押狀態", + "2roQJA": "可用的 LP 代幣", + "Dwz0K": "已存入的 LP 代幣", + "3NtfDc": "提款", + "KxKU9": "當您提款時,將自動索取您的 OGN 代幣", + "4nnBQS": "尚未索取的 OGN", + "1bH81E": "您的成長率:{weekly-rate} OGN/周", + "1MDjh6": "索取", + "1girMq": "如何透過提供 OUSD 流動性來賺取 OGN", + "17MLRp": "購買 OUSD", + "1qkHTQ": "提供流動性", + "cvWeb": "存款以賺取 OGN", + "2CPasx": "載入中...", + "477gIa": "透過鑄造或在交易所購買來獲得 OUSD", + "3vfiBp": "Swap OUSD", + "440N92": "在 Uniswap 提供 {pool name} 的流動性", + "1VLYE8": "請記住,您的 OUSD 在 Uniswap 中不會增加,但您會因為提供流動性獲得費用。", + "2S4fxr": "了解更多", + "3EwDTh": "訪問 Uniswap", + "3B66pk": "存入您的 LP 代幣並開始賺取 OGN", + "1NBzUp": "帶我去那裡", + "1ERLYJ": "獎勵池合約", + "2Ml9PK": "獎勵合約", + "3nG9sm": "目前質押獎勵", + "3QWPjm": "流動性提供者費用", + "NGVPX": "預計績效獎金", + "4C96BC": "{pool name} 獎勵池 APY", + "1OUWUR": "索取 OGN", + "1FMVwg": "請確認您的交易…", + "1zjMH4": "收益", + "46QM11": "完成", + "ByQEG": "{Stake rate}% - {Duration in days} 天", + "1gWuD3": "狀態", + "3lJX8R": "鎖倉日期", + "2JakeR": "到期日", + "3gBFcU": "持續時間", + "4hfOSZ": "{days} 天", + "cxJ5S": "利率", + "lwOCl": "應計利息總額", + "C70gA": "應計利息", + "1tLOzb": "迄今為止總計", + "x8EZB": "剩餘利息", + "4euN6q": "到期金額", + "6qUzg": "存款交易", + "1SW6CR": "提款交易", + "4wKAIm": "OGN 餘額不足", + "3id3UW": "鎖倉量", + "3onUuV": "可用:{tokens-amount}", + "4s5sFU": "最大", + "4gGbfA": "批准", + "3YN7Sk": "等待您確認…", + "2Wkohs": "正在批准 {LP token name}...", + "1qcGIX": "{Token to be approved name} 已被批准", + "1lJhC8": "當您提款時,將自動索取您的 OGN 代幣", + "OjbLO": "解除質押 LP 代幣", + "4y50Af": "價格", + "4lO2tB": "流通供給量", + "3rKlkU": "市值", + "4iSbmE": "前往 OGN 資訊主頁", + "25RRqe": "前往 OUSD 資訊主頁", + "2ERPQi": "預計的 APY", + "29mlza": "LP 代幣存款", + "3daZoe": "獎勵池率", + "5B3Td": "OGN/週", + "1Watk5": "您的每週利率", + "8cqDM": "/周", + "1DU9yn": "符合資格的 LP 代幣", + "6fZQJ": "所有獎勵池", + "2pt63C": "獎勵池利率 (每週)", + "1S6Z5G": "您的倉位", + "361RXs": "LP 代幣:{token name}", + "2rwqy0": "首先連接您的錢包", + "IhpI": "{reward boost amount} 倍獎勵!", + "3JaQls": "Claimable OGN:", + "3lBBvy": "Staking Bonus:", + "3xTF5o": "Total after {duration in days}", + "9XtsV": "質押合約的 OGN 資金不足", + "201foI": "所有質押仍處於鎖定狀態", + "4coiG7": "請在 Ethereum 應用程式設定中啟用合約資料", + "1F6Ius": "發生意外錯誤", + "3Hc92T": "立即抵押", + "2jEFb2": "批准並抵押", + "1NJQLG": "使用 OGN 代幣的權限", + "cGVkm": "Show OGN Staking", + "r9xLg": "Hide OGN Staking", + "4uQdiv": "選擇質押鎖定期以開始", + "3nbZ64": "在抵押期結束時,您將可以索取 OGN 本金和利息。", + "3PO3Rb": "可用的鎖定", + "2aPZNs": "目前的鎖定", + "13TKqB": "以前的鎖定", + "2iJ38z": "APY", + "KMPDI": "到期", + "2waHGT": "{number_of_days} 天", + "FVoGJ": "OGN 質押合約", + "1ioxMA": "Uniswap 池", + "4e45N5": "您已經註冊!", + "CUVe5": "謝謝註冊!", + "2hryKC": "訂閱時出錯", + "3MeNPr": "獲取OUSD", + "3fk4nY": "連接", + "3om5eR": "View on IPFS", + "4d8XmP": "It looks like you are minting from a contract and have not opted into yield. You must opt in to receive yield.", + "2OwGWN": "Gas fees are high right now. It might be cheaper to buy OUSD on Uniswap.", + "2dWFmy": "Unlock your Ledger wallet and open the Ethereum application", + "1wuXik": "發生意外錯誤。請刷新頁面再試一次。", + "1tDRul": "Select a Ledger derivation path", + "2H7hUg": "Github", + "426LeC": "Originally released by Origin Protocol", + "458REs": "服務條款", + "2kEL7A": "隱私政策", + "4d7d8o": "沒有連接到錢包", + "4p8WTT": "請連接一個以太坊錢包", + "4DdQgp": "赚取 OGN", + "PVJwy": "Wrap OUSD", + "nfQ8c": "History", + "3hIzNK": "Trailing 365-day APY: {APY}", + "3PDroE": "主頁", + "3v8OaN": "賺取", + "4nBzhS": "治理", + "OxsKT": "調試", + "sARfk": "Get optional smart contract insurance for your OUSD", + "1IiGL8": "您已準備好提供流動性和存款以賺取 OGN", + "1ydkJH": "繼續", + "1IT57r": "增加 OUSD 供應", + "22MLnT": "OUSD 供應已增加", + "2PBHOq": "無法增加 OUSD 的供應", + "38zKU9": "Opting in to OUSD rebasing", + "3f04XJ": "Opted in to OUSD rebase", + "2elST4": "Failed to opt in to OUSD rebase", + "4aQLhT": "授予移動您的 {coin} 的權限", + "2eQ0qB": "已授權移動您的 {coin}", + "3RBkL5": "移動您的 {coin} 授權失敗", + "3u5iZk": "Swapping OUSD for {coin}", + "44StQY": "Swapped OUSD for {coin}", + "2ILsGp": "Failed swapping OUSD for {coin}", + "2LT8Lf": "Swapping {coin} for OUSD", + "3KDqm4": "{coin} swapped for OUSD", + "3KfcQi": "Failed swapping {coin} for OUSD", + "1MGlnN": "Wrapping OUSD into wOUSD", + "4lcOAT": "Wrapped OUSD into wOUSD", + "2GUK7Y": "Failed wrapping OUSD into wOUSD", + "1t7xc8": "Unwrapping wOUSD into OUSD", + "2LkCwN": "wOUSD unwrapped into OUSD", + "4Cxmas": "Failed unwrapping wOUSD into OUSD", + "3Jsdql": "歡迎!", + "n3ZVI": "Origin Dollar允許您輕鬆地將其他穩定幣轉換為 OUSD 並立即賺取收益。", + "jcVm7": "您可以用錢包中的 {usdt-coin} USDT, {usdc-coin} USDC 和 {dai-coin} DAI 購買多達{ousd-coin} OUSD。", + "4nfKya": "Wrapped OUSD appreciates in value at the same rate as regular OUSD earns yield, while the number of tokens in your wallet stays the same.", + "2kkMOW": "Wrapped OUSD is a non-rebasing version of OUSD that still earns yield. This may provide tax benefits in some locations, and may be easier to use as a building block for other contracts.", + "n1laP": "Yield", + "2SxROe": "Received", + "34otte": "Sent", + "2Ihfo": "Swap", + "3lhLlj": "Unknown transfer", + "2pmeOd": "Unknown", + "pDOyC": "Received", + "43i5e4": "Sent", + "1JJTUm": "Swap", + "3JLmmR": "Yield", + "2MoJGG": "Export", + "2DM8G2": "Date", + "2SYIVG": "Type", + "4n1LAO": "From", + "J9dD2": "To", + "3FODVf": "Amount", + "9H2RF": "Balance", + "UyHiL": "No Ethereum wallet detected", + "1nq94J": "Connect a wallet to get started", + "48oFPV": "wOUSD Balance", + "1OQz45": "Current Value (OUSD)", + "3Zqr8W": "Pending yield (OUSD)", + "4kJBkS": "1 wOUSD = {wousd-rate} OUSD", + "22sp1V": "剩下 {days left} 天", + "3Hdm9G": "剩下 {hours left} 小時", + "N6ggq": "剩下 {minutes left} 分鐘", + "3WG8k4": "剩下 {seconds left} 秒", + "VPnaK": "剩下 {days left} 天", + "wfwb5": "剩下 {hours left} 小時", + "3f3Ar0": "剩下 {minutes left} 分鐘", + "2Au2g8": "剩下 {seconds left} 秒", + "IVHJJ": "OUSD Exploit Compensation", + "4kisUn": "How is my compensation calculated?", + "2Xgrh9": "Connect a cryptowallet to see your compensation", + "4cLqPP": "Connect", + "AghaZ": "Eligible OUSD Balance", + "3gbPei": "Compensation for 100% of this OUSD balance is split 25/75 after the first 1,000 OUSD", + "23oX0o": "This wallet is not eligible for compensation", + "4rCXd0": "OUSD Compensation Amount", + "30bdSh": "CLAIMED", + "1J1q6R": "Claim to start earning yield", + "2xsSYC": "Unexpected error happened when claiming OUSD", + "3PAnRd": "Claim OUSD", + "104KmK": "OGN Compensation Amount", + "mEG50": "@ OGN price of", + "9YoaD": "Staking duration", + "1Hlviu": "Claim & Stake OGN", + "krTcK": "Learn about OGN >", + "NXcxR": "正在重新導向...", + "2xq4Xy": "不費吹灰之力即可獲得具競爭力的收益", + "1JY8vJ": "OUSD enables both sophisticated DeFi experts and novice users to passively earn compelling returns.", + "3Py1yM": "OUSD 智能合約匯集從所有穩定幣存款者所存的資金,然後使用智能的自動化算法將資金路由到一套多樣化的收益策略。收益將自動轉換為 OUSD 並存入您的錢包。", + "385aCS": "Reward Fees", + "c17qT": "AMM交易費", + "rLE40": "流動性挖礦獎勵", + "22Gov9": "另外,當您對協議做出貢獻時,可以獲得治理特權和激勵。", + "1tAhoa": "即將推出", + "1JLcTK": "The protocol will route your USDT, USDC, and DAI to proven lending and exchange protocols to achieve optimal ROI on your capital.", + "1O4euI": "Rebalancing occurs weekly, factoring in lending rates, rewards tokens, and diversification.", + "3uORH7": "自動做市商交易費", + "yZpcD": "Stablecoin liquidity is supplied to Uniswap and other automated market makers to earn trading fees.", + "4pBnUC": "無常損失被最小化,而 LP 費用和報酬被最大化。", + "1AUG86": "COMP, CRV, CVX and other rewards tokens will be accrued and converted to stablecoins for additional yield.", + "2dTk6K": "自動以 OUSD 收取所有收益。無需費心思管理您的 DeFi 產品組合。", + "KwmOl": "OUSD 連續複合", + "2F2gKe": "實現財務安全並以前所未有的速度創造財富。", + "2i6enW": "兩年增長一萬美元", + "3lygEf": "月", + "1Evm6S": "Decentralized Governance", + "2BXPAS": "The protocol is developed and maintained by Origin Protocol and governed fully by its users", + "4almCm": "激勵利益相關者", + "27oqvG": "治理特權和獎勵將給予為 OUSD 平台創造價值的用戶", + "3BWDtW": "將穩定幣轉換為OUSD", + "tL9Vi": "提供流動性", + "3bKjkh": "質押 OGN", + "1JDOMr": "Help shape the future of OUSD", + "3O6OLI": "Discord", + "44Ul3j": "Join our Discord to share proposals, provide feedback, get pointers on how to contribute, and shape the future of the protocol with OUSD community.", + "2e4CME": "Github", + "3QHQcq": "Explore the source code and inspect in detail how OUSD functions or clone the project if you want to contribute.", + "DBk79": "Snapshot", + "19e31s": "Off chain voting interface where users can express their sentiment on various proposals.", + "26o4Bs": "介紹", + "f1GjR": "首個在您的錢包中賺取收益的穩定幣", + "2YiWgS": "目前收益率", + "4Ejji": "Based on a trailing 365-day calculation", + "1tCHWt": "將您的 USDT,USDC 和DAI 轉換為 OUSD 以立即賺取收益", + "4mNBbB": "只有收益,沒有煩惱", + "1eFOSq": "DeFi 收益會自動被轉為 OUSD 並在您的錢包中累積。您的 OUSD 餘額一天將增加數次。無須質押或鎖定代幣。", + "48XJtG": "輕鬆使用您的 OUSD", + "1OleQh": "輕鬆使用您的 OUSD。隨時轉移 OUSD,無需釋放資金或取消抵押。", + "3LnSmq": "供給彈性,價格穩定", + "42Om4S": "OUSD is pegged to the US Dollar. Returns are distributed as additional units of OUSD. See your OUSD grow much faster than your USD grows in traditional savings accounts.", + "22J4ox": "1:1由其他穩定幣支持", + "2Y956f": "OUSD 由其他已被驗證的穩定幣(例如 USDT,USDC 和 DAI)擔保。由 Aave 和 MakerDAO 等平台發行的治理代幣進一步為您的資本提供保險。", + "ZkCqX": "自動收益耕作", + "3guScM": "您的資金由透明的 OUSD 智能合約中的自動化策略管理。確切了解您的資金是如何使用的。", + "CXw7Y": "您擁有完全的控制權", + "1FYoNd": "使用非託管以太坊錢包存儲並賺取 OUSD。您可以隨時買賣 OUSD。沒有最短持有期以賺取收益。", + "12a8Uj": "Backed by optional insurance", + "3nZXPL": "Protect your OUSD holdings with smart contract insurance. Optional coverage is provided by Nexus Mutual and InsurAce.", + "2KpeBj": "Learn more >", + "3KguYr": "Exchanges and partners", + "as1H0": "Use the Dapp to get the best price when swapping to & from OUSD. The Dapp checks costs of the swap on external exchanges as well as our Vault contract and picks the best price for you. You can also trade OUSD directly from our partners & exchanges.", + "36F7i9": "KuCoin", + "1vmqww": "Uniswap", + "4tz364": "Curve", + "3CXGDr": "最適合儲蓄和消費的穩定幣", + "knVKF": "比傳統儲蓄和貨幣市場的回報率更高", + "37bU7L": "以 {current-apy} 估算的APY ,OUSD 的收益遠遠超過傳統金融工具。", + "2XvZNz": "點對點的即使轉賬", + "dVUpd": "與其使用 Venmo 或 Paypal 轉賬給家人朋友,還不如使用 OUSD。它們將立即獲得收益。", + "3HVRE9": "無費用匯款", + "3b4MZ": "需要匯款到中國或菲律賓?您的接收者會獲得 OUSD並不會損失平6. 7% 的費用。", + "AAF3q": "輕鬆掌控您的投資", + "1cVSMs": "輕鬆跟踪您的 DeFi 收入。無需複雜的電子表格或自定義儀表板。", + "xnFbE": "Audited and Verified", + "18UIOZ": "OUSD has been audited by multiple, well-respected security firms.", + "16u5Z1": "Trail of bits", + "N1T5p": "Certora", + "3hHECx": "Solidified", + "3VqL4V": "OpenZeppelin", + "4zjPUw": "Protocol security remains top priority", + "3PcGD3": "5 (of 8) signatures required for any admin changes", + "412fNc": "48 hour time delay before changes come into affect", + "2fxwPr": "Nexus mutual insurance", + "OoazX": "InsurAce insurance", + "1E8NVz": "關注我們的進展", + "oroj": "加入我們的Discord", + "3b4HiA": "查看我們的GitHub", + "3c9gh": "查看描述文件" + } +} \ No newline at end of file diff --git a/dapp-oeth/.vscode/launch.json b/dapp-oeth/.vscode/launch.json new file mode 100644 index 0000000000..c3dbb85155 --- /dev/null +++ b/dapp-oeth/.vscode/launch.json @@ -0,0 +1,28 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Next.js: debug server-side", + "type": "node-terminal", + "request": "launch", + "command": "yarn dev" + }, + { + "name": "Next.js: debug client-side", + "type": "chrome", + "request": "launch", + "url": "http://localhost:3000" + }, + { + "name": "Next.js: debug full stack", + "type": "node-terminal", + "request": "launch", + "command": "PORT=3001 yarn dev", + "serverReadyAction": { + "pattern": "started server on .+, url: (https?://.+)", + "uriFormat": "%s", + "action": "debugWithChrome" + } + } + ] +} diff --git a/dapp-oeth/README.md b/dapp-oeth/README.md new file mode 100644 index 0000000000..7bd749b9b7 --- /dev/null +++ b/dapp-oeth/README.md @@ -0,0 +1,75 @@ +## Getting Started + +Compile the contracts to generate the dapp/network.json file and start a local blockchain: +```bash +cd ../contracts +yarn install +yarn run clean //a lot of times contracts do not get deployed properly without this +yarn run node +``` + +In a separate terminal, deploy the contracts: +```bash +cd ../contracts +yarn run deploy +``` + +In a separate terminal, run the DApp development server: + +```bash +yarn run start +``` + +### Local Dev/Test of stake functionality +- start node & deploy the contracts in a separate terminal as stated above +- go to "/dashboard" page and find "Staking" section +- Click on "Mint hella OGN" to supply your account with OGN +- click on "Supply staking contract with OGN" to supply staking contract with 10k OGN. If staking contract runs out of OGN or more OGN is staked by users than the contract owns an error is thrown(At the step when user tries to stake OGN). +- click on the "Approve staking contract to move OGN" to approve ognStaking to move ogn around. On mainnet this is not necessary since the OGN contract has ogn staking contract whiteslited. + +Good to know: In local environment there is a staking option where users stake OGN for only 10 minutes. This will not happen in production or forked environment. The purpose of it is to easen the testing / development. + +### Translations + +Translations are updated in the dapp with 3 steps +- cd dapp && yarn run translate (This command extracts new translations from the code). When those are pushed to master the Crowdin website picks up the new strings and translators can translate them +- cd dapp && git fetch && git checkout master && git merge origin/crowdin (with this command the new Crowdin strings are merged to master but not yet usable by our translation engine) +- cd dapp && yarn run translate (this command extracts translations and also integrates data from Crowdin in a format that can be used by the dapp) + +### Run Dapp on Mainnet +``` +$ yarn run decrypt-secrets:prod +$ yarn run build +$ yarn run start:production +``` + +### Dapp compensation setup +Note: the main testing accounts (0x17BAd8cbCDeC350958dF0Bfe01E284dd8Fec3fcD, 0x3d89e78a9Feb7Be032D5aC01A10Ee2Ca97Ab35FD) already have an entry in the `airDrop.js` file and there is no need to do anything additional. If you want to change the compensation stake amounts or add new compensations do the following: + +- in contracts npm package there is a `compute-merkle-proofs` command that takes addresses specified in `scripts/staking/airDrop.js` and creates an output consumed by the dapp `dapp/src/constants/merkleProofedAccountsToBeCompensated.json`. That file contains merkle proof data that are necessary to create stakes. We expose that file via dapp side api publicly and it is ok, since the contract verifies the wallet owner, so another wallet can not claim OGN compensation for anyone else. +- the output of the above file will also generate a root hash and tree depth that needs to be fed to the contract. Open `004_single_asset_staking.js` and modify `dropRootHash` and `dropRootDepth` variables to whatever running the script in the previous step produced. +- with that redeploy the contracts: `yarn run deploy` +- go to debug dashboard: /dashboard +- mint 20m or more USDT +- go to /swap page and exchange that USDT for OUSD +- go to /dashboard page and click "Send 20m OUSD to contract". Contract must have more than "Total claims in the contract" OUSD to be able to start claim periods +- switch to governor account. It is the first account that mnemonic in harhat.config.js produces +- unlock the adjuster +- start claim period + +Visit the /compensation page and run "Claim & Stake" + +### Environment variables +- On local use `local.env` file (copy initial contents from dev.env) +- For prod, use Heroku config variables. Ask someone who has permission to set it + +## DevOps +Refer to the [playbook](https://docs.google.com/document/d/1sWLL0gAfm8A2CQ_HRPoExbF-jDIgu7F1uo61cW-lLWU/edit#heading=h.brahy16zdtg1). + +## Test functionality +Set the `override_best_tx_route` local storage variable to `true` to enable user overriding the best route: +``` +localStorage.setItem('override_best_tx_route', 'true') +``` + + diff --git a/dapp-oeth/abis/ChainlinkAggregatorV3Interface.json b/dapp-oeth/abis/ChainlinkAggregatorV3Interface.json new file mode 100644 index 0000000000..cd65e81251 --- /dev/null +++ b/dapp-oeth/abis/ChainlinkAggregatorV3Interface.json @@ -0,0 +1,350 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "AggregatorV3Interface", + "sourceName": "/", + "abi": [ + { + "inputs": [ + { "internalType": "address", "name": "_aggregator", "type": "address" }, + { + "internalType": "address", + "name": "_accessController", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "int256", + "name": "current", + "type": "int256" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "roundId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "updatedAt", + "type": "uint256" + } + ], + "name": "AnswerUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "roundId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "startedBy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "startedAt", + "type": "uint256" + } + ], + "name": "NewRound", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "OwnershipTransferRequested", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "accessController", + "outputs": [ + { + "internalType": "contract AccessControllerInterface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "aggregator", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_aggregator", "type": "address" } + ], + "name": "confirmAggregator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "description", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_roundId", "type": "uint256" } + ], + "name": "getAnswer", + "outputs": [{ "internalType": "int256", "name": "", "type": "int256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint80", "name": "_roundId", "type": "uint80" } + ], + "name": "getRoundData", + "outputs": [ + { "internalType": "uint80", "name": "roundId", "type": "uint80" }, + { "internalType": "int256", "name": "answer", "type": "int256" }, + { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, + { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, + { + "internalType": "uint80", + "name": "answeredInRound", + "type": "uint80" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "_roundId", "type": "uint256" } + ], + "name": "getTimestamp", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "latestAnswer", + "outputs": [{ "internalType": "int256", "name": "", "type": "int256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "latestRound", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "latestRoundData", + "outputs": [ + { "internalType": "uint80", "name": "roundId", "type": "uint80" }, + { "internalType": "int256", "name": "answer", "type": "int256" }, + { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, + { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, + { + "internalType": "uint80", + "name": "answeredInRound", + "type": "uint80" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "latestTimestamp", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { "internalType": "address payable", "name": "", "type": "address" } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }], + "name": "phaseAggregators", + "outputs": [ + { + "internalType": "contract AggregatorV2V3Interface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "phaseId", + "outputs": [{ "internalType": "uint16", "name": "", "type": "uint16" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_aggregator", "type": "address" } + ], + "name": "proposeAggregator", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "proposedAggregator", + "outputs": [ + { + "internalType": "contract AggregatorV2V3Interface", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "uint80", "name": "_roundId", "type": "uint80" } + ], + "name": "proposedGetRoundData", + "outputs": [ + { "internalType": "uint80", "name": "roundId", "type": "uint80" }, + { "internalType": "int256", "name": "answer", "type": "int256" }, + { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, + { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, + { + "internalType": "uint80", + "name": "answeredInRound", + "type": "uint80" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proposedLatestRoundData", + "outputs": [ + { "internalType": "uint80", "name": "roundId", "type": "uint80" }, + { "internalType": "int256", "name": "answer", "type": "int256" }, + { "internalType": "uint256", "name": "startedAt", "type": "uint256" }, + { "internalType": "uint256", "name": "updatedAt", "type": "uint256" }, + { + "internalType": "uint80", + "name": "answeredInRound", + "type": "uint80" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_accessController", + "type": "address" + } + ], + "name": "setController", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "_to", "type": "address" } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "version", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], + "stateMutability": "view", + "type": "function" + } + ], + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/dapp-oeth/abis/CurveAddressProvider.json b/dapp-oeth/abis/CurveAddressProvider.json new file mode 100644 index 0000000000..7f12fb7bf1 --- /dev/null +++ b/dapp-oeth/abis/CurveAddressProvider.json @@ -0,0 +1,303 @@ +{ + "_format": "", + "contractName": "CurveAddressProvider", + "sourceName": "/", + "abi": [ + { + "name": "NewAddressIdentifier", + "inputs": [ + { + "type": "uint256", + "name": "id", + "indexed": true + }, + { + "type": "address", + "name": "addr", + "indexed": false + }, + { + "type": "string", + "name": "description", + "indexed": false + } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "AddressModified", + "inputs": [ + { + "type": "uint256", + "name": "id", + "indexed": true + }, + { + "type": "address", + "name": "new_address", + "indexed": false + }, + { + "type": "uint256", + "name": "version", + "indexed": false + } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "CommitNewAdmin", + "inputs": [ + { + "type": "uint256", + "name": "deadline", + "indexed": true + }, + { + "type": "address", + "name": "admin", + "indexed": true + } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "NewAdmin", + "inputs": [ + { + "type": "address", + "name": "admin", + "indexed": true + } + ], + "anonymous": false, + "type": "event" + }, + { + "outputs": [], + "inputs": [ + { + "type": "address", + "name": "_admin" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "name": "get_registry", + "outputs": [ + { + "type": "address", + "name": "" + } + ], + "inputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "name": "max_id", + "outputs": [ + { + "type": "uint256", + "name": "" + } + ], + "inputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "name": "get_address", + "outputs": [ + { + "type": "address", + "name": "" + } + ], + "inputs": [ + { + "type": "uint256", + "name": "_id" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "name": "add_new_id", + "outputs": [ + { + "type": "uint256", + "name": "" + } + ], + "inputs": [ + { + "type": "address", + "name": "_address" + }, + { + "type": "string", + "name": "_description" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "set_address", + "outputs": [ + { + "type": "bool", + "name": "" + } + ], + "inputs": [ + { + "type": "uint256", + "name": "_id" + }, + { + "type": "address", + "name": "_address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "unset_address", + "outputs": [ + { + "type": "bool", + "name": "" + } + ], + "inputs": [ + { + "type": "uint256", + "name": "_id" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "commit_transfer_ownership", + "outputs": [ + { + "type": "bool", + "name": "" + } + ], + "inputs": [ + { + "type": "address", + "name": "_new_admin" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "apply_transfer_ownership", + "outputs": [ + { + "type": "bool", + "name": "" + } + ], + "inputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "revert_transfer_ownership", + "outputs": [ + { + "type": "bool", + "name": "" + } + ], + "inputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "name": "admin", + "outputs": [ + { + "type": "address", + "name": "" + } + ], + "inputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "name": "transfer_ownership_deadline", + "outputs": [ + { + "type": "uint256", + "name": "" + } + ], + "inputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "name": "future_admin", + "outputs": [ + { + "type": "address", + "name": "" + } + ], + "inputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "name": "get_id_info", + "outputs": [ + { + "type": "address", + "name": "addr" + }, + { + "type": "bool", + "name": "is_active" + }, + { + "type": "uint256", + "name": "version" + }, + { + "type": "uint256", + "name": "last_modified" + }, + { + "type": "string", + "name": "description" + } + ], + "inputs": [ + { + "type": "uint256", + "name": "arg0" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/dapp-oeth/abis/CurveRegistryExchange.json b/dapp-oeth/abis/CurveRegistryExchange.json new file mode 100644 index 0000000000..b7ce9a4c66 --- /dev/null +++ b/dapp-oeth/abis/CurveRegistryExchange.json @@ -0,0 +1,307 @@ +{ + "_format": "", + "contractName": "CurveRegistryExchange", + "sourceName": "/", + "abi": [ + { + "name": "TokenExchange", + "inputs": [ + { "name": "buyer", "type": "address", "indexed": true }, + { "name": "receiver", "type": "address", "indexed": true }, + { "name": "pool", "type": "address", "indexed": true }, + { "name": "token_sold", "type": "address", "indexed": false }, + { "name": "token_bought", "type": "address", "indexed": false }, + { "name": "amount_sold", "type": "uint256", "indexed": false }, + { "name": "amount_bought", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "name": "ExchangeMultiple", + "inputs": [ + { "name": "buyer", "type": "address", "indexed": true }, + { "name": "receiver", "type": "address", "indexed": true }, + { "name": "route", "type": "address[9]", "indexed": false }, + { "name": "swap_params", "type": "uint256[3][4]", "indexed": false }, + { "name": "pools", "type": "address[4]", "indexed": false }, + { "name": "amount_sold", "type": "uint256", "indexed": false }, + { "name": "amount_bought", "type": "uint256", "indexed": false } + ], + "anonymous": false, + "type": "event" + }, + { + "stateMutability": "nonpayable", + "type": "constructor", + "inputs": [ + { "name": "_address_provider", "type": "address" }, + { "name": "_calculator", "type": "address" }, + { "name": "_weth", "type": "address" } + ], + "outputs": [] + }, + { "stateMutability": "payable", "type": "fallback" }, + { + "stateMutability": "payable", + "type": "function", + "name": "exchange_with_best_rate", + "inputs": [ + { "name": "_from", "type": "address" }, + { "name": "_to", "type": "address" }, + { "name": "_amount", "type": "uint256" }, + { "name": "_expected", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }] + }, + { + "stateMutability": "payable", + "type": "function", + "name": "exchange_with_best_rate", + "inputs": [ + { "name": "_from", "type": "address" }, + { "name": "_to", "type": "address" }, + { "name": "_amount", "type": "uint256" }, + { "name": "_expected", "type": "uint256" }, + { "name": "_receiver", "type": "address" } + ], + "outputs": [{ "name": "", "type": "uint256" }] + }, + { + "stateMutability": "payable", + "type": "function", + "name": "exchange", + "inputs": [ + { "name": "_pool", "type": "address" }, + { "name": "_from", "type": "address" }, + { "name": "_to", "type": "address" }, + { "name": "_amount", "type": "uint256" }, + { "name": "_expected", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }] + }, + { + "stateMutability": "payable", + "type": "function", + "name": "exchange", + "inputs": [ + { "name": "_pool", "type": "address" }, + { "name": "_from", "type": "address" }, + { "name": "_to", "type": "address" }, + { "name": "_amount", "type": "uint256" }, + { "name": "_expected", "type": "uint256" }, + { "name": "_receiver", "type": "address" } + ], + "outputs": [{ "name": "", "type": "uint256" }] + }, + { + "stateMutability": "payable", + "type": "function", + "name": "exchange_multiple", + "inputs": [ + { "name": "_route", "type": "address[9]" }, + { "name": "_swap_params", "type": "uint256[3][4]" }, + { "name": "_amount", "type": "uint256" }, + { "name": "_expected", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }] + }, + { + "stateMutability": "payable", + "type": "function", + "name": "exchange_multiple", + "inputs": [ + { "name": "_route", "type": "address[9]" }, + { "name": "_swap_params", "type": "uint256[3][4]" }, + { "name": "_amount", "type": "uint256" }, + { "name": "_expected", "type": "uint256" }, + { "name": "_pools", "type": "address[4]" } + ], + "outputs": [{ "name": "", "type": "uint256" }] + }, + { + "stateMutability": "payable", + "type": "function", + "name": "exchange_multiple", + "inputs": [ + { "name": "_route", "type": "address[9]" }, + { "name": "_swap_params", "type": "uint256[3][4]" }, + { "name": "_amount", "type": "uint256" }, + { "name": "_expected", "type": "uint256" }, + { "name": "_pools", "type": "address[4]" }, + { "name": "_receiver", "type": "address" } + ], + "outputs": [{ "name": "", "type": "uint256" }] + }, + { + "stateMutability": "view", + "type": "function", + "name": "get_best_rate", + "inputs": [ + { "name": "_from", "type": "address" }, + { "name": "_to", "type": "address" }, + { "name": "_amount", "type": "uint256" } + ], + "outputs": [ + { "name": "", "type": "address" }, + { "name": "", "type": "uint256" } + ] + }, + { + "stateMutability": "view", + "type": "function", + "name": "get_best_rate", + "inputs": [ + { "name": "_from", "type": "address" }, + { "name": "_to", "type": "address" }, + { "name": "_amount", "type": "uint256" }, + { "name": "_exclude_pools", "type": "address[8]" } + ], + "outputs": [ + { "name": "", "type": "address" }, + { "name": "", "type": "uint256" } + ] + }, + { + "stateMutability": "view", + "type": "function", + "name": "get_exchange_amount", + "inputs": [ + { "name": "_pool", "type": "address" }, + { "name": "_from", "type": "address" }, + { "name": "_to", "type": "address" }, + { "name": "_amount", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }] + }, + { + "stateMutability": "view", + "type": "function", + "name": "get_input_amount", + "inputs": [ + { "name": "_pool", "type": "address" }, + { "name": "_from", "type": "address" }, + { "name": "_to", "type": "address" }, + { "name": "_amount", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }] + }, + { + "stateMutability": "view", + "type": "function", + "name": "get_exchange_amounts", + "inputs": [ + { "name": "_pool", "type": "address" }, + { "name": "_from", "type": "address" }, + { "name": "_to", "type": "address" }, + { "name": "_amounts", "type": "uint256[100]" } + ], + "outputs": [{ "name": "", "type": "uint256[100]" }] + }, + { + "stateMutability": "view", + "type": "function", + "name": "get_exchange_multiple_amount", + "inputs": [ + { "name": "_route", "type": "address[9]" }, + { "name": "_swap_params", "type": "uint256[3][4]" }, + { "name": "_amount", "type": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256" }] + }, + { + "stateMutability": "view", + "type": "function", + "name": "get_exchange_multiple_amount", + "inputs": [ + { "name": "_route", "type": "address[9]" }, + { "name": "_swap_params", "type": "uint256[3][4]" }, + { "name": "_amount", "type": "uint256" }, + { "name": "_pools", "type": "address[4]" } + ], + "outputs": [{ "name": "", "type": "uint256" }] + }, + { + "stateMutability": "view", + "type": "function", + "name": "get_calculator", + "inputs": [{ "name": "_pool", "type": "address" }], + "outputs": [{ "name": "", "type": "address" }] + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "update_registry_address", + "inputs": [], + "outputs": [{ "name": "", "type": "bool" }] + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "set_calculator", + "inputs": [ + { "name": "_pool", "type": "address" }, + { "name": "_calculator", "type": "address" } + ], + "outputs": [{ "name": "", "type": "bool" }] + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "set_default_calculator", + "inputs": [{ "name": "_calculator", "type": "address" }], + "outputs": [{ "name": "", "type": "bool" }] + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "claim_balance", + "inputs": [{ "name": "_token", "type": "address" }], + "outputs": [{ "name": "", "type": "bool" }] + }, + { + "stateMutability": "nonpayable", + "type": "function", + "name": "set_killed", + "inputs": [{ "name": "_is_killed", "type": "bool" }], + "outputs": [{ "name": "", "type": "bool" }] + }, + { + "stateMutability": "view", + "type": "function", + "name": "registry", + "inputs": [], + "outputs": [{ "name": "", "type": "address" }] + }, + { + "stateMutability": "view", + "type": "function", + "name": "factory_registry", + "inputs": [], + "outputs": [{ "name": "", "type": "address" }] + }, + { + "stateMutability": "view", + "type": "function", + "name": "crypto_registry", + "inputs": [], + "outputs": [{ "name": "", "type": "address" }] + }, + { + "stateMutability": "view", + "type": "function", + "name": "default_calculator", + "inputs": [], + "outputs": [{ "name": "", "type": "address" }] + }, + { + "stateMutability": "view", + "type": "function", + "name": "is_killed", + "inputs": [], + "outputs": [{ "name": "", "type": "bool" }] + } + ], + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/dapp-oeth/abis/Flipper.json b/dapp-oeth/abis/Flipper.json new file mode 100644 index 0000000000..7d064d83af --- /dev/null +++ b/dapp-oeth/abis/Flipper.json @@ -0,0 +1,231 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Flipper", + "sourceName": "contracts/flipper/Flipper.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_dai", + "type": "address" + }, + { + "internalType": "address", + "name": "_ousd", + "type": "address" + }, + { + "internalType": "address", + "name": "_usdc", + "type": "address" + }, + { + "internalType": "address", + "name": "_usdt", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithDai", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithUsdc", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithUsdt", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseOptIn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForDai", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForUsdc", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForUsdt", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6101006040523480156200001257600080fd5b50604051620018ba380380620018ba833981016040819052620000359162000132565b6200004d336000805160206200189a83398151915255565b6000805160206200189a833981519152546040516001600160a01b03909116906000907fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a908290a36001600160a01b038416620000a957600080fd5b6001600160a01b038316620000bd57600080fd5b6001600160a01b038216620000d157600080fd5b6001600160a01b038116620000e557600080fd5b6001600160601b0319606094851b811660805292841b831660a05290831b821660c05290911b1660e0526200018f565b80516001600160a01b03811681146200012d57600080fd5b919050565b600080600080608085870312156200014957600080fd5b620001548562000115565b9350620001646020860162000115565b9250620001746040860162000115565b9150620001846060860162000115565b905092959194509250565b60805160601c60a05160601c60c05160601c60e05160601c61165c6200023e6000396000818161021d015281816107ed0152818161087b0152610d920152600081816108d00152818161095c01528181610b1a0152610c370152600081816102bd015281816104b40152818161070c0152818161079801528181610aad01528181610e3a01526110260152600081816103cb0152818161062b015281816106b701526109d0015261165c6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063bfc11ffd1161008c578063cb93905311610066578063cb93905314610182578063d38bfff414610195578063f3fef3a3146101a8578063f51b0fd4146101bb57600080fd5b8063bfc11ffd14610144578063c6b6816914610157578063c7af33521461016a57600080fd5b80630c340a24146100d457806335aa0b96146100f95780635981c7461461010e5780635d36b19014610121578063853828b6146101295780638a095a0f14610131575b600080fd5b6100dc6101c3565b6040516001600160a01b0390911681526020015b60405180910390f35b61010c610107366004611486565b6101e0565b005b61010c61011c366004611486565b61038a565b61010c6104eb565b61010c610591565b61010c61013f366004611486565b61098a565b61010c610152366004611486565b610ae6565b61010c610165366004611486565b610c03565b610172610d2d565b60405190151581526020016100f0565b61010c610190366004611486565b610d5e565b61010c6101a336600461141f565b610e75565b61010c6101b636600461143a565b610f19565b61010c610fb8565b60006101db6000805160206116078339815191525490565b905090565b69054b40b1f852bda000008111156102135760405162461bcd60e51b815260040161020a90611562565b60405180910390fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166323b872dd333061025364e8d4a51000866115b4565b6040518463ffffffff1660e01b8152600401610271939291906114d4565b600060405180830381600087803b15801561028b57600080fd5b505af115801561029f573d6000803e3d6000fd5b505060405163a9059cbb60e01b8152336004820152602481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316925063a9059cbb91506044015b602060405180830381600087803b15801561030c57600080fd5b505af1158015610320573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103449190611464565b6103875760405162461bcd60e51b815260206004820152601460248201527313d554d1081d1c985b9cd9995c8819985a5b195960621b604482015260640161020a565b50565b69054b40b1f852bda000008111156103b45760405162461bcd60e51b815260040161020a90611562565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610404903390309086906004016114d4565b602060405180830381600087803b15801561041e57600080fd5b505af1158015610432573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104569190611464565b6104985760405162461bcd60e51b8152602060048201526013602482015272111052481d1c985b9cd9995c8819985a5b1959606a1b604482015260640161020a565b60405163a9059cbb60e01b8152336004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016102f2565b7f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db546001600160a01b0316336001600160a01b0316146105865760405162461bcd60e51b815260206004820152603060248201527f4f6e6c79207468652070656e64696e6720476f7665726e6f722063616e20636f60448201526f6d706c6574652074686520636c61696d60801b606482015260840161020a565b61058f3361109f565b565b610599610d2d565b6105b55760405162461bcd60e51b815260040161020a9061152b565b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac4535805460028114156105f95760405162461bcd60e51b815260040161020a9061158c565b600282556106de6106166000805160206116078339815191525490565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561067557600080fd5b505afa158015610689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ad919061149f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611160565b6107bf6106f76000805160206116078339815191525490565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561075657600080fd5b505afa15801561076a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078e919061149f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611160565b6108a26107d86000805160206116078339815191525490565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381600087803b15801561083957600080fd5b505af115801561084d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610871919061149f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611160565b6109836108bb6000805160206116078339815191525490565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561091a57600080fd5b505afa15801561092e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610952919061149f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611160565b5060019055565b69054b40b1f852bda000008111156109b45760405162461bcd60e51b815260040161020a90611562565b60405163a9059cbb60e01b8152336004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb90604401602060405180830381600087803b158015610a1c57600080fd5b505af1158015610a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a549190611464565b610a965760405162461bcd60e51b8152602060048201526013602482015272111052481d1c985b9cd9995c8819985a5b1959606a1b604482015260640161020a565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906102f2903390309086906004016114d4565b69054b40b1f852bda00000811115610b105760405162461bcd60e51b815260040161020a90611562565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166323b872dd3330610b5064e8d4a51000866115b4565b6040518463ffffffff1660e01b8152600401610b6e939291906114d4565b602060405180830381600087803b158015610b8857600080fd5b505af1158015610b9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc09190611464565b6104985760405162461bcd60e51b81526020600482015260146024820152731554d110c81d1c985b9cd9995c8819985a5b195960621b604482015260640161020a565b69054b40b1f852bda00000811115610c2d5760405162461bcd60e51b815260040161020a90611562565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663a9059cbb33610c6c64e8d4a51000856115b4565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015610cb257600080fd5b505af1158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea9190611464565b610a965760405162461bcd60e51b81526020600482015260146024820152731554d110c81d1c985b9cd9995c8819985a5b195960621b604482015260640161020a565b6000610d456000805160206116078339815191525490565b6001600160a01b0316336001600160a01b031614905090565b69054b40b1f852bda00000811115610d885760405162461bcd60e51b815260040161020a90611562565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663a9059cbb33610dc764e8d4a51000856115b4565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015610e0d57600080fd5b505af1158015610e21573d6000803e3d6000fd5b50506040516323b872dd60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692506323b872dd91506102f2903390309086906004016114d4565b610e7d610d2d565b610e995760405162461bcd60e51b815260040161020a9061152b565b610ec1817f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db55565b806001600160a01b0316610ee16000805160206116078339815191525490565b6001600160a01b03167fa39cc5eb22d0f34d8beaefee8a3f17cc229c1a1d1ef87a5ad47313487b1c4f0d60405160405180910390a350565b610f21610d2d565b610f3d5760405162461bcd60e51b815260040161020a9061152b565b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac453580546002811415610f815760405162461bcd60e51b815260040161020a9061158c565b60028255610faf610f9e6000805160206116078339815191525490565b6001600160a01b0386169085611160565b50600190555050565b610fc0610d2d565b610fdc5760405162461bcd60e51b815260040161020a9061152b565b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac4535805460028114156110205760405162461bcd60e51b815260040161020a9061158c565b600282557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f51b0fd46040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107f57600080fd5b505af1158015611093573d6000803e3d6000fd5b50505050600182555050565b6001600160a01b0381166110f55760405162461bcd60e51b815260206004820152601a60248201527f4e657720476f7665726e6f722069732061646472657373283029000000000000604482015260640161020a565b806001600160a01b03166111156000805160206116078339815191525490565b6001600160a01b03167fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a60405160405180910390a36103878160008051602061160783398151915255565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111b29084906111b7565b505050565b600061120c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166112899092919063ffffffff16565b8051909150156111b2578080602001905181019061122a9190611464565b6111b25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161020a565b606061129884846000856112a2565b90505b9392505050565b6060824710156113035760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161020a565b843b6113515760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161020a565b600080866001600160a01b0316858760405161136d91906114b8565b60006040518083038185875af1925050503d80600081146113aa576040519150601f19603f3d011682016040523d82523d6000602084013e6113af565b606091505b50915091506113bf8282866113ca565b979650505050505050565b606083156113d957508161129b565b8251156113e95782518084602001fd5b8160405162461bcd60e51b815260040161020a91906114f8565b80356001600160a01b038116811461141a57600080fd5b919050565b60006020828403121561143157600080fd5b61129b82611403565b6000806040838503121561144d57600080fd5b61145683611403565b946020939093013593505050565b60006020828403121561147657600080fd5b8151801515811461129b57600080fd5b60006020828403121561149857600080fd5b5035919050565b6000602082840312156114b157600080fd5b5051919050565b600082516114ca8184602087016115d6565b9190910192915050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60208152600082518060208401526115178160408501602087016115d6565b601f01601f19169190910160400192915050565b6020808252601a908201527f43616c6c6572206973206e6f742074686520476f7665726e6f72000000000000604082015260600190565b60208082526010908201526f416d6f756e7420746f6f206c6172676560801b604082015260600190565b6020808252600e908201526d1499595b9d1c985b9d0818d85b1b60921b604082015260600190565b6000826115d157634e487b7160e01b600052601260045260246000fd5b500490565b60005b838110156115f15781810151838201526020016115d9565b83811115611600576000848401525b5050505056fe7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4aa2646970667358221220de5427febdef50e4707714b2e0dfb29a3f79546b9c8b263b0745d60c503c00ee64736f6c634300080700337bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063bfc11ffd1161008c578063cb93905311610066578063cb93905314610182578063d38bfff414610195578063f3fef3a3146101a8578063f51b0fd4146101bb57600080fd5b8063bfc11ffd14610144578063c6b6816914610157578063c7af33521461016a57600080fd5b80630c340a24146100d457806335aa0b96146100f95780635981c7461461010e5780635d36b19014610121578063853828b6146101295780638a095a0f14610131575b600080fd5b6100dc6101c3565b6040516001600160a01b0390911681526020015b60405180910390f35b61010c610107366004611486565b6101e0565b005b61010c61011c366004611486565b61038a565b61010c6104eb565b61010c610591565b61010c61013f366004611486565b61098a565b61010c610152366004611486565b610ae6565b61010c610165366004611486565b610c03565b610172610d2d565b60405190151581526020016100f0565b61010c610190366004611486565b610d5e565b61010c6101a336600461141f565b610e75565b61010c6101b636600461143a565b610f19565b61010c610fb8565b60006101db6000805160206116078339815191525490565b905090565b69054b40b1f852bda000008111156102135760405162461bcd60e51b815260040161020a90611562565b60405180910390fd5b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166323b872dd333061025364e8d4a51000866115b4565b6040518463ffffffff1660e01b8152600401610271939291906114d4565b600060405180830381600087803b15801561028b57600080fd5b505af115801561029f573d6000803e3d6000fd5b505060405163a9059cbb60e01b8152336004820152602481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316925063a9059cbb91506044015b602060405180830381600087803b15801561030c57600080fd5b505af1158015610320573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103449190611464565b6103875760405162461bcd60e51b815260206004820152601460248201527313d554d1081d1c985b9cd9995c8819985a5b195960621b604482015260640161020a565b50565b69054b40b1f852bda000008111156103b45760405162461bcd60e51b815260040161020a90611562565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610404903390309086906004016114d4565b602060405180830381600087803b15801561041e57600080fd5b505af1158015610432573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104569190611464565b6104985760405162461bcd60e51b8152602060048201526013602482015272111052481d1c985b9cd9995c8819985a5b1959606a1b604482015260640161020a565b60405163a9059cbb60e01b8152336004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016102f2565b7f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db546001600160a01b0316336001600160a01b0316146105865760405162461bcd60e51b815260206004820152603060248201527f4f6e6c79207468652070656e64696e6720476f7665726e6f722063616e20636f60448201526f6d706c6574652074686520636c61696d60801b606482015260840161020a565b61058f3361109f565b565b610599610d2d565b6105b55760405162461bcd60e51b815260040161020a9061152b565b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac4535805460028114156105f95760405162461bcd60e51b815260040161020a9061158c565b600282556106de6106166000805160206116078339815191525490565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561067557600080fd5b505afa158015610689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ad919061149f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611160565b6107bf6106f76000805160206116078339815191525490565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561075657600080fd5b505afa15801561076a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078e919061149f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611160565b6108a26107d86000805160206116078339815191525490565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381600087803b15801561083957600080fd5b505af115801561084d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610871919061149f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611160565b6109836108bb6000805160206116078339815191525490565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a082319060240160206040518083038186803b15801561091a57600080fd5b505afa15801561092e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610952919061149f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190611160565b5060019055565b69054b40b1f852bda000008111156109b45760405162461bcd60e51b815260040161020a90611562565b60405163a9059cbb60e01b8152336004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb90604401602060405180830381600087803b158015610a1c57600080fd5b505af1158015610a30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a549190611464565b610a965760405162461bcd60e51b8152602060048201526013602482015272111052481d1c985b9cd9995c8819985a5b1959606a1b604482015260640161020a565b6040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906102f2903390309086906004016114d4565b69054b40b1f852bda00000811115610b105760405162461bcd60e51b815260040161020a90611562565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166323b872dd3330610b5064e8d4a51000866115b4565b6040518463ffffffff1660e01b8152600401610b6e939291906114d4565b602060405180830381600087803b158015610b8857600080fd5b505af1158015610b9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc09190611464565b6104985760405162461bcd60e51b81526020600482015260146024820152731554d110c81d1c985b9cd9995c8819985a5b195960621b604482015260640161020a565b69054b40b1f852bda00000811115610c2d5760405162461bcd60e51b815260040161020a90611562565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663a9059cbb33610c6c64e8d4a51000856115b4565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381600087803b158015610cb257600080fd5b505af1158015610cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cea9190611464565b610a965760405162461bcd60e51b81526020600482015260146024820152731554d110c81d1c985b9cd9995c8819985a5b195960621b604482015260640161020a565b6000610d456000805160206116078339815191525490565b6001600160a01b0316336001600160a01b031614905090565b69054b40b1f852bda00000811115610d885760405162461bcd60e51b815260040161020a90611562565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663a9059cbb33610dc764e8d4a51000856115b4565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015610e0d57600080fd5b505af1158015610e21573d6000803e3d6000fd5b50506040516323b872dd60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001692506323b872dd91506102f2903390309086906004016114d4565b610e7d610d2d565b610e995760405162461bcd60e51b815260040161020a9061152b565b610ec1817f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db55565b806001600160a01b0316610ee16000805160206116078339815191525490565b6001600160a01b03167fa39cc5eb22d0f34d8beaefee8a3f17cc229c1a1d1ef87a5ad47313487b1c4f0d60405160405180910390a350565b610f21610d2d565b610f3d5760405162461bcd60e51b815260040161020a9061152b565b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac453580546002811415610f815760405162461bcd60e51b815260040161020a9061158c565b60028255610faf610f9e6000805160206116078339815191525490565b6001600160a01b0386169085611160565b50600190555050565b610fc0610d2d565b610fdc5760405162461bcd60e51b815260040161020a9061152b565b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac4535805460028114156110205760405162461bcd60e51b815260040161020a9061158c565b600282557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f51b0fd46040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107f57600080fd5b505af1158015611093573d6000803e3d6000fd5b50505050600182555050565b6001600160a01b0381166110f55760405162461bcd60e51b815260206004820152601a60248201527f4e657720476f7665726e6f722069732061646472657373283029000000000000604482015260640161020a565b806001600160a01b03166111156000805160206116078339815191525490565b6001600160a01b03167fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a60405160405180910390a36103878160008051602061160783398151915255565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111b29084906111b7565b505050565b600061120c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166112899092919063ffffffff16565b8051909150156111b2578080602001905181019061122a9190611464565b6111b25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161020a565b606061129884846000856112a2565b90505b9392505050565b6060824710156113035760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161020a565b843b6113515760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161020a565b600080866001600160a01b0316858760405161136d91906114b8565b60006040518083038185875af1925050503d80600081146113aa576040519150601f19603f3d011682016040523d82523d6000602084013e6113af565b606091505b50915091506113bf8282866113ca565b979650505050505050565b606083156113d957508161129b565b8251156113e95782518084602001fd5b8160405162461bcd60e51b815260040161020a91906114f8565b80356001600160a01b038116811461141a57600080fd5b919050565b60006020828403121561143157600080fd5b61129b82611403565b6000806040838503121561144d57600080fd5b61145683611403565b946020939093013593505050565b60006020828403121561147657600080fd5b8151801515811461129b57600080fd5b60006020828403121561149857600080fd5b5035919050565b6000602082840312156114b157600080fd5b5051919050565b600082516114ca8184602087016115d6565b9190910192915050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60208152600082518060208401526115178160408501602087016115d6565b601f01601f19169190910160400192915050565b6020808252601a908201527f43616c6c6572206973206e6f742074686520476f7665726e6f72000000000000604082015260600190565b60208082526010908201526f416d6f756e7420746f6f206c6172676560801b604082015260600190565b6020808252600e908201526d1499595b9d1c985b9d0818d85b1b60921b604082015260600190565b6000826115d157634e487b7160e01b600052601260045260246000fd5b500490565b60005b838110156115f15781810151838201526020016115d9565b83811115611600576000848401525b5050505056fe7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4aa2646970667358221220de5427febdef50e4707714b2e0dfb29a3f79546b9c8b263b0745d60c503c00ee64736f6c63430008070033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/dapp-oeth/abis/FlipperDev.json b/dapp-oeth/abis/FlipperDev.json new file mode 100644 index 0000000000..fdd56dd8fa --- /dev/null +++ b/dapp-oeth/abis/FlipperDev.json @@ -0,0 +1,258 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "FlipperDev", + "sourceName": "contracts/flipper/FlipperDev.sol", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithUsdt", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithDai", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForDai", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithUsdc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForUsdc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForUsdt", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebaseOptIn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "dai_", + "type": "address" + }, + { + "internalType": "address", + "name": "ousd_", + "type": "address" + }, + { + "internalType": "address", + "name": "usdc_", + "type": "address" + }, + { + "internalType": "address", + "name": "usdt_", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ], + "bytecode": "0x6080604052600080546001600160a01b0319908116909155600180548216905560028054821690556003805490911690553480156200003d57600080fd5b506040516200169c3803806200169c833981810160405260808110156200006357600080fd5b50805160208201516040830151606090930151919290916200008e336001600160e01b036200018216565b620000a16001600160e01b036200019516565b6001600160a01b031660006001600160a01b03167fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a60405160405180910390a3600080546001600160a01b03199081166001600160a01b038781169190911790925560018054821686841617908190556002805483168685161790556003805490921684841617909155166200013657600080fd5b6000546001600160a01b03166200014c57600080fd5b6002546001600160a01b03166200016257600080fd5b6003546001600160a01b03166200017857600080fd5b50505050620001a9565b6000805160206200167c83398151915255565b6000805160206200167c8339815191525490565b6114c380620001b96000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063bfc11ffd1161008c578063cb93905311610066578063cb939053146101b7578063d38bfff4146101d4578063f3fef3a3146101fa578063f51b0fd414610226576100cf565b8063bfc11ffd14610161578063c6b681691461017e578063c7af33521461019b576100cf565b80630c340a24146100d457806335aa0b96146100f85780635981c746146101175780635d36b19014610134578063853828b61461013c5780638a095a0f14610144575b600080fd5b6100dc61022e565b604080516001600160a01b039092168252519081900360200190f35b6101156004803603602081101561010e57600080fd5b503561023d565b005b6101156004803603602081101561012d57600080fd5b50356103d1565b610115610545565b6101156105a7565b6101156004803603602081101561015a57600080fd5b50356108e0565b6101156004803603602081101561017757600080fd5b5035610a54565b6101156004803603602081101561019457600080fd5b5035610b7a565b6101a3610c9a565b604080519115158252519081900360200190f35b610115600480360360208110156101cd57600080fd5b5035610cbd565b610115600480360360208110156101ea57600080fd5b50356001600160a01b0316610dda565b6101156004803603604081101561021057600080fd5b506001600160a01b038135169060200135610e83565b610115610f72565b60006102386110a6565b905090565b69054b40b1f852bda0000081111561028f576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b600354604080516323b872dd60e01b815233600482015230602482015264e8d4a510008404604482015290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b1580156102ee57600080fd5b505af1158015610302573d6000803e3d6000fd5b50506001546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b03909216935063a9059cbb92506044808201926020929091908290030181600087803b15801561035a57600080fd5b505af115801561036e573d6000803e3d6000fd5b505050506040513d602081101561038457600080fd5b50516103ce576040805162461bcd60e51b815260206004820152601460248201527313d554d1081d1c985b9cd9995c8819985a5b195960621b604482015290519081900360640190fd5b50565b69054b40b1f852bda00000811115610423576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b60008054604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b03909216926323b872dd926064808401936020939083900390910190829087803b15801561047e57600080fd5b505af1158015610492573d6000803e3d6000fd5b505050506040513d60208110156104a857600080fd5b50516104f1576040805162461bcd60e51b8152602060048201526013602482015272111052481d1c985b9cd9995c8819985a5b1959606a1b604482015290519081900360640190fd5b6001546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561035a57600080fd5b61054d6110cb565b6001600160a01b0316336001600160a01b03161461059c5760405162461bcd60e51b815260040180806020018281038252603081526020018061145f6030913960400191505060405180910390fd5b6105a5336110f0565b565b6105af610c9a565b6105fd576040805162461bcd60e51b815260206004820152601a60248201527921b0b63632b91034b9903737ba103a34329023b7bb32b93737b960311b604482015290519081900360640190fd5b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac453580546002811415610667576040805162461bcd60e51b815260206004820152600e60248201526d1499595b9d1c985b9d0818d85b1b60921b604482015290519081900360640190fd5b600282556107066106766110a6565b600054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156106c157600080fd5b505afa1580156106d5573d6000803e3d6000fd5b505050506040513d60208110156106eb57600080fd5b50516000546001600160a01b0316919063ffffffff61119b16565b6107a16107116110a6565b600154604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b50516001546001600160a01b0316919063ffffffff61119b16565b61083e6107ac6110a6565b600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a08231916024808201926020929091908290030181600087803b1580156107f957600080fd5b505af115801561080d573d6000803e3d6000fd5b505050506040513d602081101561082357600080fd5b50516003546001600160a01b0316919063ffffffff61119b16565b6108d96108496110a6565b600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561089457600080fd5b505afa1580156108a8573d6000803e3d6000fd5b505050506040513d60208110156108be57600080fd5b50516002546001600160a01b0316919063ffffffff61119b16565b5060019055565b69054b40b1f852bda00000811115610932576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b600080546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169263a9059cbb926044808401936020939083900390910190829087803b15801561098757600080fd5b505af115801561099b573d6000803e3d6000fd5b505050506040513d60208110156109b157600080fd5b50516109fa576040805162461bcd60e51b8152602060048201526013602482015272111052481d1c985b9cd9995c8819985a5b1959606a1b604482015290519081900360640190fd5b600154604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561035a57600080fd5b69054b40b1f852bda00000811115610aa6576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b600254604080516323b872dd60e01b815233600482015230602482015264e8d4a510008404604482015290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610b0657600080fd5b505af1158015610b1a573d6000803e3d6000fd5b505050506040513d6020811015610b3057600080fd5b50516104f1576040805162461bcd60e51b81526020600482015260146024820152731554d110c81d1c985b9cd9995c8819985a5b195960621b604482015290519081900360640190fd5b69054b40b1f852bda00000811115610bcc576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b6002546040805163a9059cbb60e01b815233600482015264e8d4a510008404602482015290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610c2657600080fd5b505af1158015610c3a573d6000803e3d6000fd5b505050506040513d6020811015610c5057600080fd5b50516109fa576040805162461bcd60e51b81526020600482015260146024820152731554d110c81d1c985b9cd9995c8819985a5b195960621b604482015290519081900360640190fd5b6000610ca46110a6565b6001600160a01b0316336001600160a01b031614905090565b69054b40b1f852bda00000811115610d0f576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b6003546040805163a9059cbb60e01b815233600482015264e8d4a510008404602482015290516001600160a01b039092169163a9059cbb9160448082019260009290919082900301818387803b158015610d6857600080fd5b505af1158015610d7c573d6000803e3d6000fd5b5050600154604080516323b872dd60e01b81523360048201523060248201526044810186905290516001600160a01b0390921693506323b872dd92506064808201926020929091908290030181600087803b15801561035a57600080fd5b610de2610c9a565b610e30576040805162461bcd60e51b815260206004820152601a60248201527921b0b63632b91034b9903737ba103a34329023b7bb32b93737b960311b604482015290519081900360640190fd5b610e39816111f2565b806001600160a01b0316610e4b6110a6565b6001600160a01b03167fa39cc5eb22d0f34d8beaefee8a3f17cc229c1a1d1ef87a5ad47313487b1c4f0d60405160405180910390a350565b610e8b610c9a565b610ed9576040805162461bcd60e51b815260206004820152601a60248201527921b0b63632b91034b9903737ba103a34329023b7bb32b93737b960311b604482015290519081900360640190fd5b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac453580546002811415610f43576040805162461bcd60e51b815260206004820152600e60248201526d1499595b9d1c985b9d0818d85b1b60921b604482015290519081900360640190fd5b60028255610f69610f526110a6565b6001600160a01b038616908563ffffffff61119b16565b50600190555050565b610f7a610c9a565b610fc8576040805162461bcd60e51b815260206004820152601a60248201527921b0b63632b91034b9903737ba103a34329023b7bb32b93737b960311b604482015290519081900360640190fd5b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac453580546002811415611032576040805162461bcd60e51b815260206004820152600e60248201526d1499595b9d1c985b9d0818d85b1b60921b604482015290519081900360640190fd5b60028255600160009054906101000a90046001600160a01b03166001600160a01b031663f51b0fd46040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561108657600080fd5b505af115801561109a573d6000803e3d6000fd5b50505050600182555050565b7f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a5490565b7f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db5490565b6001600160a01b03811661114b576040805162461bcd60e51b815260206004820152601a60248201527f4e657720476f7665726e6f722069732061646472657373283029000000000000604482015290519081900360640190fd5b806001600160a01b031661115d6110a6565b6001600160a01b03167fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a60405160405180910390a36103ce81611216565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111ed90849061123a565b505050565b7f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db55565b7f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a55565b61124c826001600160a01b03166113f8565b61129d576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106112db5780518252601f1990920191602091820191016112bc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461133d576040519150601f19603f3d011682016040523d82523d6000602084013e611342565b606091505b509150915081611399576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156113f2578080602001905160208110156113b557600080fd5b50516113f25760405162461bcd60e51b815260040180806020018281038252602a815260200180611435602a913960400191505060405180910390fd5b50505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061142c57508115155b94935050505056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644f6e6c79207468652070656e64696e6720476f7665726e6f722063616e20636f6d706c6574652074686520636c61696da265627a7a7231582022b0de6bf6e575cb7bab5d84d6866fd2ac4a9c18c7fc778cfb13b64048835ba564736f6c634300050b00327bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063bfc11ffd1161008c578063cb93905311610066578063cb939053146101b7578063d38bfff4146101d4578063f3fef3a3146101fa578063f51b0fd414610226576100cf565b8063bfc11ffd14610161578063c6b681691461017e578063c7af33521461019b576100cf565b80630c340a24146100d457806335aa0b96146100f85780635981c746146101175780635d36b19014610134578063853828b61461013c5780638a095a0f14610144575b600080fd5b6100dc61022e565b604080516001600160a01b039092168252519081900360200190f35b6101156004803603602081101561010e57600080fd5b503561023d565b005b6101156004803603602081101561012d57600080fd5b50356103d1565b610115610545565b6101156105a7565b6101156004803603602081101561015a57600080fd5b50356108e0565b6101156004803603602081101561017757600080fd5b5035610a54565b6101156004803603602081101561019457600080fd5b5035610b7a565b6101a3610c9a565b604080519115158252519081900360200190f35b610115600480360360208110156101cd57600080fd5b5035610cbd565b610115600480360360208110156101ea57600080fd5b50356001600160a01b0316610dda565b6101156004803603604081101561021057600080fd5b506001600160a01b038135169060200135610e83565b610115610f72565b60006102386110a6565b905090565b69054b40b1f852bda0000081111561028f576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b600354604080516323b872dd60e01b815233600482015230602482015264e8d4a510008404604482015290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b1580156102ee57600080fd5b505af1158015610302573d6000803e3d6000fd5b50506001546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b03909216935063a9059cbb92506044808201926020929091908290030181600087803b15801561035a57600080fd5b505af115801561036e573d6000803e3d6000fd5b505050506040513d602081101561038457600080fd5b50516103ce576040805162461bcd60e51b815260206004820152601460248201527313d554d1081d1c985b9cd9995c8819985a5b195960621b604482015290519081900360640190fd5b50565b69054b40b1f852bda00000811115610423576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b60008054604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b03909216926323b872dd926064808401936020939083900390910190829087803b15801561047e57600080fd5b505af1158015610492573d6000803e3d6000fd5b505050506040513d60208110156104a857600080fd5b50516104f1576040805162461bcd60e51b8152602060048201526013602482015272111052481d1c985b9cd9995c8819985a5b1959606a1b604482015290519081900360640190fd5b6001546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561035a57600080fd5b61054d6110cb565b6001600160a01b0316336001600160a01b03161461059c5760405162461bcd60e51b815260040180806020018281038252603081526020018061145f6030913960400191505060405180910390fd5b6105a5336110f0565b565b6105af610c9a565b6105fd576040805162461bcd60e51b815260206004820152601a60248201527921b0b63632b91034b9903737ba103a34329023b7bb32b93737b960311b604482015290519081900360640190fd5b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac453580546002811415610667576040805162461bcd60e51b815260206004820152600e60248201526d1499595b9d1c985b9d0818d85b1b60921b604482015290519081900360640190fd5b600282556107066106766110a6565b600054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156106c157600080fd5b505afa1580156106d5573d6000803e3d6000fd5b505050506040513d60208110156106eb57600080fd5b50516000546001600160a01b0316919063ffffffff61119b16565b6107a16107116110a6565b600154604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d602081101561078657600080fd5b50516001546001600160a01b0316919063ffffffff61119b16565b61083e6107ac6110a6565b600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a08231916024808201926020929091908290030181600087803b1580156107f957600080fd5b505af115801561080d573d6000803e3d6000fd5b505050506040513d602081101561082357600080fd5b50516003546001600160a01b0316919063ffffffff61119b16565b6108d96108496110a6565b600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561089457600080fd5b505afa1580156108a8573d6000803e3d6000fd5b505050506040513d60208110156108be57600080fd5b50516002546001600160a01b0316919063ffffffff61119b16565b5060019055565b69054b40b1f852bda00000811115610932576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b600080546040805163a9059cbb60e01b81523360048201526024810185905290516001600160a01b039092169263a9059cbb926044808401936020939083900390910190829087803b15801561098757600080fd5b505af115801561099b573d6000803e3d6000fd5b505050506040513d60208110156109b157600080fd5b50516109fa576040805162461bcd60e51b8152602060048201526013602482015272111052481d1c985b9cd9995c8819985a5b1959606a1b604482015290519081900360640190fd5b600154604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561035a57600080fd5b69054b40b1f852bda00000811115610aa6576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b600254604080516323b872dd60e01b815233600482015230602482015264e8d4a510008404604482015290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610b0657600080fd5b505af1158015610b1a573d6000803e3d6000fd5b505050506040513d6020811015610b3057600080fd5b50516104f1576040805162461bcd60e51b81526020600482015260146024820152731554d110c81d1c985b9cd9995c8819985a5b195960621b604482015290519081900360640190fd5b69054b40b1f852bda00000811115610bcc576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b6002546040805163a9059cbb60e01b815233600482015264e8d4a510008404602482015290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610c2657600080fd5b505af1158015610c3a573d6000803e3d6000fd5b505050506040513d6020811015610c5057600080fd5b50516109fa576040805162461bcd60e51b81526020600482015260146024820152731554d110c81d1c985b9cd9995c8819985a5b195960621b604482015290519081900360640190fd5b6000610ca46110a6565b6001600160a01b0316336001600160a01b031614905090565b69054b40b1f852bda00000811115610d0f576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b6003546040805163a9059cbb60e01b815233600482015264e8d4a510008404602482015290516001600160a01b039092169163a9059cbb9160448082019260009290919082900301818387803b158015610d6857600080fd5b505af1158015610d7c573d6000803e3d6000fd5b5050600154604080516323b872dd60e01b81523360048201523060248201526044810186905290516001600160a01b0390921693506323b872dd92506064808201926020929091908290030181600087803b15801561035a57600080fd5b610de2610c9a565b610e30576040805162461bcd60e51b815260206004820152601a60248201527921b0b63632b91034b9903737ba103a34329023b7bb32b93737b960311b604482015290519081900360640190fd5b610e39816111f2565b806001600160a01b0316610e4b6110a6565b6001600160a01b03167fa39cc5eb22d0f34d8beaefee8a3f17cc229c1a1d1ef87a5ad47313487b1c4f0d60405160405180910390a350565b610e8b610c9a565b610ed9576040805162461bcd60e51b815260206004820152601a60248201527921b0b63632b91034b9903737ba103a34329023b7bb32b93737b960311b604482015290519081900360640190fd5b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac453580546002811415610f43576040805162461bcd60e51b815260206004820152600e60248201526d1499595b9d1c985b9d0818d85b1b60921b604482015290519081900360640190fd5b60028255610f69610f526110a6565b6001600160a01b038616908563ffffffff61119b16565b50600190555050565b610f7a610c9a565b610fc8576040805162461bcd60e51b815260206004820152601a60248201527921b0b63632b91034b9903737ba103a34329023b7bb32b93737b960311b604482015290519081900360640190fd5b7f53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac453580546002811415611032576040805162461bcd60e51b815260206004820152600e60248201526d1499595b9d1c985b9d0818d85b1b60921b604482015290519081900360640190fd5b60028255600160009054906101000a90046001600160a01b03166001600160a01b031663f51b0fd46040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561108657600080fd5b505af115801561109a573d6000803e3d6000fd5b50505050600182555050565b7f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a5490565b7f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db5490565b6001600160a01b03811661114b576040805162461bcd60e51b815260206004820152601a60248201527f4e657720476f7665726e6f722069732061646472657373283029000000000000604482015290519081900360640190fd5b806001600160a01b031661115d6110a6565b6001600160a01b03167fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a60405160405180910390a36103ce81611216565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111ed90849061123a565b505050565b7f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db55565b7f7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a55565b61124c826001600160a01b03166113f8565b61129d576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106112db5780518252601f1990920191602091820191016112bc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461133d576040519150601f19603f3d011682016040523d82523d6000602084013e611342565b606091505b509150915081611399576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156113f2578080602001905160208110156113b557600080fd5b50516113f25760405162461bcd60e51b815260040180806020018281038252602a815260200180611435602a913960400191505060405180910390fd5b50505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061142c57508115155b94935050505056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644f6e6c79207468652070656e64696e6720476f7665726e6f722063616e20636f6d706c6574652074686520636c61696da265627a7a7231582022b0de6bf6e575cb7bab5d84d6866fd2ac4a9c18c7fc778cfb13b64048835ba564736f6c634300050b0032", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/dapp-oeth/abis/IERC20.json b/dapp-oeth/abis/IERC20.json new file mode 100644 index 0000000000..4decc5b896 --- /dev/null +++ b/dapp-oeth/abis/IERC20.json @@ -0,0 +1,220 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IERC20", + "sourceName": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "abi": [ + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/dapp-oeth/abis/OETHZapper.json b/dapp-oeth/abis/OETHZapper.json new file mode 100644 index 0000000000..0dc4b0fdb2 --- /dev/null +++ b/dapp-oeth/abis/OETHZapper.json @@ -0,0 +1,158 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "OETHZapper", + "sourceName": "contracts/vault/OETHZapper.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_oeth", + "type": "address" + }, + { + "internalType": "address", + "name": "_vault", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Zap", + "type": "event" + }, + { + "inputs": [], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minOETH", + "type": "uint256" + } + ], + "name": "depositSFRXETH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "frxeth", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "oeth", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "sfrxeth", + "outputs": [ + { + "internalType": "contract ISfrxETH", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "vault", + "outputs": [ + { + "internalType": "contract IVault", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "weth", + "outputs": [ + { + "internalType": "contract IWETH9", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x60c060405234801561001057600080fd5b5060405161091038038061091083398101604081905261002f91610198565b6001600160601b0319606083811b821660805282901b1660a05260405163095ea7b360e01b81526001600160a01b0382166004820152600019602482015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29063095ea7b390604401602060405180830381600087803b1580156100a657600080fd5b505af11580156100ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100de91906101cb565b5060405163095ea7b360e01b81526001600160a01b03821660048201526000196024820152735e8422345238f34275888049021821e8e08caa1f9063095ea7b390604401602060405180830381600087803b15801561013c57600080fd5b505af1158015610150573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017491906101cb565b5050506101f4565b80516001600160a01b038116811461019357600080fd5b919050565b600080604083850312156101ab57600080fd5b6101b48361017c565b91506101c26020840161017c565b90509250929050565b6000602082840312156101dd57600080fd5b815180151581146101ed57600080fd5b9392505050565b60805160601c60a05160601c6106dc6102346000396000818161019a015261044a015260008181610130015281816104bf01526105b401526106dc6000f3fe6080604052600436106100745760003560e01c8063ccfe2a691161004e578063ccfe2a691461011e578063d0e30db014610152578063d443e97d14610168578063fbfa77cf1461018857600080fd5b80633fc8cef3146100895780636f708a9d146100ce578063a07311af146100f657600080fd5b36610084576100816101bc565b50005b600080fd5b34801561009557600080fd5b506100b173c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100da57600080fd5b506100b1735e8422345238f34275888049021821e8e08caa1f81565b34801561010257600080fd5b506100b173ac3e018457b222d93114458476f3e3416abbe38f81565b34801561012a57600080fd5b506100b17f000000000000000000000000000000000000000000000000000000000000000081565b61015a6101bc565b6040519081526020016100c5565b34801561017457600080fd5b5061015a610183366004610684565b610299565b34801561019457600080fd5b506100b17f000000000000000000000000000000000000000000000000000000000000000081565b60008047905073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561021157600080fd5b505af1158015610225573d6000803e3d6000fd5b505060405184815273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee93503392507f9d0b99c299bdb5656c0c9db6e1886c612db5c2881760ea54ab244f6338b4ebd6915060200160405180910390a361029373c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28261039e565b91505090565b604051635d043b2960e11b81526004810183905230602482015233604482015260009073ac3e018457b222d93114458476f3e3416abbe38f9063ba08765290606401602060405180830381600087803b1580156102f557600080fd5b505af1158015610309573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032d919061066b565b5060405183815273ac3e018457b222d93114458476f3e3416abbe38f9033907f9d0b99c299bdb5656c0c9db6e1886c612db5c2881760ea54ab244f6338b4ebd69060200160405180910390a3610397735e8422345238f34275888049021821e8e08caa1f8361039e565b9392505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a082319060240160206040518083038186803b1580156103e257600080fd5b505afa1580156103f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041a919061066b565b604051630ab714fb60e11b81526001600160a01b03868116600483015260248201839052604482018690529192507f00000000000000000000000000000000000000000000000000000000000000009091169063156e29f690606401600060405180830381600087803b15801561049057600080fd5b505af11580156104a4573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691506370a082319060240160206040518083038186803b15801561050a57600080fd5b505afa15801561051e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610542919061066b565b9050838110156105985760405162461bcd60e51b815260206004820152601960248201527f5a61707065723a206e6f7420656e6f756768206d696e74656400000000000000604482015260640160405180910390fd5b60405163a9059cbb60e01b8152336004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb90604401602060405180830381600087803b15801561060057600080fd5b505af1158015610614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106389190610649565b61064157600080fd5b949350505050565b60006020828403121561065b57600080fd5b8151801515811461039757600080fd5b60006020828403121561067d57600080fd5b5051919050565b6000806040838503121561069757600080fd5b5050803592602090910135915056fea2646970667358221220f5f670173d99f62fa4b62b0fa3f719c63e881f37d20d2de7ee51ff7674dfa72664736f6c63430008070033", + "deployedBytecode": "0x6080604052600436106100745760003560e01c8063ccfe2a691161004e578063ccfe2a691461011e578063d0e30db014610152578063d443e97d14610168578063fbfa77cf1461018857600080fd5b80633fc8cef3146100895780636f708a9d146100ce578063a07311af146100f657600080fd5b36610084576100816101bc565b50005b600080fd5b34801561009557600080fd5b506100b173c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100da57600080fd5b506100b1735e8422345238f34275888049021821e8e08caa1f81565b34801561010257600080fd5b506100b173ac3e018457b222d93114458476f3e3416abbe38f81565b34801561012a57600080fd5b506100b17f000000000000000000000000000000000000000000000000000000000000000081565b61015a6101bc565b6040519081526020016100c5565b34801561017457600080fd5b5061015a610183366004610684565b610299565b34801561019457600080fd5b506100b17f000000000000000000000000000000000000000000000000000000000000000081565b60008047905073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561021157600080fd5b505af1158015610225573d6000803e3d6000fd5b505060405184815273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee93503392507f9d0b99c299bdb5656c0c9db6e1886c612db5c2881760ea54ab244f6338b4ebd6915060200160405180910390a361029373c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28261039e565b91505090565b604051635d043b2960e11b81526004810183905230602482015233604482015260009073ac3e018457b222d93114458476f3e3416abbe38f9063ba08765290606401602060405180830381600087803b1580156102f557600080fd5b505af1158015610309573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032d919061066b565b5060405183815273ac3e018457b222d93114458476f3e3416abbe38f9033907f9d0b99c299bdb5656c0c9db6e1886c612db5c2881760ea54ab244f6338b4ebd69060200160405180910390a3610397735e8422345238f34275888049021821e8e08caa1f8361039e565b9392505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a082319060240160206040518083038186803b1580156103e257600080fd5b505afa1580156103f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041a919061066b565b604051630ab714fb60e11b81526001600160a01b03868116600483015260248201839052604482018690529192507f00000000000000000000000000000000000000000000000000000000000000009091169063156e29f690606401600060405180830381600087803b15801561049057600080fd5b505af11580156104a4573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031691506370a082319060240160206040518083038186803b15801561050a57600080fd5b505afa15801561051e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610542919061066b565b9050838110156105985760405162461bcd60e51b815260206004820152601960248201527f5a61707065723a206e6f7420656e6f756768206d696e74656400000000000000604482015260640160405180910390fd5b60405163a9059cbb60e01b8152336004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb90604401602060405180830381600087803b15801561060057600080fd5b505af1158015610614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106389190610649565b61064157600080fd5b949350505050565b60006020828403121561065b57600080fd5b8151801515811461039757600080fd5b60006020828403121561067d57600080fd5b5051919050565b6000806040838503121561069757600080fd5b5050803592602090910135915056fea2646970667358221220f5f670173d99f62fa4b62b0fa3f719c63e881f37d20d2de7ee51ff7674dfa72664736f6c63430008070033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/dapp-oeth/abis/UniswapV2Router.json b/dapp-oeth/abis/UniswapV2Router.json new file mode 100644 index 0000000000..579aa86bed --- /dev/null +++ b/dapp-oeth/abis/UniswapV2Router.json @@ -0,0 +1,980 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "UniswapRouterV2", + "sourceName": "", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_factory", + "type": "address" + }, + { + "internalType": "address", + "name": "_WETH", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "WETH", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenA", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenB", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountADesired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountBDesired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountAMin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountBMin", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "addLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "amountA", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountB", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidity", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountTokenDesired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountTokenMin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountETHMin", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "addLiquidityETH", + "outputs": [ + { + "internalType": "uint256", + "name": "amountToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountETH", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "liquidity", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "factory", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveOut", + "type": "uint256" + } + ], + "name": "getAmountIn", + "outputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveOut", + "type": "uint256" + } + ], + "name": "getAmountOut", + "outputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + } + ], + "name": "getAmountsIn", + "outputs": [ + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + } + ], + "name": "getAmountsOut", + "outputs": [ + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountA", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveA", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "reserveB", + "type": "uint256" + } + ], + "name": "quote", + "outputs": [ + { + "internalType": "uint256", + "name": "amountB", + "type": "uint256" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenA", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenB", + "type": "address" + }, + { + "internalType": "uint256", + "name": "liquidity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountAMin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountBMin", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "removeLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "amountA", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountB", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "liquidity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountTokenMin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountETHMin", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "removeLiquidityETH", + "outputs": [ + { + "internalType": "uint256", + "name": "amountToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountETH", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "liquidity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountTokenMin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountETHMin", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "removeLiquidityETHSupportingFeeOnTransferTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "amountETH", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "liquidity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountTokenMin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountETHMin", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "approveMax", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "removeLiquidityETHWithPermit", + "outputs": [ + { + "internalType": "uint256", + "name": "amountToken", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountETH", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "liquidity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountTokenMin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountETHMin", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "approveMax", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "removeLiquidityETHWithPermitSupportingFeeOnTransferTokens", + "outputs": [ + { + "internalType": "uint256", + "name": "amountETH", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenA", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenB", + "type": "address" + }, + { + "internalType": "uint256", + "name": "liquidity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountAMin", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountBMin", + "type": "uint256" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "approveMax", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "removeLiquidityWithPermit", + "outputs": [ + { + "internalType": "uint256", + "name": "amountA", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountB", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "swapETHForExactTokens", + "outputs": [ + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountOutMin", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "swapExactETHForTokens", + "outputs": [ + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountOutMin", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "swapExactETHForTokensSupportingFeeOnTransferTokens", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOutMin", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "swapExactTokensForETH", + "outputs": [ + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOutMin", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "swapExactTokensForETHSupportingFeeOnTransferTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOutMin", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "swapExactTokensForTokens", + "outputs": [ + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOutMin", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountInMax", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "swapTokensForExactETH", + "outputs": [ + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountInMax", + "type": "uint256" + }, + { + "internalType": "address[]", + "name": "path", + "type": "address[]" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "name": "swapTokensForExactTokens", + "outputs": [ + { + "internalType": "uint256[]", + "name": "amounts", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/dapp-oeth/abis/UniswapV3Factory.json b/dapp-oeth/abis/UniswapV3Factory.json new file mode 100644 index 0000000000..59c60d87d1 --- /dev/null +++ b/dapp-oeth/abis/UniswapV3Factory.json @@ -0,0 +1,243 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "UniswapV3Factory", + "sourceName": "contracts/UniswapV3Factory.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "indexed": true, + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + } + ], + "name": "FeeAmountEnabled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "oldOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "token0", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "token1", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "indexed": false, + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + }, + { + "indexed": false, + "internalType": "address", + "name": "pool", + "type": "address" + } + ], + "name": "PoolCreated", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenA", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenB", + "type": "address" + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24" + } + ], + "name": "createPool", + "outputs": [ + { + "internalType": "address", + "name": "pool", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + } + ], + "name": "enableFeeAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint24", + "name": "", + "type": "uint24" + } + ], + "name": "feeAmountTickSpacing", + "outputs": [ + { + "internalType": "int24", + "name": "", + "type": "int24" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint24", + "name": "", + "type": "uint24" + } + ], + "name": "getPool", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "parameters", + "outputs": [ + { + "internalType": "address", + "name": "factory", + "type": "address" + }, + { + "internalType": "address", + "name": "token0", + "type": "address" + }, + { + "internalType": "address", + "name": "token1", + "type": "address" + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "internalType": "int24", + "name": "tickSpacing", + "type": "int24" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + } + ], + "name": "setOwner", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/dapp-oeth/abis/UniswapV3NonfungiblePositionManager.json b/dapp-oeth/abis/UniswapV3NonfungiblePositionManager.json new file mode 100644 index 0000000000..19bb3600f9 --- /dev/null +++ b/dapp-oeth/abis/UniswapV3NonfungiblePositionManager.json @@ -0,0 +1,1228 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NonfungiblePositionManager", + "sourceName": "contracts/NonfungiblePositionManager.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_factory", + "type": "address" + }, + { + "internalType": "address", + "name": "_WETH9", + "type": "address" + }, + { + "internalType": "address", + "name": "_tokenDescriptor_", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "name": "Collect", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "name": "DecreaseLiquidity", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "name": "IncreaseLiquidity", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PERMIT_TYPEHASH", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "WETH9", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "baseURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint128", + "name": "amount0Max", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "amount1Max", + "type": "uint128" + } + ], + "internalType": "struct INonfungiblePositionManager.CollectParams", + "name": "params", + "type": "tuple" + } + ], + "name": "collect", + "outputs": [ + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token0", + "type": "address" + }, + { + "internalType": "address", + "name": "token1", + "type": "address" + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160" + } + ], + "name": "createAndInitializePoolIfNecessary", + "outputs": [ + { + "internalType": "address", + "name": "pool", + "type": "address" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount0Min", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Min", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "internalType": "struct INonfungiblePositionManager.DecreaseLiquidityParams", + "name": "params", + "type": "tuple" + } + ], + "name": "decreaseLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "factory", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount0Desired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Desired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount0Min", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Min", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "internalType": "struct INonfungiblePositionManager.IncreaseLiquidityParams", + "name": "params", + "type": "tuple" + } + ], + "name": "increaseLiquidity", + "outputs": [ + { + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "token0", + "type": "address" + }, + { + "internalType": "address", + "name": "token1", + "type": "address" + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "uint256", + "name": "amount0Desired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Desired", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount0Min", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Min", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + } + ], + "internalType": "struct INonfungiblePositionManager.MintParams", + "name": "params", + "type": "tuple" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "positions", + "outputs": [ + { + "internalType": "uint96", + "name": "nonce", + "type": "uint96" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "token0", + "type": "address" + }, + { + "internalType": "address", + "name": "token1", + "type": "address" + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "feeGrowthInside0LastX128", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feeGrowthInside1LastX128", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "tokensOwed0", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "tokensOwed1", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "refundETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermitAllowed", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermitAllowedIfNecessary", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermitIfNecessary", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountMinimum", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + } + ], + "name": "sweepToken", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount0Owed", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1Owed", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "uniswapV3MintCallback", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountMinimum", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + } + ], + "name": "unwrapWETH9", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/dapp-oeth/abis/UniswapV3Pool.json b/dapp-oeth/abis/UniswapV3Pool.json new file mode 100644 index 0000000000..eb8c377cf7 --- /dev/null +++ b/dapp-oeth/abis/UniswapV3Pool.json @@ -0,0 +1,995 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "UniswapV3Pool", + "sourceName": "contracts/UniswapV3Pool.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "indexed": true, + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "amount", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "name": "Burn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": true, + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "indexed": true, + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "amount0", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "amount1", + "type": "uint128" + } + ], + "name": "Collect", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "amount0", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "amount1", + "type": "uint128" + } + ], + "name": "CollectProtocol", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "paid0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "paid1", + "type": "uint256" + } + ], + "name": "Flash", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint16", + "name": "observationCardinalityNextOld", + "type": "uint16" + }, + { + "indexed": false, + "internalType": "uint16", + "name": "observationCardinalityNextNew", + "type": "uint16" + } + ], + "name": "IncreaseObservationCardinalityNext", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160" + }, + { + "indexed": false, + "internalType": "int24", + "name": "tick", + "type": "int24" + } + ], + "name": "Initialize", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "indexed": true, + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "amount", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "feeProtocol0Old", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "feeProtocol1Old", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "feeProtocol0New", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "feeProtocol1New", + "type": "uint8" + } + ], + "name": "SetFeeProtocol", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amount0", + "type": "int256" + }, + { + "indexed": false, + "internalType": "int256", + "name": "amount1", + "type": "int256" + }, + { + "indexed": false, + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160" + }, + { + "indexed": false, + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "indexed": false, + "internalType": "int24", + "name": "tick", + "type": "int24" + } + ], + "name": "Swap", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "uint128", + "name": "amount", + "type": "uint128" + } + ], + "name": "burn", + "outputs": [ + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "uint128", + "name": "amount0Requested", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "amount1Requested", + "type": "uint128" + } + ], + "name": "collect", + "outputs": [ + { + "internalType": "uint128", + "name": "amount0", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "amount1", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint128", + "name": "amount0Requested", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "amount1Requested", + "type": "uint128" + } + ], + "name": "collectProtocol", + "outputs": [ + { + "internalType": "uint128", + "name": "amount0", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "amount1", + "type": "uint128" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "factory", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "fee", + "outputs": [ + { + "internalType": "uint24", + "name": "", + "type": "uint24" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeGrowthGlobal0X128", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeGrowthGlobal1X128", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "flash", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint16", + "name": "observationCardinalityNext", + "type": "uint16" + } + ], + "name": "increaseObservationCardinalityNext", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "liquidity", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxLiquidityPerTick", + "outputs": [ + { + "internalType": "uint128", + "name": "", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + }, + { + "internalType": "uint128", + "name": "amount", + "type": "uint128" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "amount0", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount1", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "observations", + "outputs": [ + { + "internalType": "uint32", + "name": "blockTimestamp", + "type": "uint32" + }, + { + "internalType": "int56", + "name": "tickCumulative", + "type": "int56" + }, + { + "internalType": "uint160", + "name": "secondsPerLiquidityCumulativeX128", + "type": "uint160" + }, + { + "internalType": "bool", + "name": "initialized", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32[]", + "name": "secondsAgos", + "type": "uint32[]" + } + ], + "name": "observe", + "outputs": [ + { + "internalType": "int56[]", + "name": "tickCumulatives", + "type": "int56[]" + }, + { + "internalType": "uint160[]", + "name": "secondsPerLiquidityCumulativeX128s", + "type": "uint160[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "positions", + "outputs": [ + { + "internalType": "uint128", + "name": "liquidity", + "type": "uint128" + }, + { + "internalType": "uint256", + "name": "feeGrowthInside0LastX128", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feeGrowthInside1LastX128", + "type": "uint256" + }, + { + "internalType": "uint128", + "name": "tokensOwed0", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "tokensOwed1", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "protocolFees", + "outputs": [ + { + "internalType": "uint128", + "name": "token0", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "token1", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "feeProtocol0", + "type": "uint8" + }, + { + "internalType": "uint8", + "name": "feeProtocol1", + "type": "uint8" + } + ], + "name": "setFeeProtocol", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "slot0", + "outputs": [ + { + "internalType": "uint160", + "name": "sqrtPriceX96", + "type": "uint160" + }, + { + "internalType": "int24", + "name": "tick", + "type": "int24" + }, + { + "internalType": "uint16", + "name": "observationIndex", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "observationCardinality", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "observationCardinalityNext", + "type": "uint16" + }, + { + "internalType": "uint8", + "name": "feeProtocol", + "type": "uint8" + }, + { + "internalType": "bool", + "name": "unlocked", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int24", + "name": "tickLower", + "type": "int24" + }, + { + "internalType": "int24", + "name": "tickUpper", + "type": "int24" + } + ], + "name": "snapshotCumulativesInside", + "outputs": [ + { + "internalType": "int56", + "name": "tickCumulativeInside", + "type": "int56" + }, + { + "internalType": "uint160", + "name": "secondsPerLiquidityInsideX128", + "type": "uint160" + }, + { + "internalType": "uint32", + "name": "secondsInside", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "bool", + "name": "zeroForOne", + "type": "bool" + }, + { + "internalType": "int256", + "name": "amountSpecified", + "type": "int256" + }, + { + "internalType": "uint160", + "name": "sqrtPriceLimitX96", + "type": "uint160" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "swap", + "outputs": [ + { + "internalType": "int256", + "name": "amount0", + "type": "int256" + }, + { + "internalType": "int256", + "name": "amount1", + "type": "int256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int16", + "name": "", + "type": "int16" + } + ], + "name": "tickBitmap", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tickSpacing", + "outputs": [ + { + "internalType": "int24", + "name": "", + "type": "int24" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int24", + "name": "", + "type": "int24" + } + ], + "name": "ticks", + "outputs": [ + { + "internalType": "uint128", + "name": "liquidityGross", + "type": "uint128" + }, + { + "internalType": "int128", + "name": "liquidityNet", + "type": "int128" + }, + { + "internalType": "uint256", + "name": "feeGrowthOutside0X128", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "feeGrowthOutside1X128", + "type": "uint256" + }, + { + "internalType": "int56", + "name": "tickCumulativeOutside", + "type": "int56" + }, + { + "internalType": "uint160", + "name": "secondsPerLiquidityOutsideX128", + "type": "uint160" + }, + { + "internalType": "uint32", + "name": "secondsOutside", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "initialized", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "token0", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "token1", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/dapp-oeth/abis/UniswapV3Quoter.json b/dapp-oeth/abis/UniswapV3Quoter.json new file mode 100644 index 0000000000..b76ee1b4a1 --- /dev/null +++ b/dapp-oeth/abis/UniswapV3Quoter.json @@ -0,0 +1,200 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Quoter", + "sourceName": "contracts/lens/Quoter.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_factory", + "type": "address" + }, + { + "internalType": "address", + "name": "_WETH9", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "WETH9", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "factory", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "path", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + } + ], + "name": "quoteExactInput", + "outputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenOut", + "type": "address" + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint160", + "name": "sqrtPriceLimitX96", + "type": "uint160" + } + ], + "name": "quoteExactInputSingle", + "outputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "path", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "name": "quoteExactOutput", + "outputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenOut", + "type": "address" + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "uint160", + "name": "sqrtPriceLimitX96", + "type": "uint160" + } + ], + "name": "quoteExactOutputSingle", + "outputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "amount0Delta", + "type": "int256" + }, + { + "internalType": "int256", + "name": "amount1Delta", + "type": "int256" + }, + { + "internalType": "bytes", + "name": "path", + "type": "bytes" + } + ], + "name": "uniswapV3SwapCallback", + "outputs": [], + "stateMutability": "view", + "type": "function" + } + ], + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/dapp-oeth/abis/UniswapV3SwapRouter.json b/dapp-oeth/abis/UniswapV3SwapRouter.json new file mode 100644 index 0000000000..798b6cbc2c --- /dev/null +++ b/dapp-oeth/abis/UniswapV3SwapRouter.json @@ -0,0 +1,572 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "SwapRouter", + "sourceName": "contracts/SwapRouter.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_factory", + "type": "address" + }, + { + "internalType": "address", + "name": "_WETH9", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "WETH9", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes", + "name": "path", + "type": "bytes" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOutMinimum", + "type": "uint256" + } + ], + "internalType": "struct ISwapRouter.ExactInputParams", + "name": "params", + "type": "tuple" + } + ], + "name": "exactInput", + "outputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenOut", + "type": "address" + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOutMinimum", + "type": "uint256" + }, + { + "internalType": "uint160", + "name": "sqrtPriceLimitX96", + "type": "uint160" + } + ], + "internalType": "struct ISwapRouter.ExactInputSingleParams", + "name": "params", + "type": "tuple" + } + ], + "name": "exactInputSingle", + "outputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes", + "name": "path", + "type": "bytes" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountInMaximum", + "type": "uint256" + } + ], + "internalType": "struct ISwapRouter.ExactOutputParams", + "name": "params", + "type": "tuple" + } + ], + "name": "exactOutput", + "outputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenOut", + "type": "address" + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountInMaximum", + "type": "uint256" + }, + { + "internalType": "uint160", + "name": "sqrtPriceLimitX96", + "type": "uint160" + } + ], + "internalType": "struct ISwapRouter.ExactOutputSingleParams", + "name": "params", + "type": "tuple" + } + ], + "name": "exactOutputSingle", + "outputs": [ + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "factory", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes[]", + "name": "data", + "type": "bytes[]" + } + ], + "name": "multicall", + "outputs": [ + { + "internalType": "bytes[]", + "name": "results", + "type": "bytes[]" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "refundETH", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermit", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermitAllowed", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "expiry", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermitAllowedIfNecessary", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "selfPermitIfNecessary", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountMinimum", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + } + ], + "name": "sweepToken", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountMinimum", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "feeBips", + "type": "uint256" + }, + { + "internalType": "address", + "name": "feeRecipient", + "type": "address" + } + ], + "name": "sweepTokenWithFee", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "amount0Delta", + "type": "int256" + }, + { + "internalType": "int256", + "name": "amount1Delta", + "type": "int256" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "uniswapV3SwapCallback", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountMinimum", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + } + ], + "name": "unwrapWETH9", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amountMinimum", + "type": "uint256" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "feeBips", + "type": "uint256" + }, + { + "internalType": "address", + "name": "feeRecipient", + "type": "address" + } + ], + "name": "unwrapWETH9WithFee", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/dapp-oeth/abis/WOUSD.json b/dapp-oeth/abis/WOUSD.json new file mode 100644 index 0000000000..8862de3e0c --- /dev/null +++ b/dapp-oeth/abis/WOUSD.json @@ -0,0 +1,799 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "WOUSD", + "sourceName": "contracts/test/token/wousd.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ERC20", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "asset", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "convertToAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "convertToShares", + "outputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "redeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount_", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/dapp-oeth/dev.env b/dapp-oeth/dev.env new file mode 100644 index 0000000000..fbd8eaf570 --- /dev/null +++ b/dapp-oeth/dev.env @@ -0,0 +1,40 @@ +NEXT_PUBLIC_ETHEREUM_RPC_PROVIDER=http://localhost:8545/ +NEXT_PUBLIC_ETHEREUM_WEBSOCKET_PROVIDER=ws://localhost:8545/ +NEXT_PUBLIC_ETHEREUM_RPC_CHAIN_ID=1337 +NEXT_PUBLIC_ANALYTICS_URL=https://analytics.ousd.com +NEXT_PUBLIC_DOCS_URL=https://docs.ousd.com +NEXT_PUBLIC_JOBS_URL=https://angel.co/company/originprotocol/jobs +NEXT_PUBLIC_TERMS_URL=https://originprotocol.com/tos +NEXT_PUBLIC_PRIVACY_URL=https://originprotocol.com/privacy +NEXT_PUBLIC_GITHUB_URL=https://github.com/originprotocol +NEXT_PUBLIC_DISCORD_URL=https://discord.gg/jyxpUSe +NEXT_PUBLIC_TELEGRAM_URL=https://t.me/originprotocol +NEXT_PUBLIC_WECHAT_URL=https://u.wechat.com/MPuvZYXixbeMimCix6GzRcw +NEXT_PUBLIC_REDDIT_URL=https://www.reddit.com/r/originprotocol +NEXT_PUBLIC_WEIBO_URL=https://weibo.com/originprotocol +NEXT_PUBLIC_FACEBOOK_URL=https://www.facebook.com/originprotocol +NEXT_PUBLIC_TWITTER_URL=https://twitter.com/originprotocol +NEXT_PUBLIC_MEDIUM_URL=https://medium.com/originprotocol +NEXT_PUBLIC_YOUTUBE_URL=http://youtube.com/originprotocol +NEXT_PUBLIC_INSTAGRAM_URL=http://instagram.com/originprotocol +NEXT_PUBLIC_EMAIL_LIST_URL=https://www.originprotocol.com/mailing-list/join +NEXT_PUBLIC_APR_ANALYTICS_ENDPOINT=https://analytics.ousd.com/api/v1/apr/trailing +NEXT_PUBLIC_ANALYTICS_ENDPOINT=https://analytics.ousd.com +#NEXT_PUBLIC_ANALYTICS_ENDPOINT=http://localhost:8000 +NEXT_PUBLIC_METAMASK_DEEPLINK=https://metamask.app.link/dapp/ousd.com/swap +NEXT_PUBLIC_ENABLE_LIQUIDITY_MINING=false +NEXT_PUBLIC_ENABLE_STAKING=false +NEXT_PUBLIC_ENABLE_COMPENSATION=true +NEXT_PUBLIC_CREDITS_ANALYTICS_ENDPOINT=https://analytics.ousd.com/api/v1/ratios +NEXT_PUBLIC_COINGECKO_API=https://api.coingecko.com/api/v3 +NEXT_PUBLIC_ENABLE_CURVE_STAKING=false +NEXT_PUBLIC_ENABLE_OGN_STAKING=true +NEXT_PUBLIC_SENTRY_DSN= +NEXT_PUBLIC_GA_ID=fakeGAId +NEXT_PUBLIC_DISABLE_SWAP_BUTTON=false +NEXT_PUBLIC_DISABLE_SWAP_BUTTON_MESSAGE="Temporarily unavailable due to maintenance" +DISABLE_WRAP_BUTTON=false +PINATA_API_KEY= +PINATA_SECRET_API_KEY= +NEXT_PUBLIC_IPFS_DAPP_URL=https://ousd.eth.link/swap.html +NEXT_PUBLIC_AIRDROP_URL=https://governance.ousd.com/claim \ No newline at end of file diff --git a/dapp-oeth/keys/ousd-dapp-key.key b/dapp-oeth/keys/ousd-dapp-key.key new file mode 100644 index 0000000000..82737fb297 --- /dev/null +++ b/dapp-oeth/keys/ousd-dapp-key.key @@ -0,0 +1 @@ +@_#0]B9232U}FI {&K*ۘxDnlO^o/ \ No newline at end of file diff --git a/dapp-oeth/ledger_manifest.json b/dapp-oeth/ledger_manifest.json new file mode 100644 index 0000000000..b143364a22 --- /dev/null +++ b/dapp-oeth/ledger_manifest.json @@ -0,0 +1,42 @@ +{ + "id": "oeth", + "name": "Origin Ether", + "url": "https://dapp-browser.apps.ledger.com", + "params": { + "dappUrl": "https://app.oeth.com/?embed=true", + "nanoApp": "Ethereum", + "dappName": "Ethereum", + "networks": [ + { + "currency": "ethereum", + "chainID": 1, + "nodeURL": "" + } + ] + }, + "homepageUrl": "https://app.oeth.com/", + "icon": "https://www.oeth.com/images/oeth.svg", + "platform": "all", + "apiVersion": "0.0.1", + "manifestVersion": "1", + "branch": "stable", + "categories": [ + "liquid staking derivatives", + "defi" + ], + "currencies": [ + "ethereum" + ], + "content": { + "shortDescription": { + "en": "An ETH-pegged token that earns yield from all forms of staking." + }, + "description": { + "en": "An ETH-pegged token that earns yield from all forms of staking." + } + }, + "permissions": [], + "domains": [ + "https://*" + ] +} \ No newline at end of file diff --git a/dapp-oeth/lib/gtm.js b/dapp-oeth/lib/gtm.js new file mode 100644 index 0000000000..02b0707e8a --- /dev/null +++ b/dapp-oeth/lib/gtm.js @@ -0,0 +1,13 @@ +export const GTM_ID = process.env.NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID + +export const pageview = () => { + window?.dataLayer?.push({ + event: 'pageview', + pageUrl: window.location.href, + pageTitle: document.title, + }) +} + +export const event = (eventData) => { + window?.dataLayer?.push(eventData) +} \ No newline at end of file diff --git a/dapp-oeth/network.json b/dapp-oeth/network.json new file mode 100644 index 0000000000..b88cc524a2 --- /dev/null +++ b/dapp-oeth/network.json @@ -0,0 +1,26227 @@ +{ + "name": "localhost", + "chainId": "1", + "contracts": { + "AaveStrategy": { + "address": "0x4F424C6f066ae74784f3595A3A84923ad36d5471", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "incentivesController", + "outputs": [ + { + "internalType": "contract IAaveIncentivesController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + }, + { + "internalType": "address", + "name": "_incentivesAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_stkAaveAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "stkAave", + "outputs": [ + { + "internalType": "contract IAaveStakedToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "AaveStrategyProxy": { + "address": "0x5e3646A1Db86993f73E6b74A57D8640B69F7e259", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "Buyback": { + "address": "0x4ABA0078ED7f8bC0C4907562B4e59d6137cd0e06", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "swapAmountIn", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "swapAmountOut", + "type": "uint256" + } + ], + "name": "OUSDSwapped", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amountSent", + "type": "uint256" + } + ], + "name": "OUSDTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "RewardsSourceUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_bps", + "type": "uint256" + } + ], + "name": "TreasuryBpsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "TreasuryManagerUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "UniswapUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "ousdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minOGVExpected", + "type": "uint256" + } + ], + "name": "distributeAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_uniswapAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategistAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_treasuryManagerAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_ousd", + "type": "address" + }, + { + "internalType": "address", + "name": "_ogv", + "type": "address" + }, + { + "internalType": "address", + "name": "_usdt", + "type": "address" + }, + { + "internalType": "address", + "name": "_weth9", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardsSource", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_treasuryBps", + "type": "uint256" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ogv", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ousd", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardsSource", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setRewardsSource", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setStrategistAddr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_bps", + "type": "uint256" + } + ], + "name": "setTreasuryBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setTreasuryManager", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setUniswapAddr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "swap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "treasuryBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "treasuryManager", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "uniswapAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "usdt", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "weth9", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "BuybackProxy": { + "address": "0xD7B28d06365b85933c64E11e639EA0d3bC0e3BaB", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "ChainlinkOracle": { + "address": "0x017aD99900b9581Cd40C815990890EE9F0858246", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "tokEthPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "tokUsdPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ethUsdPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "feed", + "type": "address" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "bool", + "name": "directToUsd", + "type": "bool" + } + ], + "name": "registerFeed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "price", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "ethFeed_", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_feed", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "indexed": false, + "internalType": "bool", + "name": "_directToUsd", + "type": "bool" + } + ], + "name": "FeedRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "CompensationClaims": { + "address": "0x9C94df9d594BA1eb94430C006c269C314B1A8281", + "abi": [ + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_coin", + "type": "address" + } + ], + "name": "collect", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + } + ], + "name": "claim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "_addresses", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "setClaims", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalClaims", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "unlockAdjuster", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_seconds", + "type": "uint256" + } + ], + "name": "start", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isAdjusterLocked", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "adjuster", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "lockAdjuster", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "end", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_adjuster", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Claim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ClaimSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "end", + "type": "uint256" + } + ], + "name": "Start", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Lock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Unlock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "coin", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Collect", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "CompoundStrategy": { + "address": "0xC697Eab7B9F5c5cE2d35B9B69917F96001712Ad5", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "SkippedWithdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "CompoundStrategyProxy": { + "address": "0x9c459eeb3FA179a40329b81C1635525e9A0Ef094", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "ConvexGeneralizedMetaStrategy": { + "address": "0xB6764c2Cc8F1fDCd89Af1C3e246f886579746233", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_prevMaxSlippagePercentage", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newMaxSlippagePercentage", + "type": "uint256" + } + ], + "name": "MaxWithdrawalSlippageUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "cvxDepositorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolMainToken", + "type": "address" + }, + { + "internalType": "address", + "name": "cvxRewardStakerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolLPToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "cvxDepositorPTokenId", + "type": "uint256" + } + ], + "internalType": "struct BaseConvexMetaStrategy.InitConfig", + "name": "initConfig", + "type": "tuple" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxWithdrawalSlippage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxWithdrawalSlippage", + "type": "uint256" + } + ], + "name": "setMaxWithdrawalSlippage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "ConvexLUSDMetaStrategyProxy": { + "address": "0x7A192DD9Cc4Ea9bdEdeC9992df74F1DA55e60a19", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "ConvexOUSDMetaStrategy": { + "address": "0xc7faB3de576caf6044369930422f12C4FDbb2B32", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_prevMaxSlippagePercentage", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newMaxSlippagePercentage", + "type": "uint256" + } + ], + "name": "MaxWithdrawalSlippageUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "cvxDepositorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolMainToken", + "type": "address" + }, + { + "internalType": "address", + "name": "cvxRewardStakerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolLPToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "cvxDepositorPTokenId", + "type": "uint256" + } + ], + "internalType": "struct BaseConvexMetaStrategy.InitConfig", + "name": "initConfig", + "type": "tuple" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxWithdrawalSlippage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxWithdrawalSlippage", + "type": "uint256" + } + ], + "name": "setMaxWithdrawalSlippage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "ConvexOUSDMetaStrategyProxy": { + "address": "0x89Eb88fEdc50FC77ae8a18aAD1cA0ac27f777a90", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "ConvexStrategy": { + "address": "0xEe83F8eBB435373f6c231173995cC990697af1B8", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_cvxRewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + }, + { + "internalType": "address", + "name": "_cvxDepositorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_cvxRewardStakerAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_cvxDepositorPTokenId", + "type": "uint256" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "ConvexStrategyProxy": { + "address": "0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "CurveUSDCStrategy": { + "address": "0xF92B0DE25660C18BEDaa55795986781d7899b0f9", + "abi": [ + { + "constant": false, + "inputs": [], + "name": "collectRewardToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "liquidate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_crvGaugeAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_crvMinterAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "amountDeposited", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + } + ], + "name": "setRewardTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRewardLiquidationThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "amountWithdrawn", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "CurveUSDCStrategyProxy": { + "address": "0x67023c56548BA15aD3542E65493311F19aDFdd6d", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "CurveUSDTStrategy": { + "address": "0x641E3b5b081Fb2fb8B43D5a163649312a28e23Da", + "abi": [ + { + "constant": false, + "inputs": [], + "name": "collectRewardToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "liquidate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_crvGaugeAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_crvMinterAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "amountDeposited", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + } + ], + "name": "setRewardTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRewardLiquidationThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "amountWithdrawn", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "CurveUSDTStrategyProxy": { + "address": "0xe40e09cD6725E542001FcB900d9dfeA447B529C0", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "Dripper": { + "address": "0xc7068A35F9F5b77471BcFfBdf82D9531D52AFCdc", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_vault", + "type": "address" + }, + { + "internalType": "address", + "name": "_token", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "inputs": [], + "name": "availableFunds", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectAndRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "drip", + "outputs": [ + { + "internalType": "uint64", + "name": "lastCollect", + "type": "uint64" + }, + { + "internalType": "uint192", + "name": "perBlock", + "type": "uint192" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "dripDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_durationSeconds", + "type": "uint256" + } + ], + "name": "setDripDuration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "DripperProxy": { + "address": "0x80C898ae5e56f888365E235CeB8CEa3EB726CB58", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "Flipper": { + "address": "0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithUsdt", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithDai", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForDai", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithUsdc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForUsdc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForUsdt", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebaseOptIn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "FraxETHStrategyProxy": { + "address": "0x3fF8654D633D4Ea0faE24c52Aec73B4A20D0d0e5", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "Generalized4626Strategy": { + "address": "0x167747bF5B3B6Bf2F7f7C4CCe32C463E9598D425", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "Governor": { + "address": "0x72426BA137DEC62657306b12B1E869d43FeC6eC7", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "admin_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "CancelTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "ExecuteTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "newDelay", + "type": "uint256" + } + ], + "name": "NewDelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "ProposalCancelled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "proposer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "indexed": false, + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + }, + { + "indexed": false, + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "ProposalCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "ProposalExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "ProposalQueued", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "QueueTransaction", + "type": "event" + }, + { + "inputs": [], + "name": "GRACE_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAXIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_OPERATIONS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MINIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "acceptAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "cancel", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "delay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "execute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "getActions", + "outputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "pauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proposalCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "proposer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "executed", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "propose", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "queue", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "queuedTransactions", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "name": "setDelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "pendingAdmin_", + "type": "address" + } + ], + "name": "setPendingAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "state", + "outputs": [ + { + "internalType": "enum Governor.ProposalState", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "unpauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "Harvester": { + "address": "0x5E72EB0ab74B5B4d2766a7956D210746Ceab96E1", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_usdtAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint16", + "name": "_allowedSlippageBps", + "type": "uint16" + }, + { + "indexed": false, + "internalType": "uint16", + "name": "_harvestRewardBps", + "type": "uint16" + }, + { + "indexed": false, + "internalType": "address", + "name": "_uniswapV2CompatibleAddr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_liquidationLimit", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "_doSwapRewardToken", + "type": "bool" + } + ], + "name": "RewardTokenConfigUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "_isSupported", + "type": "bool" + } + ], + "name": "SupportedStrategyUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "UniswapUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "harvest", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "harvest", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardProceedsAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rewardTokenConfigs", + "outputs": [ + { + "internalType": "uint16", + "name": "allowedSlippageBps", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "harvestRewardBps", + "type": "uint16" + }, + { + "internalType": "address", + "name": "uniswapV2CompatibleAddr", + "type": "address" + }, + { + "internalType": "bool", + "name": "doSwapRewardToken", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "liquidationLimit", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenAddress", + "type": "address" + }, + { + "internalType": "uint16", + "name": "_allowedSlippageBps", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "_harvestRewardBps", + "type": "uint16" + }, + { + "internalType": "address", + "name": "_uniswapV2CompatibleAddr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_liquidationLimit", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "_doSwapRewardToken", + "type": "bool" + } + ], + "name": "setRewardTokenConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_rewardProceedsAddress", + "type": "address" + } + ], + "name": "setRewardsProceedsAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddress", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isSupported", + "type": "bool" + } + ], + "name": "setSupportedStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "supportedStrategies", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "swap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_swapToken", + "type": "address" + } + ], + "name": "swapRewardToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "usdtAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "HarvesterProxy": { + "address": "0x21Fb5812D70B3396880D30e90D9e5C1202266c89", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "MinuteTimelock": { + "address": "0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428", + "abi": [ + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "executeTransaction", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "queueTransaction", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "pendingAdmin_", + "type": "address" + } + ], + "name": "setPendingAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "cancelTransaction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "delay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAXIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MINIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "GRACE_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_admin", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "name": "setDelay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "queuedTransactions", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "newDelay", + "type": "uint256" + } + ], + "name": "NewDelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "CancelTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "ExecuteTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "QueueTransaction", + "type": "event" + } + ] + }, + "MixOracle": { + "address": "0x843530DC8005e13dEA30CEa2394FF60635f38cc4", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "priceMin", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxDrift", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "getTokenUSDOraclesLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_minDrift", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxDrift", + "type": "uint256" + } + ], + "name": "setMinMaxDrift", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minDrift", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "getTokenETHOraclesLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "priceMax", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "address[]", + "name": "ethOracles", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "usdOracles", + "type": "address[]" + } + ], + "name": "registerTokenOracles", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "idx", + "type": "uint256" + } + ], + "name": "getTokenETHOracle", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "oracle", + "type": "address" + } + ], + "name": "unregisterEthUsdOracle", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "oracle", + "type": "address" + } + ], + "name": "registerEthUsdOracle", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "idx", + "type": "uint256" + } + ], + "name": "getTokenUSDOracle", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "ethUsdOracles", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxDrift", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minDrift", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_minDrift", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_maxDrift", + "type": "uint256" + } + ], + "name": "DriftsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oracle", + "type": "address" + } + ], + "name": "EthUsdOracleRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oracle", + "type": "address" + } + ], + "name": "EthUsdOracleDeregistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "ethOracles", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "usdOracles", + "type": "address[]" + } + ], + "name": "TokenOracleRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "MorphoAaveStrategy": { + "address": "0xC72bda59E382be10bb5D71aBd01Ecc65aa16fD83", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "LENS", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MORPHO", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getPendingRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "MorphoAaveStrategyProxy": { + "address": "0x79F2188EF9350A1dC11A062cca0abE90684b0197", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "MorphoCompoundStrategy": { + "address": "0x5cC70898c47f73265BdE5b8BB9D37346d0726c09", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "LENS", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MORPHO", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getPendingRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "MorphoCompoundStrategyProxy": { + "address": "0x5A4eEe58744D1430876d5cA93cAB5CcB763C037D", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "OETH": { + "address": "0x7c1F8b1824f2758060CfC9Dd964C590710367A1E", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "totalSupply", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCredits", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCreditsPerToken", + "type": "uint256" + } + ], + "name": "TotalSupplyUpdatedHighres", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "_totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newTotalSupply", + "type": "uint256" + } + ], + "name": "changeSupply", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOfHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_nameArg", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbolArg", + "type": "string" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_initialCreditsPerToken", + "type": "uint256" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isUpgraded", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonRebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nonRebasingSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseOptIn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseOptOut", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rebaseState", + "outputs": [ + { + "internalType": "enum OUSD.RebaseOptions", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCredits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerTokenHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "OETHDripper": { + "address": "0x2FDfBb2b905484f1445E23A97C97F65fe0e43dEC", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_vault", + "type": "address" + }, + { + "internalType": "address", + "name": "_token", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "inputs": [], + "name": "availableFunds", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectAndRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "drip", + "outputs": [ + { + "internalType": "uint64", + "name": "lastCollect", + "type": "uint64" + }, + { + "internalType": "uint192", + "name": "perBlock", + "type": "uint192" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "dripDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_durationSeconds", + "type": "uint256" + } + ], + "name": "setDripDuration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "OETHDripperProxy": { + "address": "0xc0F42F73b8f01849a2DD99753524d4ba14317EB3", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "OETHOracleRouter": { + "address": "0x60fF8354e9C0E78e032B7daeA8da2c3265287dBd", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "cacheDecimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "price", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "OETHProxy": { + "address": "0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "OETHVault": { + "address": "0xe4775E018bFC72CC3c4944E6879d64cDF885c247", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "AssetAllocated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "NetOusdMintForStrategyThresholdChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "OusdMetaStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "TrusteeAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "TrusteeFeeBpsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_yield", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "YieldDistribution", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "approveStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "cacheDecimals", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "depositToStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + }, + { + "internalType": "address", + "name": "_ousd", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintForStrategyThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintedForStrategy", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ousdMetaStrategy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "reallocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "removeStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "setAssetDefaultStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setAutoAllocateThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxSupplyDiff", + "type": "uint256" + } + ], + "name": "setMaxSupplyDiff", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setNetOusdMintForStrategyThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "setOusdMetaStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "setPriceProvider", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRebaseThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "setRedeemFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setStrategistAddr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setTrusteeAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "setTrusteeFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "setVaultBuffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint8", + "name": "_unitConversion", + "type": "uint8" + } + ], + "name": "supportAsset", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAllFromStrategies", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "withdrawAllFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "withdrawFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "OETHVaultAdmin": { + "address": "0xbA3656713862dF9De5EB3dFEA22141F06d67221c", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "AssetAllocated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "NetOusdMintForStrategyThresholdChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "OusdMetaStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "TrusteeAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "TrusteeFeeBpsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_yield", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "YieldDistribution", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "approveStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "cacheDecimals", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "depositToStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintForStrategyThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintedForStrategy", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ousdMetaStrategy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "reallocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "removeStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "setAssetDefaultStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setAutoAllocateThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxSupplyDiff", + "type": "uint256" + } + ], + "name": "setMaxSupplyDiff", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setNetOusdMintForStrategyThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "setOusdMetaStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "setPriceProvider", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRebaseThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "setRedeemFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setStrategistAddr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setTrusteeAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "setTrusteeFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "setVaultBuffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint8", + "name": "_unitConversion", + "type": "uint8" + } + ], + "name": "supportAsset", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAllFromStrategies", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "withdrawAllFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "withdrawFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "OETHVaultCore": { + "address": "0x1091588Cc431275F99DC5Df311fd8E1Ab81c89F3", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "AssetAllocated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "NetOusdMintForStrategyThresholdChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "OusdMetaStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "TrusteeAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "TrusteeFeeBpsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_yield", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "YieldDistribution", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "allocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burnForStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "calculateRedeemOutputs", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAllAssets", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAllStrategies", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAssetCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getStrategyCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "isSupportedAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumOusdAmount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mintForStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintForStrategyThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintedForStrategy", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ousdMetaStrategy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "priceUnitMint", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "priceUnitRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumUnitAmount", + "type": "uint256" + } + ], + "name": "redeem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumUnitAmount", + "type": "uint256" + } + ], + "name": "redeemAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalValue", + "outputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "OETHVaultProxy": { + "address": "0x39254033945AA2E4809Cc2977E7087BEE48bd7Ab", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "OETHZapper": { + "address": "0x9858e47BCbBe6fBAC040519B02d7cd4B2C470C66", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_oeth", + "type": "address" + }, + { + "internalType": "address", + "name": "_vault", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Zap", + "type": "event" + }, + { + "inputs": [], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minOETH", + "type": "uint256" + } + ], + "name": "depositSFRXETH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "frxeth", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "oeth", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "sfrxeth", + "outputs": [ + { + "internalType": "contract ISfrxETH", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "vault", + "outputs": [ + { + "internalType": "contract IVault", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "weth", + "outputs": [ + { + "internalType": "contract IWETH9", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ] + }, + "OGNStakingProxy": { + "address": "0x501804B374EF06fa9C427476147ac09F1551B9A0", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "OUSD": { + "address": "0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "totalSupply", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCredits", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCreditsPerToken", + "type": "uint256" + } + ], + "name": "TotalSupplyUpdatedHighres", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "_totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newTotalSupply", + "type": "uint256" + } + ], + "name": "changeSupply", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOfHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_nameArg", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbolArg", + "type": "string" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isUpgraded", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonRebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nonRebasingSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseOptIn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseOptOut", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rebaseState", + "outputs": [ + { + "internalType": "enum OUSD.RebaseOptions", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCredits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerTokenHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "OUSDProxy": { + "address": "0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "OUSDReset": { + "address": "0x78b107E4c3192E225e6Bc2bc10e28de9866d39De", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "_nameArg", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbolArg", + "type": "string" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rebasingCredits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "_decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_newTotalSupply", + "type": "uint256" + } + ], + "name": "changeSupply", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "_totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rebaseState", + "outputs": [ + { + "internalType": "enum OUSD.RebaseOptions", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonRebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + } + ], + "name": "setVaultAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "_symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebaseOptOut", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "_name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "reset", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nonRebasingSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebaseOptIn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "totalSupply", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCredits", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCreditsPerToken", + "type": "uint256" + } + ], + "name": "TotalSupplyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + } + ] + }, + "OUSDResolutionUpgrade": { + "address": "0xB248c975DaeAc47c4960EcBD10a79E486eBD1cA8", + "abi": [ + { + "inputs": [], + "name": "_totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOfHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isUpgraded", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonRebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nonRebasingSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rebaseState", + "outputs": [ + { + "internalType": "enum OUSDResolutionUpgrade.RebaseOptions", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCredits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerTokenHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + } + ], + "name": "upgradeAccounts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "upgradeGlobals", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "OpenUniswapOracle": { + "address": "0xc15169Bad17e676b3BaDb699DEe327423cE6178e", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "tokEthPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "debugPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "tokUsdPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "ethPriceOracle_", + "type": "address" + } + ], + "name": "registerEthPriceOracle", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "getSwapConfig", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "ethOnFirst", + "type": "bool" + }, + { + "internalType": "address", + "name": "swap", + "type": "address" + }, + { + "internalType": "uint256", + "name": "blockTimestampLast", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "latestBlockTimestampLast", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceCumulativeLast", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "latestPriceCumulativeLast", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "baseUnit", + "type": "uint256" + } + ], + "internalType": "struct OpenUniswapOracle.SwapConfig", + "name": "", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "symbolHashes", + "type": "bytes32[]" + } + ], + "name": "updatePriceWindows", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ethUsdPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ethPriceOracle", + "outputs": [ + { + "internalType": "contract IPriceOracle", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "openPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "pair_", + "type": "address" + } + ], + "name": "registerPair", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "price", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "ethPriceOracle_", + "type": "address" + }, + { + "internalType": "address", + "name": "ethToken_", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "OracleRouter": { + "address": "0x06C7a36bfE715479C7f583785b7e9303dfcC89Ff", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "cacheDecimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "price", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "RebaseHooks": { + "address": "0x3dcd70E6A3fB474cFd7567A021864066Fdef6C5c", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "sync", + "type": "bool" + } + ], + "name": "postRebase", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uniswapPairs", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "_uniswapPairs", + "type": "address[]" + } + ], + "name": "setUniswapPairs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "SingleAssetStaking": { + "address": "0x3675c3521F8A6876c8287E9bB51E056862D1399B", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "stakeType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "rootHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proofDepth", + "type": "uint256" + } + ], + "name": "NewAirDropRootHash", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "durations", + "type": "uint256[]" + } + ], + "name": "NewDurations", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "rates", + "type": "uint256[]" + } + ], + "name": "NewRates", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "yes", + "type": "bool" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "Staked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "fromUser", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "toUser", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "numStakes", + "type": "uint256" + } + ], + "name": "StakesTransfered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "stakeType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "merkleProof", + "type": "bytes32[]" + } + ], + "name": "airDroppedStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint8", + "name": "stakeType", + "type": "uint8" + } + ], + "name": "airDroppedStakeClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "name": "dropRoots", + "outputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "depth", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_duration", + "type": "uint256" + } + ], + "name": "durationRewardRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "durations", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "exit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAllDurations", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAllRates", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAllStakes", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "end", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint240", + "name": "rate", + "type": "uint240" + }, + { + "internalType": "bool", + "name": "paid", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "stakeType", + "type": "uint8" + } + ], + "internalType": "struct SingleAssetStaking.Stake[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_stakingToken", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "_durations", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "_rates", + "type": "uint256[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rates", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "_stakeType", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_rootHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_proofDepth", + "type": "uint256" + } + ], + "name": "setAirDropRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_durations", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "_rates", + "type": "uint256[]" + } + ], + "name": "setDurationRates", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_paused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_agent", + "type": "address" + } + ], + "name": "setTransferAgent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "staker", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "stakeWithSender", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "stakingToken", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "totalCurrentHoldings", + "outputs": [ + { + "internalType": "uint256", + "name": "total", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "totalExpectedRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalOutstanding", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "totalStaked", + "outputs": [ + { + "internalType": "uint256", + "name": "total", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "transferAgent", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_frmAccount", + "type": "address" + }, + { + "internalType": "address", + "name": "_dstAccount", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + } + ], + "name": "transferStakes", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "userStakes", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "end", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint240", + "name": "rate", + "type": "uint240" + }, + { + "internalType": "bool", + "name": "paid", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "stakeType", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "ThreePoolStrategy": { + "address": "0x874c74E6ec318AD0a7e6f23301678a4751d00482", + "abi": [ + { + "constant": false, + "inputs": [], + "name": "collectRewardToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + } + ], + "name": "setRewardTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRewardLiquidationThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "depositAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + }, + { + "internalType": "address", + "name": "_crvGaugeAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_crvMinterAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "ThreePoolStrategyProxy": { + "address": "0x3c5fe0a3922777343CBD67D3732FCdc9f2Fa6f2F", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "Timelock": { + "address": "0x2693C0eCcb5734EBd3910E9c23a8039401a73c87", + "abi": [ + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "executeTransaction", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "pauseDeposits", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "queueTransaction", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "pendingAdmin_", + "type": "address" + } + ], + "name": "setPendingAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "cancelTransaction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "delay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAXIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MINIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "GRACE_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "unpauseDeposits", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "name": "setDelay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "queuedTransactions", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "admin_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "newDelay", + "type": "uint256" + } + ], + "name": "NewDelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "CancelTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "ExecuteTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "QueueTransaction", + "type": "event" + } + ] + }, + "Vault": { + "address": "0x6bd6CC9605Ae43B424cB06363255b061A84DfFD3", + "abi": [ + { + "constant": false, + "inputs": [], + "name": "unpauseRebase", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "harvest", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "uniswapAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "removeStrategy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "priceUSDRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "setPriceProvider", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "approveStrategy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "pauseCapital", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "harvest", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + }, + { + "internalType": "address", + "name": "_ousd", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportAsset", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_maxSupplyDiff", + "type": "uint256" + } + ], + "name": "setMaxSupplyDiff", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "priceUSDMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setStrategistAddr", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "reallocate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "setVaultBuffer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "unpauseCapital", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setUniswapAddr", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setAutoAllocateThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRebaseThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "setAssetDefaultStrategy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "pauseRebase", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "setRedeemFeeBps", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "UniswapUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "VaultAdmin": { + "address": "0xb015C7C0e5E4cA8f31f0aF462D0BCA38336f419c", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "AssetAllocated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "NetOusdMintForStrategyThresholdChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "OusdMetaStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "TrusteeAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "TrusteeFeeBpsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_yield", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "YieldDistribution", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "approveStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "cacheDecimals", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "depositToStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintForStrategyThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintedForStrategy", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ousdMetaStrategy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "reallocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "removeStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "setAssetDefaultStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setAutoAllocateThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxSupplyDiff", + "type": "uint256" + } + ], + "name": "setMaxSupplyDiff", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setNetOusdMintForStrategyThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "setOusdMetaStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "setPriceProvider", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRebaseThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "setRedeemFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setStrategistAddr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setTrusteeAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "setTrusteeFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "setVaultBuffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint8", + "name": "_unitConversion", + "type": "uint8" + } + ], + "name": "supportAsset", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAllFromStrategies", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "withdrawAllFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "withdrawFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "VaultCore": { + "address": "0x025C4DE2e9f91C39034C9A3661aCA70c55F65242", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "AssetAllocated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "NetOusdMintForStrategyThresholdChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "OusdMetaStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "TrusteeAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "TrusteeFeeBpsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_yield", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "YieldDistribution", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "allocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burnForStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "calculateRedeemOutputs", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAllAssets", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAllStrategies", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAssetCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getStrategyCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "isSupportedAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumOusdAmount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mintForStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintForStrategyThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintedForStrategy", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ousdMetaStrategy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "priceUnitMint", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "priceUnitRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumUnitAmount", + "type": "uint256" + } + ], + "name": "redeem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumUnitAmount", + "type": "uint256" + } + ], + "name": "redeemAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalValue", + "outputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "VaultProxy": { + "address": "0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "VaultValueChecker": { + "address": "0xEEcD72c99749A1FC977704AB900a05e8300F4318", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_vault", + "type": "address" + }, + { + "internalType": "address", + "name": "_ousd", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "lowValueDelta", + "type": "int256" + }, + { + "internalType": "int256", + "name": "highValueDelta", + "type": "int256" + }, + { + "internalType": "int256", + "name": "lowSupplyDelta", + "type": "int256" + }, + { + "internalType": "int256", + "name": "highSupplyDelta", + "type": "int256" + } + ], + "name": "checkDelta", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "ousd", + "outputs": [ + { + "internalType": "contract OUSD", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "snapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "vaultValue", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalSupply", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "takeSnapshot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vault", + "outputs": [ + { + "internalType": "contract VaultCore", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "WOETH": { + "address": "0x9C5a92AaA2A4373D6bd20F7b45cdEb7A13f9AA79", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ERC20", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "asset", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "convertToAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "convertToShares", + "outputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "redeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount_", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "WOETHProxy": { + "address": "0xDcEe70654261AF21C44c093C300eD3Bb97b78192", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "WrappedOUSDProxy": { + "address": "0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "WrappedOusd": { + "address": "0xBF3B9b141Cb3629F5Bb8F721cbA9265c92494539", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ERC20", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "asset", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "convertToAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "convertToShares", + "outputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "redeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount_", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ] + } + } +} \ No newline at end of file diff --git a/dapp-oeth/network.mainnet.json b/dapp-oeth/network.mainnet.json new file mode 100644 index 0000000000..3e1920b4e9 --- /dev/null +++ b/dapp-oeth/network.mainnet.json @@ -0,0 +1,25368 @@ +{ + "name": "mainnet", + "chainId": "1", + "contracts": { + "AaveStrategy": { + "address": "0x4F424C6f066ae74784f3595A3A84923ad36d5471", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "incentivesController", + "outputs": [ + { + "internalType": "contract IAaveIncentivesController", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + }, + { + "internalType": "address", + "name": "_incentivesAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_stkAaveAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "stkAave", + "outputs": [ + { + "internalType": "contract IAaveStakedToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "AaveStrategyProxy": { + "address": "0x5e3646A1Db86993f73E6b74A57D8640B69F7e259", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "Buyback": { + "address": "0x6C5cdfB47150EFc52072cB93Eea1e0F123529748", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_uniswapAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategistAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_ousd", + "type": "address" + }, + { + "internalType": "address", + "name": "_ogv", + "type": "address" + }, + { + "internalType": "address", + "name": "_usdt", + "type": "address" + }, + { + "internalType": "address", + "name": "_weth9", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardsSource", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "UniswapUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardsSource", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setStrategistAddr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setUniswapAddr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "swap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "ousdAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minExpected", + "type": "uint256" + } + ], + "name": "swapNow", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "uniswapAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "ChainlinkOracle": { + "address": "0x017aD99900b9581Cd40C815990890EE9F0858246", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "tokEthPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "tokUsdPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ethUsdPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "feed", + "type": "address" + }, + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "bool", + "name": "directToUsd", + "type": "bool" + } + ], + "name": "registerFeed", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "price", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "ethFeed_", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_feed", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "_symbol", + "type": "string" + }, + { + "indexed": false, + "internalType": "bool", + "name": "_directToUsd", + "type": "bool" + } + ], + "name": "FeedRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "CompensationClaims": { + "address": "0x9C94df9d594BA1eb94430C006c269C314B1A8281", + "abi": [ + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_coin", + "type": "address" + } + ], + "name": "collect", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + } + ], + "name": "claim", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "_addresses", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "setClaims", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalClaims", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "unlockAdjuster", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_seconds", + "type": "uint256" + } + ], + "name": "start", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isAdjusterLocked", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "adjuster", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "lockAdjuster", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "end", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "token", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_token", + "type": "address" + }, + { + "internalType": "address", + "name": "_adjuster", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Claim", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "ClaimSet", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "end", + "type": "uint256" + } + ], + "name": "Start", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Lock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "Unlock", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "coin", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Collect", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "CompoundStrategy": { + "address": "0xC697Eab7B9F5c5cE2d35B9B69917F96001712Ad5", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "SkippedWithdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "CompoundStrategyProxy": { + "address": "0x9c459eeb3FA179a40329b81C1635525e9A0Ef094", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "ConvexGeneralizedMetaStrategy": { + "address": "0xB6764c2Cc8F1fDCd89Af1C3e246f886579746233", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_prevMaxSlippagePercentage", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newMaxSlippagePercentage", + "type": "uint256" + } + ], + "name": "MaxWithdrawalSlippageUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "cvxDepositorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolMainToken", + "type": "address" + }, + { + "internalType": "address", + "name": "cvxRewardStakerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolLPToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "cvxDepositorPTokenId", + "type": "uint256" + } + ], + "internalType": "struct BaseConvexMetaStrategy.InitConfig", + "name": "initConfig", + "type": "tuple" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxWithdrawalSlippage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxWithdrawalSlippage", + "type": "uint256" + } + ], + "name": "setMaxWithdrawalSlippage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "ConvexLUSDMetaStrategyProxy": { + "address": "0x7A192DD9Cc4Ea9bdEdeC9992df74F1DA55e60a19", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "ConvexOUSDMetaStrategy": { + "address": "0xc7faB3de576caf6044369930422f12C4FDbb2B32", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_prevMaxSlippagePercentage", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_newMaxSlippagePercentage", + "type": "uint256" + } + ], + "name": "MaxWithdrawalSlippageUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + }, + { + "components": [ + { + "internalType": "address", + "name": "platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "cvxDepositorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolMainToken", + "type": "address" + }, + { + "internalType": "address", + "name": "cvxRewardStakerAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "metapoolLPToken", + "type": "address" + }, + { + "internalType": "uint256", + "name": "cvxDepositorPTokenId", + "type": "uint256" + } + ], + "internalType": "struct BaseConvexMetaStrategy.InitConfig", + "name": "initConfig", + "type": "tuple" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxWithdrawalSlippage", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxWithdrawalSlippage", + "type": "uint256" + } + ], + "name": "setMaxWithdrawalSlippage", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "ConvexOUSDMetaStrategyProxy": { + "address": "0x89Eb88fEdc50FC77ae8a18aAD1cA0ac27f777a90", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "ConvexStrategy": { + "address": "0xEe83F8eBB435373f6c231173995cC990697af1B8", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_cvxRewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + }, + { + "internalType": "address", + "name": "_cvxDepositorAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_cvxRewardStakerAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_cvxDepositorPTokenId", + "type": "uint256" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "ConvexStrategyProxy": { + "address": "0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "CurveUSDCStrategy": { + "address": "0xF92B0DE25660C18BEDaa55795986781d7899b0f9", + "abi": [ + { + "constant": false, + "inputs": [], + "name": "collectRewardToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "liquidate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_crvGaugeAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_crvMinterAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "amountDeposited", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + } + ], + "name": "setRewardTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRewardLiquidationThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "amountWithdrawn", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "CurveUSDCStrategyProxy": { + "address": "0x67023c56548BA15aD3542E65493311F19aDFdd6d", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "CurveUSDTStrategy": { + "address": "0x641E3b5b081Fb2fb8B43D5a163649312a28e23Da", + "abi": [ + { + "constant": false, + "inputs": [], + "name": "collectRewardToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "liquidate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "internalType": "address", + "name": "_crvGaugeAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_crvMinterAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "amountDeposited", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + } + ], + "name": "setRewardTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRewardLiquidationThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "amountWithdrawn", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "CurveUSDTStrategyProxy": { + "address": "0xe40e09cD6725E542001FcB900d9dfeA447B529C0", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "Dripper": { + "address": "0xc7068A35F9F5b77471BcFfBdf82D9531D52AFCdc", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_vault", + "type": "address" + }, + { + "internalType": "address", + "name": "_token", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "inputs": [], + "name": "availableFunds", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collect", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectAndRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "drip", + "outputs": [ + { + "internalType": "uint64", + "name": "lastCollect", + "type": "uint64" + }, + { + "internalType": "uint192", + "name": "perBlock", + "type": "uint192" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "dripDuration", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_durationSeconds", + "type": "uint256" + } + ], + "name": "setDripDuration", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "DripperProxy": { + "address": "0x80C898ae5e56f888365E235CeB8CEa3EB726CB58", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "Flipper": { + "address": "0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithUsdt", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithDai", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForDai", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "buyOusdWithUsdc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForUsdc", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "sellOusdForUsdt", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebaseOptIn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "FraxETHStrategyProxy": { + "address": "0x3fF8654D633D4Ea0faE24c52Aec73B4A20D0d0e5", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "Generalized4626Strategy": { + "address": "0x167747bF5B3B6Bf2F7f7C4CCe32C463E9598D425", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "Governor": { + "address": "0x72426BA137DEC62657306b12B1E869d43FeC6eC7", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "admin_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "CancelTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "ExecuteTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "newDelay", + "type": "uint256" + } + ], + "name": "NewDelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "ProposalCancelled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "proposer", + "type": "address" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "indexed": false, + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + }, + { + "indexed": false, + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "ProposalCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + } + ], + "name": "ProposalExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "ProposalQueued", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "QueueTransaction", + "type": "event" + }, + { + "inputs": [], + "name": "GRACE_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAXIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MAX_OPERATIONS", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MINIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "acceptAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "cancel", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "delay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "execute", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "getActions", + "outputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "pauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proposalCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "address", + "name": "proposer", + "type": "address" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "executed", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "targets", + "type": "address[]" + }, + { + "internalType": "string[]", + "name": "signatures", + "type": "string[]" + }, + { + "internalType": "bytes[]", + "name": "calldatas", + "type": "bytes[]" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "propose", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "queue", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "queuedTransactions", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "name": "setDelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "pendingAdmin_", + "type": "address" + } + ], + "name": "setPendingAdmin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "state", + "outputs": [ + { + "internalType": "enum Governor.ProposalState", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "unpauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "Harvester": { + "address": "0x5E72EB0ab74B5B4d2766a7956D210746Ceab96E1", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_usdtAddress", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_tokenAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint16", + "name": "_allowedSlippageBps", + "type": "uint16" + }, + { + "indexed": false, + "internalType": "uint16", + "name": "_harvestRewardBps", + "type": "uint16" + }, + { + "indexed": false, + "internalType": "address", + "name": "_uniswapV2CompatibleAddr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_liquidationLimit", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "bool", + "name": "_doSwapRewardToken", + "type": "bool" + } + ], + "name": "RewardTokenConfigUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "_isSupported", + "type": "bool" + } + ], + "name": "SupportedStrategyUpdate", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "UniswapUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "harvest", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "harvest", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTo", + "type": "address" + } + ], + "name": "harvestAndSwap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardProceedsAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rewardTokenConfigs", + "outputs": [ + { + "internalType": "uint16", + "name": "allowedSlippageBps", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "harvestRewardBps", + "type": "uint16" + }, + { + "internalType": "address", + "name": "uniswapV2CompatibleAddr", + "type": "address" + }, + { + "internalType": "bool", + "name": "doSwapRewardToken", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "liquidationLimit", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_tokenAddress", + "type": "address" + }, + { + "internalType": "uint16", + "name": "_allowedSlippageBps", + "type": "uint16" + }, + { + "internalType": "uint16", + "name": "_harvestRewardBps", + "type": "uint16" + }, + { + "internalType": "address", + "name": "_uniswapV2CompatibleAddr", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_liquidationLimit", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "_doSwapRewardToken", + "type": "bool" + } + ], + "name": "setRewardTokenConfig", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_rewardProceedsAddress", + "type": "address" + } + ], + "name": "setRewardsProceedsAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddress", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isSupported", + "type": "bool" + } + ], + "name": "setSupportedStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "supportedStrategies", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "swap", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_swapToken", + "type": "address" + } + ], + "name": "swapRewardToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "usdtAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "HarvesterProxy": { + "address": "0x21Fb5812D70B3396880D30e90D9e5C1202266c89", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "MinuteTimelock": { + "address": "0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428", + "abi": [ + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "executeTransaction", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "queueTransaction", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "pendingAdmin_", + "type": "address" + } + ], + "name": "setPendingAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "cancelTransaction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "delay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAXIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MINIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "GRACE_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_admin", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "name": "setDelay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "queuedTransactions", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "newDelay", + "type": "uint256" + } + ], + "name": "NewDelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "CancelTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "ExecuteTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "QueueTransaction", + "type": "event" + } + ] + }, + "MixOracle": { + "address": "0x843530DC8005e13dEA30CEa2394FF60635f38cc4", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "priceMin", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxDrift", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "getTokenUSDOraclesLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_minDrift", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxDrift", + "type": "uint256" + } + ], + "name": "setMinMaxDrift", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "minDrift", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "getTokenETHOraclesLength", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "priceMax", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "address[]", + "name": "ethOracles", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "usdOracles", + "type": "address[]" + } + ], + "name": "registerTokenOracles", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "idx", + "type": "uint256" + } + ], + "name": "getTokenETHOracle", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "oracle", + "type": "address" + } + ], + "name": "unregisterEthUsdOracle", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "oracle", + "type": "address" + } + ], + "name": "registerEthUsdOracle", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "internalType": "uint256", + "name": "idx", + "type": "uint256" + } + ], + "name": "getTokenUSDOracle", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "ethUsdOracles", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxDrift", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minDrift", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_minDrift", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_maxDrift", + "type": "uint256" + } + ], + "name": "DriftsUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oracle", + "type": "address" + } + ], + "name": "EthUsdOracleRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oracle", + "type": "address" + } + ], + "name": "EthUsdOracleDeregistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "symbol", + "type": "string" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "ethOracles", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "usdOracles", + "type": "address[]" + } + ], + "name": "TokenOracleRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "MorphoAaveStrategy": { + "address": "0xC72bda59E382be10bb5D71aBd01Ecc65aa16fD83", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "LENS", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MORPHO", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getPendingRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "MorphoAaveStrategyProxy": { + "address": "0x79F2188EF9350A1dC11A062cca0abE90684b0197", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "MorphoCompoundStrategy": { + "address": "0x5cC70898c47f73265BdE5b8BB9D37346d0726c09", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_oldHarvesterAddress", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_newHarvesterAddress", + "type": "address" + } + ], + "name": "HarvesterAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address[]", + "name": "_oldAddresses", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "_newAddresses", + "type": "address[]" + } + ], + "name": "RewardTokenAddressesUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "rewardToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "inputs": [], + "name": "LENS", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MORPHO", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "_deprecated_rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "collectRewardTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "depositAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getPendingRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRewardTokenAddresses", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvesterAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rewardTokenAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_harvesterAddress", + "type": "address" + } + ], + "name": "setHarvesterAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "_rewardTokenAddresses", + "type": "address[]" + } + ], + "name": "setRewardTokenAddresses", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "MorphoCompoundStrategyProxy": { + "address": "0x5A4eEe58744D1430876d5cA93cAB5CcB763C037D", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "OETH": { + "address": "0x7c1F8b1824f2758060CfC9Dd964C590710367A1E", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "totalSupply", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCredits", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCreditsPerToken", + "type": "uint256" + } + ], + "name": "TotalSupplyUpdatedHighres", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "_totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newTotalSupply", + "type": "uint256" + } + ], + "name": "changeSupply", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOfHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_nameArg", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbolArg", + "type": "string" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_initialCreditsPerToken", + "type": "uint256" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isUpgraded", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonRebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nonRebasingSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseOptIn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseOptOut", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rebaseState", + "outputs": [ + { + "internalType": "enum OUSD.RebaseOptions", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCredits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerTokenHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "OETHOracleRouter": { + "address": "0x60fF8354e9C0E78e032B7daeA8da2c3265287dBd", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "cacheDecimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "price", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "OETHProxy": { + "address": "0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "OETHVault": { + "address": "0xe4775E018bFC72CC3c4944E6879d64cDF885c247", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "AssetAllocated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "NetOusdMintForStrategyThresholdChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "OusdMetaStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "TrusteeAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "TrusteeFeeBpsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_yield", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "YieldDistribution", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "approveStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "cacheDecimals", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "depositToStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + }, + { + "internalType": "address", + "name": "_ousd", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintForStrategyThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintedForStrategy", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ousdMetaStrategy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "reallocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "removeStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "setAssetDefaultStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setAutoAllocateThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxSupplyDiff", + "type": "uint256" + } + ], + "name": "setMaxSupplyDiff", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setNetOusdMintForStrategyThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "setOusdMetaStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "setPriceProvider", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRebaseThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "setRedeemFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setStrategistAddr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setTrusteeAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "setTrusteeFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "setVaultBuffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint8", + "name": "_unitConversion", + "type": "uint8" + } + ], + "name": "supportAsset", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAllFromStrategies", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "withdrawAllFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "withdrawFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "OETHVaultAdmin": { + "address": "0xbA3656713862dF9De5EB3dFEA22141F06d67221c", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "AssetAllocated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "NetOusdMintForStrategyThresholdChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "OusdMetaStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "TrusteeAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "TrusteeFeeBpsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_yield", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "YieldDistribution", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "approveStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "cacheDecimals", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "depositToStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintForStrategyThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintedForStrategy", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ousdMetaStrategy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "reallocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "removeStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "setAssetDefaultStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setAutoAllocateThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxSupplyDiff", + "type": "uint256" + } + ], + "name": "setMaxSupplyDiff", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setNetOusdMintForStrategyThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "setOusdMetaStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "setPriceProvider", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRebaseThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "setRedeemFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setStrategistAddr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setTrusteeAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "setTrusteeFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "setVaultBuffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint8", + "name": "_unitConversion", + "type": "uint8" + } + ], + "name": "supportAsset", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAllFromStrategies", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "withdrawAllFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "withdrawFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "OETHVaultCore": { + "address": "0x1091588Cc431275F99DC5Df311fd8E1Ab81c89F3", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "AssetAllocated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "NetOusdMintForStrategyThresholdChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "OusdMetaStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "TrusteeAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "TrusteeFeeBpsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_yield", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "YieldDistribution", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "allocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burnForStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "calculateRedeemOutputs", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAllAssets", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAllStrategies", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAssetCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getStrategyCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "isSupportedAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumOusdAmount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mintForStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintForStrategyThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintedForStrategy", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ousdMetaStrategy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "priceUnitMint", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "priceUnitRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumUnitAmount", + "type": "uint256" + } + ], + "name": "redeem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumUnitAmount", + "type": "uint256" + } + ], + "name": "redeemAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalValue", + "outputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "OETHVaultProxy": { + "address": "0x39254033945AA2E4809Cc2977E7087BEE48bd7Ab", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "OETHZapper": { + "address": "0x8c135F50C7317A93Cc95bB208A494E5ADe5B66b0", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_oeth", + "type": "address" + }, + { + "internalType": "address", + "name": "_vault", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "minter", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "MintFrom", + "type": "event" + }, + { + "inputs": [], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minOETH", + "type": "uint256" + } + ], + "name": "depositSFRXETH", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseOptIn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ] + }, + "OGNStakingProxy": { + "address": "0x501804B374EF06fa9C427476147ac09F1551B9A0", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "OUSD": { + "address": "0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "totalSupply", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCredits", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCreditsPerToken", + "type": "uint256" + } + ], + "name": "TotalSupplyUpdatedHighres", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "_totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_newTotalSupply", + "type": "uint256" + } + ], + "name": "changeSupply", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOfHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_nameArg", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbolArg", + "type": "string" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isUpgraded", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonRebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nonRebasingSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseOptIn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseOptOut", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rebaseState", + "outputs": [ + { + "internalType": "enum OUSD.RebaseOptions", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCredits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerTokenHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "OUSDProxy": { + "address": "0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "OUSDReset": { + "address": "0x78b107E4c3192E225e6Bc2bc10e28de9866d39De", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "_nameArg", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbolArg", + "type": "string" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rebasingCredits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "_decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_newTotalSupply", + "type": "uint256" + } + ], + "name": "changeSupply", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "_totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rebaseState", + "outputs": [ + { + "internalType": "enum OUSD.RebaseOptions", + "name": "", + "type": "uint8" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonRebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + } + ], + "name": "setVaultAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "_symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebaseOptOut", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "_name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "reset", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nonRebasingSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "rebaseOptIn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "totalSupply", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCredits", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rebasingCreditsPerToken", + "type": "uint256" + } + ], + "name": "TotalSupplyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + } + ] + }, + "OUSDResolutionUpgrade": { + "address": "0xB248c975DaeAc47c4960EcBD10a79E486eBD1cA8", + "abi": [ + { + "inputs": [], + "name": "_totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_account", + "type": "address" + } + ], + "name": "creditsBalanceOfHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "isUpgraded", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonRebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nonRebasingSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "rebaseState", + "outputs": [ + { + "internalType": "enum OUSDResolutionUpgrade.RebaseOptions", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCredits", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebasingCreditsPerTokenHighres", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "accounts", + "type": "address[]" + } + ], + "name": "upgradeAccounts", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "upgradeGlobals", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "OpenUniswapOracle": { + "address": "0xc15169Bad17e676b3BaDb699DEe327423cE6178e", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "tokEthPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "debugPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "tokUsdPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "ethPriceOracle_", + "type": "address" + } + ], + "name": "registerEthPriceOracle", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "getSwapConfig", + "outputs": [ + { + "components": [ + { + "internalType": "bool", + "name": "ethOnFirst", + "type": "bool" + }, + { + "internalType": "address", + "name": "swap", + "type": "address" + }, + { + "internalType": "uint256", + "name": "blockTimestampLast", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "latestBlockTimestampLast", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "priceCumulativeLast", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "latestPriceCumulativeLast", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "baseUnit", + "type": "uint256" + } + ], + "internalType": "struct OpenUniswapOracle.SwapConfig", + "name": "", + "type": "tuple" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bytes32[]", + "name": "symbolHashes", + "type": "bytes32[]" + } + ], + "name": "updatePriceWindows", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ethUsdPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ethPriceOracle", + "outputs": [ + { + "internalType": "contract IPriceOracle", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "openPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "pair_", + "type": "address" + } + ], + "name": "registerPair", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "price", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "ethPriceOracle_", + "type": "address" + }, + { + "internalType": "address", + "name": "ethToken_", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "OracleRouter": { + "address": "0x06C7a36bfE715479C7f583785b7e9303dfcC89Ff", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "cacheDecimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "price", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "RebaseHooks": { + "address": "0x3dcd70E6A3fB474cFd7567A021864066Fdef6C5c", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "bool", + "name": "sync", + "type": "bool" + } + ], + "name": "postRebase", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "uniswapPairs", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address[]", + "name": "_uniswapPairs", + "type": "address[]" + } + ], + "name": "setUniswapPairs", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "SingleAssetStaking": { + "address": "0x3675c3521F8A6876c8287E9bB51E056862D1399B", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "stakeType", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "rootHash", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proofDepth", + "type": "uint256" + } + ], + "name": "NewAirDropRootHash", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "durations", + "type": "uint256[]" + } + ], + "name": "NewDurations", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "rates", + "type": "uint256[]" + } + ], + "name": "NewRates", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "yes", + "type": "bool" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rate", + "type": "uint256" + } + ], + "name": "Staked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "fromUser", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "toUser", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "numStakes", + "type": "uint256" + } + ], + "name": "StakesTransfered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "stakedAmount", + "type": "uint256" + } + ], + "name": "Withdrawn", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "stakeType", + "type": "uint8" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "rate", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "bytes32[]", + "name": "merkleProof", + "type": "bytes32[]" + } + ], + "name": "airDroppedStake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "internalType": "uint8", + "name": "stakeType", + "type": "uint8" + } + ], + "name": "airDroppedStakeClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "name": "dropRoots", + "outputs": [ + { + "internalType": "bytes32", + "name": "hash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "depth", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_duration", + "type": "uint256" + } + ], + "name": "durationRewardRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "durations", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "exit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAllDurations", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAllRates", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "getAllStakes", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "end", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint240", + "name": "rate", + "type": "uint240" + }, + { + "internalType": "bool", + "name": "paid", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "stakeType", + "type": "uint8" + } + ], + "internalType": "struct SingleAssetStaking.Stake[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_stakingToken", + "type": "address" + }, + { + "internalType": "uint256[]", + "name": "_durations", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "_rates", + "type": "uint256[]" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "rates", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint8", + "name": "_stakeType", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "_rootHash", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "_proofDepth", + "type": "uint256" + } + ], + "name": "setAirDropRoot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256[]", + "name": "_durations", + "type": "uint256[]" + }, + { + "internalType": "uint256[]", + "name": "_rates", + "type": "uint256[]" + } + ], + "name": "setDurationRates", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_paused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_agent", + "type": "address" + } + ], + "name": "setTransferAgent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "stake", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "staker", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + } + ], + "name": "stakeWithSender", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "stakingToken", + "outputs": [ + { + "internalType": "contract IERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "totalCurrentHoldings", + "outputs": [ + { + "internalType": "uint256", + "name": "total", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "totalExpectedRewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalOutstanding", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "totalStaked", + "outputs": [ + { + "internalType": "uint256", + "name": "total", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "transferAgent", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_frmAccount", + "type": "address" + }, + { + "internalType": "address", + "name": "_dstAccount", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + } + ], + "name": "transferStakes", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "userStakes", + "outputs": [ + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "end", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "duration", + "type": "uint256" + }, + { + "internalType": "uint240", + "name": "rate", + "type": "uint240" + }, + { + "internalType": "bool", + "name": "paid", + "type": "bool" + }, + { + "internalType": "uint8", + "name": "stakeType", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "ThreePoolStrategy": { + "address": "0x874c74E6ec318AD0a7e6f23301678a4751d00482", + "abi": [ + { + "constant": false, + "inputs": [], + "name": "collectRewardToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "setPTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetToPToken", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardTokenAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "vaultAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "deposit", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rewardLiquidationThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "withdrawAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_assetIndex", + "type": "uint256" + } + ], + "name": "removePToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + } + ], + "name": "setRewardTokenAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportsAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "safeApproveAllTokens", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRewardLiquidationThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_recipient", + "type": "address" + }, + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdraw", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "platformAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "depositAll", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_platformAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_vaultAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_rewardTokenAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "address[]", + "name": "_pTokens", + "type": "address[]" + }, + { + "internalType": "address", + "name": "_crvGaugeAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_crvMinterAddress", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "RewardTokenCollected", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + } + ], + "name": "PTokenRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_pToken", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "Withdrawal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "ThreePoolStrategyProxy": { + "address": "0x3c5fe0a3922777343CBD67D3732FCdc9f2Fa6f2F", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "Timelock": { + "address": "0x2693C0eCcb5734EBd3910E9c23a8039401a73c87", + "abi": [ + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "executeTransaction", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "acceptAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "pendingAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "pauseDeposits", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "queueTransaction", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "pendingAdmin_", + "type": "address" + } + ], + "name": "setPendingAdmin", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "cancelTransaction", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "delay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAXIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MINIMUM_DELAY", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "GRACE_PERIOD", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "unpauseDeposits", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "name": "setDelay", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "queuedTransactions", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "admin_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "delay_", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "NewAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newPendingAdmin", + "type": "address" + } + ], + "name": "NewPendingAdmin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "newDelay", + "type": "uint256" + } + ], + "name": "NewDelay", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "CancelTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "ExecuteTransaction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "txHash", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "target", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "signature", + "type": "string" + }, + { + "indexed": false, + "internalType": "bytes", + "name": "data", + "type": "bytes" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eta", + "type": "uint256" + } + ], + "name": "QueueTransaction", + "type": "event" + } + ] + }, + "Vault": { + "address": "0x6bd6CC9605Ae43B424cB06363255b061A84DfFD3", + "abi": [ + { + "constant": false, + "inputs": [], + "name": "unpauseRebase", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "harvest", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "uniswapAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "removeStrategy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "priceUSDRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "setPriceProvider", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "approveStrategy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "pauseCapital", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "harvest", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + }, + { + "internalType": "address", + "name": "_ousd", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportAsset", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_maxSupplyDiff", + "type": "uint256" + } + ], + "name": "setMaxSupplyDiff", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "string", + "name": "symbol", + "type": "string" + } + ], + "name": "priceUSDMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setStrategistAddr", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "reallocate", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "setVaultBuffer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "unpauseCapital", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setUniswapAddr", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setAutoAllocateThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRebaseThreshold", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "setAssetDefaultStrategy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "pauseRebase", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "setRedeemFeeBps", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "UniswapUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "VaultAdmin": { + "address": "0x1eF0553FEb80e6f133cAe3092e38F0b23dA6452b", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "AssetAllocated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "NetOusdMintForStrategyThresholdChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "OusdMetaStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "TrusteeAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "TrusteeFeeBpsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_yield", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "YieldDistribution", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "approveStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "depositToStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintForStrategyThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintedForStrategy", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ousdMetaStrategy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "priceUSDMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset", + "type": "address" + } + ], + "name": "priceUSDRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategyToAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "reallocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "removeStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "setAssetDefaultStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setAutoAllocateThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_maxSupplyDiff", + "type": "uint256" + } + ], + "name": "setMaxSupplyDiff", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setNetOusdMintForStrategyThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "setOusdMetaStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "setPriceProvider", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "setRebaseThreshold", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "setRedeemFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setStrategistAddr", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "setTrusteeAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "setTrusteeFeeBps", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "setVaultBuffer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "supportAsset", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseCapital", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "unpauseRebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAllFromStrategies", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyAddr", + "type": "address" + } + ], + "name": "withdrawAllFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_strategyFromAddress", + "type": "address" + }, + { + "internalType": "address[]", + "name": "_assets", + "type": "address[]" + }, + { + "internalType": "uint256[]", + "name": "_amounts", + "type": "uint256[]" + } + ], + "name": "withdrawFromStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "VaultCore": { + "address": "0x997c35A0bf8E21404aE4379841E0603C957138c3", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "AllocateThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "AssetAllocated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "_strategy", + "type": "address" + } + ], + "name": "AssetDefaultStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "AssetSupported", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalPaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "CapitalUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "maxSupplyDiff", + "type": "uint256" + } + ], + "name": "MaxSupplyDiffChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "NetOusdMintForStrategyThresholdChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_ousdMetaStrategy", + "type": "address" + } + ], + "name": "OusdMetaStrategyUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_priceProvider", + "type": "address" + } + ], + "name": "PriceProviderUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebasePaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_threshold", + "type": "uint256" + } + ], + "name": "RebaseThresholdUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "RebaseUnpaused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_value", + "type": "uint256" + } + ], + "name": "Redeem", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_redeemFeeBps", + "type": "uint256" + } + ], + "name": "RedeemFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "StrategistUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_addr", + "type": "address" + } + ], + "name": "StrategyRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_address", + "type": "address" + } + ], + "name": "TrusteeAddressChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_basis", + "type": "uint256" + } + ], + "name": "TrusteeFeeBpsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "_vaultBuffer", + "type": "uint256" + } + ], + "name": "VaultBufferUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_yield", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "_fee", + "type": "uint256" + } + ], + "name": "YieldDistribution", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "allocate", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "assetDefaultStrategies", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "autoAllocateThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burnForStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "calculateRedeemOutputs", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "capitalPaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "checkBalance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "getAllAssets", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAllStrategies", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getAssetCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getStrategyCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + } + ], + "name": "isSupportedAsset", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "maxSupplyDiff", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumOusdAmount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mintForStrategy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintForStrategyThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "netOusdMintedForStrategy", + "outputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ousdMetaStrategy", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "priceProvider", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebase", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rebasePaused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rebaseThreshold", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_minimumUnitAmount", + "type": "uint256" + } + ], + "name": "redeem", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_minimumUnitAmount", + "type": "uint256" + } + ], + "name": "redeemAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "redeemFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImpl", + "type": "address" + } + ], + "name": "setAdminImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "strategistAddr", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalValue", + "outputs": [ + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "trusteeFeeBps", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "vaultBuffer", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "VaultProxy": { + "address": "0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + } + ] + }, + "VaultValueChecker": { + "address": "0xEEcD72c99749A1FC977704AB900a05e8300F4318", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_vault", + "type": "address" + }, + { + "internalType": "address", + "name": "_ousd", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "lowValueDelta", + "type": "int256" + }, + { + "internalType": "int256", + "name": "highValueDelta", + "type": "int256" + }, + { + "internalType": "int256", + "name": "lowSupplyDelta", + "type": "int256" + }, + { + "internalType": "int256", + "name": "highSupplyDelta", + "type": "int256" + } + ], + "name": "checkDelta", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "ousd", + "outputs": [ + { + "internalType": "contract OUSD", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "snapshots", + "outputs": [ + { + "internalType": "uint256", + "name": "vaultValue", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalSupply", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "takeSnapshot", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "vault", + "outputs": [ + { + "internalType": "contract VaultCore", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "WOETH": { + "address": "0x9C5a92AaA2A4373D6bd20F7b45cdEb7A13f9AA79", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ERC20", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "asset", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "convertToAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "convertToShares", + "outputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "redeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount_", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ] + }, + "WOETHProxy": { + "address": "0xDcEe70654261AF21C44c093C300eD3Bb97b78192", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "WrappedOUSDProxy": { + "address": "0xD2af830E8CBdFed6CC11Bab697bB25496ed6FA62", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "inputs": [], + "name": "admin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "address", + "name": "_initGovernor", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "WrappedOusd": { + "address": "0xBF3B9b141Cb3629F5Bb8F721cbA9265c92494539", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ERC20", + "name": "underlying_", + "type": "address" + }, + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "GovernorshipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousGovernor", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newGovernor", + "type": "address" + } + ], + "name": "PendingGovernorshipTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "asset", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claimGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "convertToAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "convertToShares", + "outputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "governor", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "isGovernor", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "redeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "sender", + "type": "address" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newGovernor", + "type": "address" + } + ], + "name": "transferGovernance", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "asset_", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount_", + "type": "uint256" + } + ], + "name": "transferToken", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ] + } + } +} \ No newline at end of file diff --git a/dapp-oeth/next.config.js b/dapp-oeth/next.config.js new file mode 100644 index 0000000000..7d5b47affb --- /dev/null +++ b/dapp-oeth/next.config.js @@ -0,0 +1,140 @@ +const path = require('path') +const webpack = require('webpack') +const nextSourceMaps = require('@zeit/next-source-maps')() + +const isStaging = process.env.STAGING === 'true' +const isProduction = process.env.NODE_ENV === 'production' && !isStaging + +let envFile = 'local.env' +/* + * Environmental variables are inserted into the code at the next build step. So it doesn't matter what + * env variables the production instance has, because the vars have already been inserted and replaced at + * build step. For that reason we decode production and staging all into deploy.env and have google instances + * read from that env file. + */ +if (isProduction || isStaging) { + envFile = 'deploy.env' +} + +require('dotenv').config({ + /* can not use ".env" file name for local environment, because env vars from .env file + * get set to process.env before the `dotenv` is initialized and dotenv doesn't + * override the values with the prod values. + */ + path: path.resolve(__dirname, envFile), +}) + +try { + require('envkey') +} catch (err) { + console.error('EnvKey not set') +} + +const config = { + webpack: (config, { isServer, buildId }) => { + // Fixes npm packages that depend on `fs` module + config.node = { + fs: 'empty', + } + /** + * Returns environment variables as an object + */ + const env = Object.keys(process.env).reduce((acc, curr) => { + acc[`process.env.${curr}`] = JSON.stringify(process.env[curr]) + return acc + }, {}) + + //console.log("CONFIG: ", JSON.stringify(config.module.rules)) + + /** Allows you to create global constants which can be configured + * at compile time, which in our case is our environment variables + */ + config.plugins.push(new webpack.DefinePlugin(env)) + + config.plugins.push( + new webpack.DefinePlugin({ + 'process.env.SENTRY_RELEASE': JSON.stringify(buildId), + }) + ) + + if (!isServer) { + config.resolve.alias['@sentry/node'] = '@sentry/browser' + } + + return config + }, + cssLoaderOptions: { + url: false, + }, + async redirects() { + return [ + { + source: '/swap', + destination: '/', + permanent: true, + }, + { + source: '/dapp', + destination: '/', + permanent: true, + }, + { + source: '/mint', + destination: '/', + permanent: true, + }, + { + source: '/stake', + destination: '/earn', + permanent: true, + }, + ] + }, + async headers() { + return [ + { + source: '/manifest.json', + headers: [{ key: 'Access-Control-Allow-Origin', value: '*' }], + }, + { + source: '/(.*)?', // Matches all pages + headers: [ + { + // Cache all pages for 10 minutes, give server an extra 2 minutes + // to regenerate the content in the background during which the + // cache can still keep serving the content it has. + key: 'Cache-Control', + value: 'public, max-age=600, stale-while-revalidate=120', + }, + { + key: 'x-ipfs-path', + value: '/ipns/ousd.eth/', + }, + { + key: 'Content-Security-Policy', + value: 'frame-ancestors https://*.ledger.com', + }, + ], + }, + ] + }, +} + +if (process.env.NO_LANDING === 'true') { + console.log('Building without landing page') + config.exportPathMap = async function ( + defaultPathMap, + { dev, dir, outDir, distDir, buildId } + ) { + return { + '/': { page: '/mint' }, + } + } +} + +// Ipfs requires relative paths instead of absolute ones +if (process.env.DEPLOY_MODE === 'ipfs') { + config.assetPrefix = './' +} + +module.exports = config diff --git a/dapp-oeth/package.json b/dapp-oeth/package.json new file mode 100644 index 0000000000..b953ab6dd4 --- /dev/null +++ b/dapp-oeth/package.json @@ -0,0 +1,153 @@ +{ + "name": "oeth-dapp", + "version": "0.1.0", + "private": true, + "description": "Origin Dollar Dapp", + "main": "index.js", + "author": "Origin Protocol ", + "license": "MIT", + "scripts": { + "dev": "next dev", + "build": "rm -rf ./build && next build", + "export": "yarn run build && next export", + "ipfs-export": "DEPLOY_MODE=ipfs yarn run build && next export", + "start": "per-env", + "start:development": "NODE_ENV=development NEXT_PUBLIC_ETHEREUM_RPC_PROVIDER=http://localhost:8545 next dev", + "start:production": "NODE_ENV=production next start -p $PORT", + "fbt:manifest": "node -r @babel/register node_modules/babel-plugin-fbt/dist/bin/manifest --src src pages", + "fbt:collect": "node -r @babel/register node_modules/babel-plugin-fbt/dist/bin/collectFBT --manifest --pretty < .src_manifest.json > .source_strings.json", + "fbt:translate": "node -r @babel/register node_modules/babel-plugin-fbt/dist/bin/translate.js --translations translation/fbt/*.json --jenkins --pretty > .translated_fbts.json", + "fbt:clean": "rm .enum_manifest.json .src_manifest.json .source_strings.json .translated_fbts.json translation/fbt/*.json 2&> /dev/null || exit 0", + "translate": "npm run fbt:manifest && npm run fbt:collect && node scripts/fbtToCrowdin && node scripts/crowdinToFbt && npm run fbt:translate && node scripts/splitTranslations && cp .enum_manifest.json translation/fbt/.enum_manifest.json", + "translate:proof": "npm run fbt:manifest && npm run fbt:collect && node scripts/fbtToCrowdin && node scripts/crowdinToFbt proof && npm run fbt:translate && node scripts/splitTranslations && cp .enum_manifest.json translation/fbt/.enum_manifest.json", + "prettier": "prettier --write \"src/**/*.js\" \"pages/**/*.js\"", + "prettier:check": "prettier -c \"src/**/*.js\" \"pages/**/*.js\"" + }, + "dependencies": { + "@analytics/google-analytics": "^0.5.3", + "@babel/core": "^7.15.0", + "@babel/plugin-proposal-class-properties": "7.10.4", + "@babel/plugin-proposal-decorators": "7.10.5", + "@babel/plugin-proposal-export-default-from": "7.10.4", + "@babel/plugin-proposal-object-rest-spread": "7.15.6", + "@babel/plugin-transform-destructuring": "7.10.4", + "@babel/plugin-transform-flow-strip-types": "^7.10.4", + "@babel/plugin-transform-object-assign": "7.10.4", + "@babel/plugin-transform-runtime": "7.15.0", + "@babel/preset-env": "7.15.6", + "@babel/preset-react": "^7.10.4", + "@babel/register": "^7.15.3", + "@babel/runtime": "7.15.3", + "@ethersproject/providers": "^5.4.3", + "@ethersproject/units": "^5.0.2", + "@fbtjs/default-collection-transform": "^1.0.0", + "@gnosis.pm/safe-apps-web3-react": "^0.6.2", + "@ledgerhq/hw-transport-webusb": "^6.11.2", + "@myetherwallet/mewconnect-connector": "^0.1.8", + "@sentry/browser": "^5.22.3", + "@sentry/integrations": "^5.22.3", + "@sentry/node": "^5.22.3", + "@sentry/webpack-plugin": "^1.17.2", + "@web3-react/core": "^6.1.9", + "@web3-react/injected-connector": "^6.0.7", + "@web3-react/ledger-connector": "^6.1.9", + "@web3-react/walletconnect-connector": "^6.2.4", + "@web3-react/walletlink-connector": "^6.2.12", + "@zeit/next-css": "^1.0.1", + "@zeit/next-source-maps": "^0.0.3", + "analytics": "^0.7.15", + "babel-eslint": "10.1.0", + "babel-loader": "8.2.2", + "babel-plugin-fbt": "^0.20.3", + "babel-plugin-fbt-runtime": "^0.9.17", + "babel-plugin-module-resolver": "^4.1.0", + "bootstrap": "4.5.2", + "classnames": "^2.3.1", + "dateformat": "^4.6.1", + "deficonnect": "1.6.14-dev.2", + "dotenv": "^8.6.0", + "ethers": "^5.5.1", + "fbt-runtime": "^0.9.4", + "file-loader": "6.2.0", + "lodash": "^4.17.21", + "moment": "^2.29.4", + "next": "10.2.3", + "next-cookies": "^2.0.3", + "per-env": "^1.0.2", + "postcss-flexbugs-fixes": "^5.0.0", + "postcss-preset-env": "^6.7.0", + "prettier": "^2.4.0", + "pullstate": "^1.23.0", + "react": "^16.14.0", + "react-autosize-textarea": "^7.1.0", + "react-bootstrap": "^1.6.2", + "react-cookie": "^4.1.0", + "react-copy-to-clipboard": "^5.0.3", + "react-countdown": "^2.3.2", + "react-dom": "^17.0.2", + "react-query": "^3.34.16", + "react-router-dom": "5.3.0", + "react-styl": "^0.0.3", + "react-toastify": "^6.2.0", + "sass": "^1.39.2", + "use-analytics": "^0.0.5", + "web3-ledgerhq-frame-connector": "^1.0.1" + }, + "babel": { + "presets": [ + "next/babel" + ], + "plugins": [ + [ + "module-resolver", + { + "alias": { + "components": "./src/components", + "constants": "./src/constants", + "utils": "./src/utils", + "pages": "./src/pages", + "hoc": "./src/hoc", + "stores": "./src/stores", + "hooks": "./src/hooks" + } + } + ], + "babel-plugin-fbt", + "babel-plugin-fbt-runtime" + ] + }, + "husky": { + "hooks": { + "pre-push": "yarn run prettier:check" + } + }, + "devDependencies": { + "clean-webpack-plugin": "3.0.0", + "css-loader": "4.2.1", + "eslint": "^7.6.0", + "eslint-plugin-babel": "5.3.1", + "eslint-plugin-react": "^7.20.5", + "git-revision-webpack-plugin": "3.0.6", + "html-webpack-plugin": "4.3.0", + "husky": "^7.0.2", + "mini-css-extract-plugin": "0.10.0", + "opener": "1.5.1", + "optimize-css-assets-webpack-plugin": "5.0.3", + "pretty-quick": "^3.0.0", + "style-loader": "1.2.1", + "terser-webpack-plugin": "4.1.0", + "typeface-lato": "0.0.75", + "typeface-poppins": "0.0.72", + "url-loader": "4.1.0", + "vconsole": "^3.3.4" + }, + "eslintIgnore": [ + "node_modules", + "public" + ], + "prettier": { + "semi": false, + "singleQuote": true, + "proseWrap": "always" + } +} diff --git a/dapp-oeth/pages/_app.js b/dapp-oeth/pages/_app.js new file mode 100644 index 0000000000..753707716d --- /dev/null +++ b/dapp-oeth/pages/_app.js @@ -0,0 +1,104 @@ +import React, { useEffect, useState } from 'react' +import { useWeb3React } from '@web3-react/core' +import { useRouter } from 'next/router' +import Head from 'next/head' +import { useCookies } from 'react-cookie' +import { useStoreState } from 'pullstate' +import { QueryClient, QueryClientProvider } from 'react-query' +import { ReactQueryDevtools } from 'react-query/devtools' + +import AccountStore from 'stores/AccountStore' +import AccountListener from 'components/AccountListener' +import UserActivityListener from 'components/UserActivityListener' +import TransactionListener from 'components/TransactionListener' +import withWeb3Provider from 'hoc/withWeb3Provider' +import setUtilLocale from 'utils/setLocale' +import { useEagerConnect } from 'utils/hooks' +import { login } from 'utils/account' +import WalletSelectModal from 'components/WalletSelectModal' +import { ToastContainer } from 'react-toastify' +import { pageview } from '../lib/gtm' + +import { initSentry } from 'utils/sentry' + +import 'react-toastify/scss/main.scss' +import '../node_modules/bootstrap/dist/css/bootstrap.min.css' +import '../styles/globals.css' + +initSentry() + +const queryClient = new QueryClient() + +function App({ Component, pageProps, err }) { + const [locale, setLocale] = useState('en_US') + + const { account, active } = useWeb3React() + const [cookies, setCookie, removeCookie] = useCookies(['loggedIn']) + const router = useRouter() + const tried = useEagerConnect() + const address = useStoreState(AccountStore, (s) => s.address) + + const canonicalUrl = ( + `https://app.oeth.com` + (router.asPath === '/' ? '' : router.asPath) + ).split('?')[0] + + useEffect(() => { + router.events.on('routeChangeComplete', pageview) + return () => { + router.events.off('routeChangeComplete', pageview) + } + }, [router.events]) + + useEffect(() => { + // Update account info when connection already established + if (tried && active && (!account || account !== address)) { + login(account, setCookie) + } + }, [active, tried, account]) + + useEffect(() => { + if (localStorage.locale) { + setLocale(localStorage.locale) + setUtilLocale(localStorage.locale, true) + } + }, []) + + const onLocale = async (newLocale) => { + const locale = await setUtilLocale(newLocale) + setLocale(locale) + window.scrollTo(0, 0) + } + + return ( + <> + + + + + + + + + + + + + + ) +} + +export default withWeb3Provider(App) diff --git a/dapp-oeth/pages/_document.js b/dapp-oeth/pages/_document.js new file mode 100644 index 0000000000..7e5dc2133e --- /dev/null +++ b/dapp-oeth/pages/_document.js @@ -0,0 +1,100 @@ +import React from 'react' +import Document, { Html, Head, Main, NextScript } from 'next/document' +import { GTM_ID } from '../lib/gtm' + +class MyDocument extends Document { + render() { + return ( + + + + + + {/* jQuery is required for bootstrap javascript */} +