name: optimus author: valory version: 0.1.0 description: An optimism liquidity trader service. aea_version: '>=1.0.0, <2.0.0' license: Apache-2.0 fingerprint: {} fingerprint_ignore_patterns: [] agent: valory/optimus:0.1.0:bafybeih3tfxdxevkedw6gjr2k3p7kqqo45a4ll5fq5dg6iff7hbvs3if4i number_of_agents: 1 deployment: agent: ports: 0: 8716: 8716 volumes: ./data: /data dependencies: requests_toolbelt: version: ==1.0.0 --- public_id: valory/optimus_abci:0.1.0 type: skill models: benchmark_tool: args: log_dir: ${LOG_DIR:str:/logs} params: args: setup: all_participants: ${ALL_PARTICIPANTS:list:[]} consensus_threshold: null safe_contract_address: ${SAFE_CONTRACT_ADDRESS:str:0x0000000000000000000000000000000000000000} genesis_config: genesis_time: '2022-09-26T00:00:00.000000000Z' chain_id: chain-c4daS1 consensus_params: block: max_bytes: '22020096' max_gas: '-1' time_iota_ms: '1000' evidence: max_age_num_blocks: '100000' max_age_duration: '172800000000000' max_bytes: '1048576' validator: pub_key_types: - ed25519 version: {} voting_power: '10' cleanup_history_depth: 1 cleanup_history_depth_current: null drand_public_key: 868f005eb8e6e4ca0a47c8a77ceaa5309a47978a7c71bc5cce96366b5d7a569937c529eeda66c7293784a9402801af31 earliest_block_to_monitor: ${EARLIEST_BLOCK_TO_MONITOR:int:8053690} keeper_timeout: 30.0 max_attempts: 10 max_healthcheck: 120 multisend_address: ${MULTISEND_ADDRESS:str:0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761} termination_sleep: ${TERMINATION_SLEEP:int:900} reset_pause_duration: ${RESET_PAUSE_DURATION:int:300} on_chain_service_id: ${ON_CHAIN_SERVICE_ID:int:null} reset_tendermint_after: ${RESET_TENDERMINT_AFTER:int:30} retry_attempts: 400 retry_timeout: 3 request_retry_delay: 1.0 request_timeout: 10.0 round_timeout_seconds: 30.0 service_id: optimus service_registry_address: ${SERVICE_REGISTRY_ADDRESS:str:0x48b6af7B12C71f09e2fC8aF4855De4Ff54e775cA} share_tm_config_on_startup: ${USE_ACN:bool:false} sleep_time: 1 tendermint_check_sleep_delay: 3 tendermint_com_url: ${TENDERMINT_COM_URL:str:http://localhost:8080} tendermint_max_retries: 5 tendermint_url: ${TENDERMINT_URL:str:http://localhost:26657} tenderly_access_key: ${TENDERLY_ACCESS_KEY:str:access_key} tenderly_account_slug: ${TENDERLY_ACCOUNT_SLUG:str:account_slug} tenderly_project_slug: ${TENDERLY_PROJECT_SLUG:str:project_slug} tendermint_p2p_url: ${TENDERMINT_P2P_URL_0:str:optimism_tm_0:26656} safe_contract_addresses: ${SAFE_CONTRACT_ADDRESSES:str:{"ethereum":"0x0000000000000000000000000000000000000000","base":"0x0000000000000000000000000000000000000000","optimism":"0x0000000000000000000000000000000000000000","mode":"0x0000000000000000000000000000000000000000"}} staking_token_contract_address: ${STAKING_TOKEN_CONTRACT_ADDRESS:str:0x88996bbdE7f982D93214881756840cE2c77C4992} staking_activity_checker_contract_address: ${ACTIVITY_CHECKER_CONTRACT_ADDRESS:str:0x7Fd1F4b764fA41d19fe3f63C85d12bf64d2bbf68} staking_threshold_period: ${STAKING_THRESHOLD_PERIOD:int:5} store_path: ${STORE_PATH:str:/data/} assets_info_filename: ${ASSETS_INFO_FILENAME:str:assets.json} pool_info_filename: ${POOL_INFO_FILENAME:str:current_pool.json} portfolio_info_filename: ${PORTFOLIO_INFO_FILENAME:str:portfolio.json} gas_cost_info_filename: ${GAS_COST_INFO_FILENAME:str:gas_costs.json} merkl_fetch_campaigns_args: ${MERKL_FETCH_CAMPAIGNS_ARGS:str:{"url":"https://api.merkl.xyz/v3/campaigns","creator":"","live":"false"}} min_swap_amount_threshold: ${MIN_SWAP_AMOUNT_THRESHOLD:int:1} max_fee_percentage: ${MAX_FEE_PERCENTAGE:float:0.02} max_gas_percentage: ${MAX_GAS_PERCENTAGE:float:0.25} balancer_graphql_endpoints: ${BALANCER_GRAPHQL_ENDPOINTS:str:{"optimism":"https://api.studio.thegraph.com/query/75376/balancer-optimism-v2/version/latest","base":"https://api.studio.thegraph.com/query/24660/balancer-base-v2/version/latest","mode":"https://api.studio.thegraph.com/query/75376/balancer-mode-v2/version/latest"}} allowed_chains: ${ALLOWED_CHAINS:list:["base","optimism","mode"]} target_investment_chains: ${TARGET_INVESTMENT_CHAINS:list:["base","optimism","mode"]} staking_chain: ${STAKING_CHAIN:str:""} initial_assets: ${INITIAL_ASSETS:str:{"mode":{"0x0000000000000000000000000000000000000000":"ETH","0xd988097fb8612cc24eeC14542bC03424c656005f":"USDC"}}} file_hash_to_strategies: ${FILE_HASH_TO_STRATEGIES:str:{"bafybeibywngxfy5e2crtkvgfvad2ciepg3qk3h54eg3vbjoxwvf2j55wzq":"merkl_pools_search","bafybeiawjnqwsvmzjx3rwmscu3fqxs3ej4xqra7el4irtfkst2ppa3tria":"max_apr_selection","bafybeiewzkxfe5aw5c7yvkv4v5dklkyclsi6bezv53v5y3fplfrbnz7ad4":"balancer_pools_search","bafybeihxeuahk6mkg5mmh6xiyot6rnwnenpmcpi3fxk4thloevdbuowo4y":"uniswap_pools_search","bafybeicdlieaqmu43pe64x3hphzg2y6xtwivfjinzp5zjqm6poxwqbd6ui":"asset_lending"}} strategies_kwargs: ${STRATEGIES_KWARGS:str:{"merkl_pools_search":{"balancer_graphql_endpoints":{"optimism":"https://api.studio.thegraph.com/query/75376/balancer-optimism-v2/version/latest","base":"https://api.studio.thegraph.com/query/24660/balancer-base-v2/version/latest","mode":"https://api.studio.thegraph.com/query/75376/balancer-mode-v2/version/latest"},"merkl_fetch_campaign_args":{"url":"https://api.merkl.xyz/v3/campaigns","creator":"","live":"false"}},"uniswap_pools_search":{"graphql_endpoints":{"optimism":"https://gateway.thegraph.com/api/575c6d9779719bc1ced85444c98441be/subgraphs/id/7SVwgBfXoWmiK6x1NF1VEo1szkeWLniqWN1oYsX3UMb5","base":"https://gateway.thegraph.com/api/575c6d9779719bc1ced85444c98441be/subgraphs/id/7SVwgBfXoWmiK6x1NF1VEo1szkeWLniqWN1oYsX3UMb5"}},"balancer_pools_search":{"graphql_endpoint":"https://api-v3.balancer.fi/"},"asset_lending":{"endpoint":"https://us-central1-stu-dashboard-a0ba2.cloudfunctions.net/v2Aggregators","lending_asset":"0x4200000000000000000000000000000000000006"}}} selected_strategies: ${SELECTED_STRATEGIES:list:["asset_lending","balancer_pools_search","uniswap_pools_search"]} selected_protocols: ${SELECTED_PROTOCOLS:list:["BALANCER","UNISWAP_V3"]} selected_hyper_strategy: ${SELECTED_HYPER_STRATEGY:str:max_apr_selection} apr_threshold: ${APR_THRESHOLD:int:5} service_endpoint_base: ${SERVICE_ENDPOINT_BASE:str:https://optimism.autonolas.tech/} max_pools: ${MAX_POOLS:int:2} init_fallback_gas: ${INIT_FALLBACK_GAS:int:0} coingecko: args: token_price_endpoint: ${COINGECKO_TOKEN_PRICE_ENDPOINT:str:https://api.coingecko.com/api/v3/simple/token_price/{asset_platform_id}?contract_addresses={token_address}&vs_currencies=usd} coin_price_endpoint: ${COINGECKO_COIN_PRICE_ENDPOINT:str:https://api.coingecko.com/api/v3/simple/price?ids={coin_id}&vs_currencies=usd} api_key: ${COINGECKO_API_KEY:str:null} requests_per_minute: ${COINGECKO_REQUESTS_PER_MINUTE:int:30} credits: ${COINGECKO_CREDITS:int:10000} rate_limited_code: ${COINGECKO_RATE_LIMITED_CODE:int:429} chain_to_platform_id_mapping: ${COINGECKO_CHAIN_TO_PLATFORM_ID_MAPPING:str:{"optimism":"optimistic-ethereum","base":"base","ethereum":"ethereum","mode":"mode"}} --- public_id: valory/ledger:0.19.0 type: connection config: ledger_apis: ethereum: address: ${ETHEREUM_LEDGER_RPC:str:https://virtual.mainnet.rpc.tenderly.co/85a9fd10-356e-4526-b1f6-7148366bf227} chain_id: ${ETHEREUM_LEDGER_CHAIN_ID:int:1} poa_chain: ${ETHEREUM_LEDGER_IS_POA_CHAIN:bool:false} default_gas_price_strategy: ${ETHEREUM_LEDGER_PRICING:str:eip1559} base: address: ${BASE_LEDGER_RPC:str:https://virtual.arbitrum.rpc.tenderly.co/8973f254-1594-4a82-8e26-25a10a01bf46} chain_id: ${BASE_LEDGER_CHAIN_ID:int:8453} poa_chain: ${BASE_LEDGER_IS_POA_CHAIN:bool:false} default_gas_price_strategy: ${BASE_LEDGER_PRICING:str:eip1559} optimism: address: ${OPTIMISM_LEDGER_RPC:str:https://virtual.arbitrum.rpc.tenderly.co/8973f254-1594-4a82-8e26-25a10a01bf46} chain_id: ${OPTIMISM_LEDGER_CHAIN_ID:int:10} poa_chain: ${OPTIMISM_LEDGER_IS_POA_CHAIN:bool:false} default_gas_price_strategy: ${OPTIMISM_LEDGER_PRICING:str:eip1559} mode: address: ${MODE_LEDGER_RPC:str:https://virtual.mode.rpc.tenderly.co/f1d63db5-da55-4383-bbed-54a6edbb0ee2} chain_id: ${MODE_LEDGER_CHAIN_ID:int:34443} poa_chain: ${MODE_LEDGER_IS_POA_CHAIN:bool:false} default_gas_price_strategy: ${MODE_LEDGER_PRICING:str:eip1559} gas_price_strategies: eip1559: fee_history_percentile: ${FEE_HISTORY_PERCENTILE:50} --- public_id: valory/p2p_libp2p_client:0.1.0 type: connection config: nodes: - uri: ${ACN_URI:str:acn.staging.autonolas.tech:9005} public_key: ${ACN_NODE_PUBLIC_KEY:str:02d3a830c9d6ea1ae91936951430dee11f4662f33118b02190693be835359a9d77} cert_requests: - identifier: acn ledger_id: ethereum message_format: '{public_key}' not_after: '2023-01-01' not_before: '2022-01-01' public_key: ${ACN_NODE_PUBLIC_KEY:str:02d3a830c9d6ea1ae91936951430dee11f4662f33118b02190693be835359a9d77} save_path: .certs/acn_cosmos_11000.txt --- public_id: valory/http_server:0.22.0 type: connection config: host: ${HTTP_SERVER_HOST:str:0.0.0.0} port: ${HTTP_SERVER_PORT:int:8716}