diff --git a/.gitignore b/.gitignore index bf55a4fd2..a12b890e0 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ packages/valory/contracts/gnosis_safe/ packages/valory/protocols/abci packages/valory/protocols/acn +packages/valory/protocols/acn_data_share packages/valory/protocols/contract_api packages/valory/protocols/http packages/valory/protocols/ipfs diff --git a/packages/packages.json b/packages/packages.json index 71c5ff244..8c60fefc4 100644 --- a/packages/packages.json +++ b/packages/packages.json @@ -5,27 +5,28 @@ "custom/jhehemann/kelly_criterion/0.1.0": "bafybeif55cu7cf6znyma7kxus4wxa2doarhau2xmndo57iegshxorivwmq", "custom/w1kke/always_blue/0.1.0": "bafybeieshu32h3es2fslduuhr7nimuvh2vuibyeqdunzrcggaeohekg3jm", "custom/valory/kelly_criterion_no_conf/0.1.0": "bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae", - "contract/valory/market_maker/0.1.0": "bafybeihrz4q5ia7jnflsv2myg6kkung2dfiogqrevuy7xlmqws7tr27rdi", + "contract/valory/market_maker/0.1.0": "bafybeigfhg57pnhy5xyaegz5keaulkmajshwapb5s4wdzjyqx7pckgs34q", "contract/valory/realitio/0.1.0": "bafybeietgux6kkhdquspy35qera7gjwwqwrremmoeatjzwwokjb2lzsata", "contract/valory/realitio_proxy/0.1.0": "bafybeidx37xzjjmapwacedgzhum6grfzhp5vhouz4zu3pvpgdy5pgb2fr4", "contract/valory/conditional_tokens/0.1.0": "bafybeibnzmqmeph4cj5vfh3s622mo2o5627vjjwc6bptrhj4dk65mzgvhe", - "contract/valory/agent_registry/0.1.0": "bafybeiblc4i5xjxbywnfccwtv3unhaghrgqls7panfbuqbpstbc34h42xq", - "contract/valory/service_staking_token/0.1.0": "bafybeihhcs3ewwzhy7yto4y36uqmice3pdvyl54fvxxv6jsxonesie4dxu", - "contract/valory/transfer_nft_condition/0.1.0": "bafybeid6z2tf7nc4rhwggktxk5f62bowxdczykrxc3y76sbt2ttlw5hmtq", - "contract/valory/mech_activity/0.1.0": "bafybeibmqmle5fnal3gxlpdmcos2kogzra4q3pr3o5nh7shplxuilji3t4", - "contract/valory/staking_token/0.1.0": "bafybeiep4r6qyilbfgzdvx6t7zvpgaioxqktmxm7puwtnbpb2ftlib43gy", - "contract/valory/relayer/0.1.0": "bafybeicawmds6czx7db2lcktvexwrp245jpekgulndtos5s5zdid3ilvq4", - "skill/valory/market_manager_abci/0.1.0": "bafybeiaru2d32wpmcgqs64eepxud4idgubc3vmsbdwbia7gygipql2mmqi", - "skill/valory/decision_maker_abci/0.1.0": "bafybeie5xp55kt3cjghhmk4v6mdcagfgk4vkneaxdttnxmtdcbfrxwc26a", - "skill/valory/trader_abci/0.1.0": "bafybeid3sehixzitg2xnsgr76h64rsyp2tngzycygyj26nkkg5gzsqzwfi", - "skill/valory/tx_settlement_multiplexer_abci/0.1.0": "bafybeicztsvr3hnmzlg6irafx3phqfftmnk4zrfph4krsnpinekkjdlon4", - "skill/valory/staking_abci/0.1.0": "bafybeicupccurmrg7qesivonlyt3nryarsmk5qf5yh6auno64wn45bybvq", - "skill/valory/check_stop_trading_abci/0.1.0": "bafybeieduekpd4zbvjztyxyooppqnmjvup6jfp74uo6hhupvtvzzscdzkq", - "agent/valory/trader/0.1.0": "bafybeiczpkr2drsdppith4foyeby6zf5uxugjfjfhl7yocvr3mcdkjzjpa", - "service/valory/trader/0.1.0": "bafybeiaa3a3e2mg2eowfryszytitwuvs6icxezv5pjtubwnizp2u4s7mte", - "service/valory/trader_pearl/0.1.0": "bafybeiboqxm3lhlqils5tohg7bqlc7pqfpv7hkhj3xixtj6ybdpeemm4f4" + "contract/valory/agent_registry/0.1.0": "bafybeibboljpn2zevzxnpgflxj6ykxk4bpxegtzjts25ajliaoadz35mca", + "contract/valory/service_staking_token/0.1.0": "bafybeieg664oohr26gpcfn3uied4minlz6dmgd32xboewscnxqnv5kk4zi", + "contract/valory/transfer_nft_condition/0.1.0": "bafybeicdtigdwlt47jg2tibxltwyyl4apysvlideo53lgiy3muuho3izpa", + "contract/valory/mech_activity/0.1.0": "bafybeieadv7vnbguc7beu6xo3rs3mqbgzc7wayc7kvgb2tmitmjtpdcqkq", + "contract/valory/staking_token/0.1.0": "bafybeiaynt6clwbthtbndtocnwul7dp76ctmu4jxinp7fnqks4pxt65yuy", + "contract/valory/relayer/0.1.0": "bafybeicreijhjycqrutdpbdn3vdcpmo233y3p66l3ovmr2goa2y2e6bshy", + "skill/valory/market_manager_abci/0.1.0": "bafybeiayhzwxlpqsevyvaxn6dtnnu745az5vcz7dckmghnmjywxdtvoyly", + "skill/valory/decision_maker_abci/0.1.0": "bafybeifod6ghdpzqtsvxntb3ebjer3wbduv6pzw3qxlepcl7o3j5yrl34i", + "skill/valory/trader_abci/0.1.0": "bafybeig52zttzojxbnu3bk5srsadbolzgzoh5xtt4uvz5blu2i7j5f56ga", + "skill/valory/tx_settlement_multiplexer_abci/0.1.0": "bafybeibj5frl64wbrq2skp324opcukakvuawbg5cia2svrbnsmiyfrai4u", + "skill/valory/staking_abci/0.1.0": "bafybeiaasclr4lf3u2layekmfwyasckxrslbs2g4me7kvozz5goswlznjq", + "skill/valory/check_stop_trading_abci/0.1.0": "bafybeic3bismocli2yyxmjhjsevjbzpuf3ladsvlkazfx23vq3q6uxrn7m", + "agent/valory/trader/0.1.0": "bafybeicebrhoaprwbl7eljrfr7u72bx37mpv5zjylb4kesier77wa2tz2m", + "service/valory/trader/0.1.0": "bafybeiayxycjcf3agarjulhcajsibpxj5a6ccj7vxjraf3lgtepbaiwswu", + "service/valory/trader_pearl/0.1.0": "bafybeicizq6zcqqfkqkjip5qfzgkf5pdhg6oijxsyodi3kmtmttjwsgxne" }, "third_party": { + "protocol/valory/acn_data_share/0.1.0": "bafybeidbvo3jdbt54pqk3foqfso4uim2vaea5abg6jzktomdeklh6sm2rq", "protocol/open_aea/signing/1.0.0": "bafybeihv62fim3wl2bayavfcg3u5e5cxu3b7brtu4cn5xoxd6lqwachasi", "protocol/valory/abci/0.1.0": "bafybeiaqmp7kocbfdboksayeqhkbrynvlfzsx4uy4x6nohywnmaig4an7u", "protocol/valory/contract_api/1.0.0": "bafybeidgu7o5llh26xp3u3ebq3yluull5lupiyeu6iooi2xyymdrgnzq5i", @@ -34,25 +35,26 @@ "protocol/valory/acn/1.1.0": "bafybeidluaoeakae3exseupaea4i3yvvk5vivyt227xshjlffywwxzcxqe", "protocol/valory/tendermint/0.1.0": "bafybeig4mi3vmlv5zpbjbfuzcgida6j5f2nhrpedxicmrrfjweqc5r7cra", "protocol/valory/ipfs/0.1.0": "bafybeiftxi2qhreewgsc5wevogi7yc5g6hbcbo4uiuaibauhv3nhfcdtvm", - "contract/valory/gnosis_safe_proxy_factory/0.1.0": "bafybeieg57u3z7cdlmdamad5e6lk7kmsli2zurzkg3sl4y7lhekcu4y3au", - "contract/valory/gnosis_safe/0.1.0": "bafybeih3ropivth4wn7zbzudisx3qezbht5jyndd4w7az7fq634lpozoge", - "contract/valory/mech/0.1.0": "bafybeiejfjfoxqggghcme43sx53q5gruefrws3k2jam2opkxl5uzffoarm", - "contract/valory/service_registry/0.1.0": "bafybeiaop64kwdoetxtedoehabmsalojmms7ihuoqcdwxtwb2hk5i6bzye", + "contract/valory/agent_registry/0.1.0": "bafybeibboljpn2zevzxnpgflxj6ykxk4bpxegtzjts25ajliaoadz35mca", + "contract/valory/gnosis_safe_proxy_factory/0.1.0": "bafybeifr4xpmzeb5hvpgd6h4nxlsu3ef2c3f6l5bgs34vym5ok6vllwhmy", + "contract/valory/gnosis_safe/0.1.0": "bafybeihtqcpqthb37msgqabpzcc2xc3l3yzkp5pl2sodeghqyzzzyuevgi", + "contract/valory/mech/0.1.0": "bafybeielwbnikog4eqmu6bo537kzp2e7qpmkzt7l5zuuugp2w4r47dbvwu", + "contract/valory/service_registry/0.1.0": "bafybeidipx4cmchxdu5i2v67rno7muie7ckjhmasaj64tv2vtj4fveklxi", "contract/valory/multisend/0.1.0": "bafybeig5byt5urg2d2bsecufxe5ql7f4mezg3mekfleeh32nmuusx66p4y", - "contract/valory/erc20/0.1.0": "bafybeid2p2jyvjjlcsqugnawksdzsca6ljghpqbp2kfi3cxuxoy2233dbi", - "contract/valory/mech_marketplace/0.1.0": "bafybeiba7kh3wygwtpyf7oo3sili6givzo2gyadhbb66rvwsokswsywvuu", - "connection/valory/abci/0.1.0": "bafybeia6etkacvqend7xj6viejkqgo7ozu3yn4yg3qezfthf2xhrjjwse4", + "contract/valory/erc20/0.1.0": "bafybeientdgpccdi7prtu4x53m5g3yugh5tuh5hnroylfz3wwzyjniqure", + "contract/valory/mech_marketplace/0.1.0": "bafybeicfuigpr65k4l2r5dbazzwh43yc6pfuy5mrkjkagmhmcp6ioktfay", + "connection/valory/abci/0.1.0": "bafybeie2bc44r2ddspeg4v7minuievvjykomcukuf5ryevom6fajno25gy", "connection/valory/http_client/0.23.0": "bafybeihi772xgzpqeipp3fhmvpct4y6e6tpjp4sogwqrnf3wqspgeilg4u", - "connection/valory/ledger/0.19.0": "bafybeig7woeog4srdby75hpjkmx4rhpkzncbf4h2pm5r6varsp26pf2uhu", + "connection/valory/ledger/0.19.0": "bafybeigntoericenpzvwejqfuc3kqzo2pscs76qoygg5dbj6f4zxusru5e", "connection/valory/p2p_libp2p_client/0.1.0": "bafybeid3xg5k2ol5adflqloy75ibgljmol6xsvzvezebsg7oudxeeolz7e", - "connection/valory/ipfs/0.1.0": "bafybeigcijdbwgdekow5c2ikeltetoteabfp52ewy3xfkd7ygaqbl7j3ke", + "connection/valory/ipfs/0.1.0": "bafybeias6633a2337nhq6nn5ikq4jaig47v63nxv2ixkjr6qqrqaywqara", "connection/valory/http_server/0.22.0": "bafybeihpgu56ovmq4npazdbh6y6ru5i7zuv6wvdglpxavsckyih56smu7m", - "skill/valory/abstract_abci/0.1.0": "bafybeieeaseuy5rbbw465knz27vccvpkfge43q7isl7fkdlfapwd7bpi24", - "skill/valory/reset_pause_abci/0.1.0": "bafybeigrdlxed3xlsnxtjhnsbl3cojruihxcqx4jxhgivkd5i2fkjncgba", - "skill/valory/registration_abci/0.1.0": "bafybeibc7duasoaw5b4ene5oxfba2dmdzstsrws6ipi57ymgdtoxjadn54", - "skill/valory/abstract_round_abci/0.1.0": "bafybeib733xfbndtpvkf44mtk7oyodnficgloo6xhn7xmqxxeos33es65u", - "skill/valory/transaction_settlement_abci/0.1.0": "bafybeic7q7recyka272udwcupblwbkc3jkodgp74fvcdxb7urametg5dae", - "skill/valory/termination_abci/0.1.0": "bafybeib5l7jhew5ic6iq24dd23nidcoimzqkrk556gqywhoziatj33zvwm", - "skill/valory/mech_interact_abci/0.1.0": "bafybeid6m3i5ofq7vuogqapdnoshhq7mswmudhvfcr2craw25fdwtoe3lm" + "skill/valory/abstract_abci/0.1.0": "bafybeif2naoydlrqkdpnig34uejedwgurjwyvmbpcz53tif7pyukfdophq", + "skill/valory/reset_pause_abci/0.1.0": "bafybeiezfedmmseox3ce5aucxsiszdmvskrwwbtpb2a3vw3sbmc5jt7nri", + "skill/valory/registration_abci/0.1.0": "bafybeiagi6e2h7kochmlemy5c5yk6hwn37tfxiqvk2en74jhowsdwlmrny", + "skill/valory/abstract_round_abci/0.1.0": "bafybeigjddhk7epta7xpnfvv426xedff5abh4xlkwi6cqgp4vkutgkvydm", + "skill/valory/transaction_settlement_abci/0.1.0": "bafybeifmgmwdkx4esemxjacjwzqkqymkuklb5nehkwqkx7v335fllgswcq", + "skill/valory/termination_abci/0.1.0": "bafybeiea67epwwgngp7b3wavs6hpkaxv6etyaps6g6325bchfnf354mibq", + "skill/valory/mech_interact_abci/0.1.0": "bafybeib4vn6m2yumwoclh5aatcdt5yxcjc5owxmxy5o7t3nfzormgwkr64" } } \ No newline at end of file diff --git a/packages/valory/agents/trader/aea-config.yaml b/packages/valory/agents/trader/aea-config.yaml index 91833da5b..208e4dff7 100644 --- a/packages/valory/agents/trader/aea-config.yaml +++ b/packages/valory/agents/trader/aea-config.yaml @@ -9,26 +9,30 @@ fingerprint: __init__.py: bafybeighcq4pmuzte6vhvvprrvo563vzghkoit2h6qdqxf2ma5bghevkee fingerprint_ignore_patterns: [] connections: -- valory/abci:0.1.0:bafybeia6etkacvqend7xj6viejkqgo7ozu3yn4yg3qezfthf2xhrjjwse4 +- valory/abci:0.1.0:bafybeie2bc44r2ddspeg4v7minuievvjykomcukuf5ryevom6fajno25gy - valory/http_client:0.23.0:bafybeihi772xgzpqeipp3fhmvpct4y6e6tpjp4sogwqrnf3wqspgeilg4u -- valory/ipfs:0.1.0:bafybeigcijdbwgdekow5c2ikeltetoteabfp52ewy3xfkd7ygaqbl7j3ke -- valory/ledger:0.19.0:bafybeig7woeog4srdby75hpjkmx4rhpkzncbf4h2pm5r6varsp26pf2uhu +- valory/ipfs:0.1.0:bafybeias6633a2337nhq6nn5ikq4jaig47v63nxv2ixkjr6qqrqaywqara +- valory/ledger:0.19.0:bafybeigntoericenpzvwejqfuc3kqzo2pscs76qoygg5dbj6f4zxusru5e - valory/p2p_libp2p_client:0.1.0:bafybeid3xg5k2ol5adflqloy75ibgljmol6xsvzvezebsg7oudxeeolz7e - valory/http_server:0.22.0:bafybeihpgu56ovmq4npazdbh6y6ru5i7zuv6wvdglpxavsckyih56smu7m contracts: -- valory/gnosis_safe:0.1.0:bafybeih3ropivth4wn7zbzudisx3qezbht5jyndd4w7az7fq634lpozoge -- valory/gnosis_safe_proxy_factory:0.1.0:bafybeieg57u3z7cdlmdamad5e6lk7kmsli2zurzkg3sl4y7lhekcu4y3au -- valory/service_registry:0.1.0:bafybeiaop64kwdoetxtedoehabmsalojmms7ihuoqcdwxtwb2hk5i6bzye -- valory/market_maker:0.1.0:bafybeihrz4q5ia7jnflsv2myg6kkung2dfiogqrevuy7xlmqws7tr27rdi +- valory/gnosis_safe:0.1.0:bafybeihtqcpqthb37msgqabpzcc2xc3l3yzkp5pl2sodeghqyzzzyuevgi +- valory/gnosis_safe_proxy_factory:0.1.0:bafybeifr4xpmzeb5hvpgd6h4nxlsu3ef2c3f6l5bgs34vym5ok6vllwhmy +- valory/service_registry:0.1.0:bafybeidipx4cmchxdu5i2v67rno7muie7ckjhmasaj64tv2vtj4fveklxi +- valory/market_maker:0.1.0:bafybeigfhg57pnhy5xyaegz5keaulkmajshwapb5s4wdzjyqx7pckgs34q - valory/multisend:0.1.0:bafybeig5byt5urg2d2bsecufxe5ql7f4mezg3mekfleeh32nmuusx66p4y -- valory/mech:0.1.0:bafybeiejfjfoxqggghcme43sx53q5gruefrws3k2jam2opkxl5uzffoarm +- valory/mech:0.1.0:bafybeielwbnikog4eqmu6bo537kzp2e7qpmkzt7l5zuuugp2w4r47dbvwu - valory/conditional_tokens:0.1.0:bafybeibnzmqmeph4cj5vfh3s622mo2o5627vjjwc6bptrhj4dk65mzgvhe - valory/realitio:0.1.0:bafybeietgux6kkhdquspy35qera7gjwwqwrremmoeatjzwwokjb2lzsata - valory/realitio_proxy:0.1.0:bafybeidx37xzjjmapwacedgzhum6grfzhp5vhouz4zu3pvpgdy5pgb2fr4 -- valory/agent_registry:0.1.0:bafybeiblc4i5xjxbywnfccwtv3unhaghrgqls7panfbuqbpstbc34h42xq -- valory/service_staking_token:0.1.0:bafybeihhcs3ewwzhy7yto4y36uqmice3pdvyl54fvxxv6jsxonesie4dxu -- valory/transfer_nft_condition:0.1.0:bafybeid6z2tf7nc4rhwggktxk5f62bowxdczykrxc3y76sbt2ttlw5hmtq -- valory/erc20:0.1.0:bafybeid2p2jyvjjlcsqugnawksdzsca6ljghpqbp2kfi3cxuxoy2233dbi +- valory/agent_registry:0.1.0:bafybeibboljpn2zevzxnpgflxj6ykxk4bpxegtzjts25ajliaoadz35mca +- valory/service_staking_token:0.1.0:bafybeieg664oohr26gpcfn3uied4minlz6dmgd32xboewscnxqnv5kk4zi +- valory/transfer_nft_condition:0.1.0:bafybeicdtigdwlt47jg2tibxltwyyl4apysvlideo53lgiy3muuho3izpa +- valory/erc20:0.1.0:bafybeientdgpccdi7prtu4x53m5g3yugh5tuh5hnroylfz3wwzyjniqure +- valory/staking_token:0.1.0:bafybeiaynt6clwbthtbndtocnwul7dp76ctmu4jxinp7fnqks4pxt65yuy +- valory/mech_activity:0.1.0:bafybeieadv7vnbguc7beu6xo3rs3mqbgzc7wayc7kvgb2tmitmjtpdcqkq +- valory/mech_marketplace:0.1.0:bafybeicfuigpr65k4l2r5dbazzwh43yc6pfuy5mrkjkagmhmcp6ioktfay +- valory/relayer:0.1.0:bafybeicreijhjycqrutdpbdn3vdcpmo233y3p66l3ovmr2goa2y2e6bshy protocols: - open_aea/signing:1.0.0:bafybeihv62fim3wl2bayavfcg3u5e5cxu3b7brtu4cn5xoxd6lqwachasi - valory/abci:0.1.0:bafybeiaqmp7kocbfdboksayeqhkbrynvlfzsx4uy4x6nohywnmaig4an7u @@ -38,20 +42,21 @@ protocols: - valory/ipfs:0.1.0:bafybeiftxi2qhreewgsc5wevogi7yc5g6hbcbo4uiuaibauhv3nhfcdtvm - valory/ledger_api:1.0.0:bafybeihdk6psr4guxmbcrc26jr2cbgzpd5aljkqvpwo64bvaz7tdti2oni - valory/tendermint:0.1.0:bafybeig4mi3vmlv5zpbjbfuzcgida6j5f2nhrpedxicmrrfjweqc5r7cra +- valory/acn_data_share:0.1.0:bafybeidbvo3jdbt54pqk3foqfso4uim2vaea5abg6jzktomdeklh6sm2rq skills: -- valory/abstract_abci:0.1.0:bafybeieeaseuy5rbbw465knz27vccvpkfge43q7isl7fkdlfapwd7bpi24 -- valory/abstract_round_abci:0.1.0:bafybeib733xfbndtpvkf44mtk7oyodnficgloo6xhn7xmqxxeos33es65u -- valory/registration_abci:0.1.0:bafybeibc7duasoaw5b4ene5oxfba2dmdzstsrws6ipi57ymgdtoxjadn54 -- valory/reset_pause_abci:0.1.0:bafybeigrdlxed3xlsnxtjhnsbl3cojruihxcqx4jxhgivkd5i2fkjncgba -- valory/termination_abci:0.1.0:bafybeib5l7jhew5ic6iq24dd23nidcoimzqkrk556gqywhoziatj33zvwm -- valory/transaction_settlement_abci:0.1.0:bafybeic7q7recyka272udwcupblwbkc3jkodgp74fvcdxb7urametg5dae -- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeicztsvr3hnmzlg6irafx3phqfftmnk4zrfph4krsnpinekkjdlon4 -- valory/market_manager_abci:0.1.0:bafybeiaru2d32wpmcgqs64eepxud4idgubc3vmsbdwbia7gygipql2mmqi -- valory/decision_maker_abci:0.1.0:bafybeie5xp55kt3cjghhmk4v6mdcagfgk4vkneaxdttnxmtdcbfrxwc26a -- valory/trader_abci:0.1.0:bafybeid3sehixzitg2xnsgr76h64rsyp2tngzycygyj26nkkg5gzsqzwfi -- valory/staking_abci:0.1.0:bafybeicupccurmrg7qesivonlyt3nryarsmk5qf5yh6auno64wn45bybvq -- valory/check_stop_trading_abci:0.1.0:bafybeieduekpd4zbvjztyxyooppqnmjvup6jfp74uo6hhupvtvzzscdzkq -- valory/mech_interact_abci:0.1.0:bafybeid6m3i5ofq7vuogqapdnoshhq7mswmudhvfcr2craw25fdwtoe3lm +- valory/abstract_abci:0.1.0:bafybeif2naoydlrqkdpnig34uejedwgurjwyvmbpcz53tif7pyukfdophq +- valory/abstract_round_abci:0.1.0:bafybeigjddhk7epta7xpnfvv426xedff5abh4xlkwi6cqgp4vkutgkvydm +- valory/registration_abci:0.1.0:bafybeiagi6e2h7kochmlemy5c5yk6hwn37tfxiqvk2en74jhowsdwlmrny +- valory/reset_pause_abci:0.1.0:bafybeiezfedmmseox3ce5aucxsiszdmvskrwwbtpb2a3vw3sbmc5jt7nri +- valory/termination_abci:0.1.0:bafybeiea67epwwgngp7b3wavs6hpkaxv6etyaps6g6325bchfnf354mibq +- valory/transaction_settlement_abci:0.1.0:bafybeifmgmwdkx4esemxjacjwzqkqymkuklb5nehkwqkx7v335fllgswcq +- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeibj5frl64wbrq2skp324opcukakvuawbg5cia2svrbnsmiyfrai4u +- valory/market_manager_abci:0.1.0:bafybeiayhzwxlpqsevyvaxn6dtnnu745az5vcz7dckmghnmjywxdtvoyly +- valory/decision_maker_abci:0.1.0:bafybeifod6ghdpzqtsvxntb3ebjer3wbduv6pzw3qxlepcl7o3j5yrl34i +- valory/trader_abci:0.1.0:bafybeig52zttzojxbnu3bk5srsadbolzgzoh5xtt4uvz5blu2i7j5f56ga +- valory/staking_abci:0.1.0:bafybeiaasclr4lf3u2layekmfwyasckxrslbs2g4me7kvozz5goswlznjq +- valory/check_stop_trading_abci:0.1.0:bafybeic3bismocli2yyxmjhjsevjbzpuf3ladsvlkazfx23vq3q6uxrn7m +- valory/mech_interact_abci:0.1.0:bafybeib4vn6m2yumwoclh5aatcdt5yxcjc5owxmxy5o7t3nfzormgwkr64 customs: - valory/mike_strat:0.1.0:bafybeihjiol7f4ch4piwfikurdtfwzsh6qydkbsztpbwbwb2yrqdqf726m - valory/bet_amount_per_threshold:0.1.0:bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24 @@ -89,11 +94,11 @@ logging_config: propagate: true dependencies: open-aea-ledger-cosmos: - version: ==1.53.0 + version: ==1.60.0 open-aea-ledger-ethereum: - version: ==1.53.0 + version: ==1.60.0 open-aea-test-autonomy: - version: ==0.14.14.post1 + version: ==0.18.3 skill_exception_policy: stop_and_exit connection_exception_policy: just_log default_connection: null @@ -162,6 +167,7 @@ models: drand_public_key: ${str:868f005eb8e6e4ca0a47c8a77ceaa5309a47978a7c71bc5cce96366b5d7a569937c529eeda66c7293784a9402801af31} service_registry_address: ${str:null} agent_registry_address: ${str:0xE49CB081e8d96920C38aA7AB90cb0294ab4Bc8EA} + use_acn_for_delivers: ${bool:false} share_tm_config_on_startup: ${bool:false} sleep_time: ${int:10} tendermint_p2p_url: ${str:localhost:26656} @@ -169,8 +175,7 @@ models: termination_from_block: ${int:0} use_termination: ${bool:false} on_chain_service_id: ${int:null} - creator_per_subgraph: - omen_subgraph: ${list:["0x89c5cc945dd550BcFfb72Fe42BfF002429F46Fec"]} + creator_per_subgraph: ${dict:{"omen_subgraph":["0x89c5cc945dd550BcFfb72Fe42BfF002429F46Fec"]}} slot_count: ${int:2} opening_margin: ${int:86400} languages: ${list:["en_US"]} @@ -212,15 +217,14 @@ models: "stabilityai-stable-diffusion-xl-beta-v2-2-2", "stabilityai-stable-diffusion-512-v2-1", "stabilityai-stable-diffusion-768-v2-1"]} use_nevermined: ${bool:true} - mech_to_subscription_params: ${list:[["base_url", "https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo"], - ["did", "did:nv:01706149da2f9f3f67cf79ec86c37d63cec87fc148f5633b12bf6695653d5b3c"], - ["escrow_payment_condition_address", "0x31B2D187d674C9ACBD2b25f6EDce3d2Db2B7f446"], - ["lock_payment_condition_address", "0x2749DDEd394196835199471027713773736bffF2"], - ["transfer_nft_condition_address", "0x659fCA7436936e9fe8383831b65B8B442eFc8Ea8"], - ["token_address", "0x1b5DeaD7309b56ca7663b3301A503e077Be18cba"], ["order_address", - "0x72201948087aE83f8Eac22cf7A9f2139e4cFA829"], ["nft_amount", "100"], ["payment_token", - "0x0000000000000000000000000000000000000000"], ["order_address", "0x72201948087aE83f8Eac22cf7A9f2139e4cFA829"], - ["price", "1000000000000000000"]]} + mech_to_subscription_params: ${dict:{"base_url":"https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo", + "did":"did:nv:01706149da2f9f3f67cf79ec86c37d63cec87fc148f5633b12bf6695653d5b3c", + "escrow_payment_condition_address":"0x31B2D187d674C9ACBD2b25f6EDce3d2Db2B7f446", + "lock_payment_condition_address":"0x2749DDEd394196835199471027713773736bffF2", + "transfer_nft_condition_address":"0x659fCA7436936e9fe8383831b65B8B442eFc8Ea8", + "token_address":"0x1b5DeaD7309b56ca7663b3301A503e077Be18cba", "order_address":"0x72201948087aE83f8Eac22cf7A9f2139e4cFA829", + "nft_amount":"100", "payment_token":"0x0000000000000000000000000000000000000000", + "price":"1000000000000000000"}} staking_contract_address: ${str:0x2Ef503950Be67a98746F484DA0bBAdA339DF3326} staking_interaction_sleep_time: ${int:5} disable_trading: ${bool:false} @@ -229,8 +233,8 @@ models: refill_check_interval: ${int:10} tool_punishment_multiplier: ${int:1} contract_timeout: ${float:300.0} - file_hash_to_strategies_json: ${list:[["bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24",["bet_amount_per_threshold"]],["bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae",["kelly_criterion_no_conf"]]]} - strategies_kwargs: ${list:[["bet_kelly_fraction",1.0],["floor_balance",500000000000000000],["bet_amount_per_threshold",{"0.0":0,"0.1":0,"0.2":0,"0.3":0,"0.4":0,"0.5":0,"0.6":60000000000000000,"0.7":90000000000000000,"0.8":100000000000000000,"0.9":1000000000000000000,"1.0":10000000000000000000}]]} + file_hash_to_strategies: ${dict:{"bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24":["bet_amount_per_threshold"],"bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae":["kelly_criterion_no_conf"]}} + strategies_kwargs: ${dict:{"bet_kelly_fraction":1.0,"floor_balance":500000000000000000,"bet_amount_per_threshold":{"0.0":0,"0.1":0,"0.2":0,"0.3":0,"0.4":0,"0.5":0,"0.6":60000000000000000,"0.7":90000000000000000,"0.8":100000000000000000,"0.9":1000000000000000000,"1.0":10000000000000000000}}} service_endpoint: ${str:https://trader.staging.autonolas.tech/} rpc_sleep_time: ${int:10} safe_voting_range: ${int:600} @@ -238,13 +242,7 @@ models: mech_interaction_sleep_time: ${int:10} use_mech_marketplace: ${bool:false} policy_store_update_offset: ${int:259200} - mech_marketplace_config: - mech_marketplace_address: ${str:0x0000000000000000000000000000000000000000} - priority_mech_address: ${str:0x0000000000000000000000000000000000000000} - priority_mech_staking_instance_address: ${str:0x0000000000000000000000000000000000000000} - priority_mech_service_id: ${int:0} - requester_staking_instance_address: ${str:0x0000000000000000000000000000000000000000} - response_timeout: ${int:300} + mech_marketplace_config: ${dict:{"mech_marketplace_address":"0x0000000000000000000000000000000000000000","priority_mech_address":"0x0000000000000000000000000000000000000000","priority_mech_staking_instance_address":"0x0000000000000000000000000000000000000000","priority_mech_service_id":0,"requester_staking_instance_address":"0x0000000000000000000000000000000000000000","response_timeout":300}} expected_mech_response_time: ${int:300} mech_invalid_response: ${str:Invalid Response} mech_consecutive_failures_threshold: ${int:2} diff --git a/packages/valory/contracts/agent_registry/__init__.py b/packages/valory/contracts/agent_registry/__init__.py index cf1e8467e..ad295b9e3 100644 --- a/packages/valory/contracts/agent_registry/__init__.py +++ b/packages/valory/contracts/agent_registry/__init__.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # ------------------------------------------------------------------------------ # -# Copyright 2023 Valory AG +# Copyright 2023-2024 Valory AG # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/packages/valory/contracts/agent_registry/contract.py b/packages/valory/contracts/agent_registry/contract.py index 9acf29aad..5d41acd0d 100644 --- a/packages/valory/contracts/agent_registry/contract.py +++ b/packages/valory/contracts/agent_registry/contract.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # ------------------------------------------------------------------------------ # -# Copyright 2023 Valory AG +# Copyright 2023-2024 Valory AG # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,11 +18,14 @@ # ------------------------------------------------------------------------------ """This module contains the class to connect to the Agent Registry contract.""" +from typing import Any, Dict, cast from aea.common import JSONLike from aea.configurations.base import PublicId from aea.contracts.base import Contract from aea.crypto.base import LedgerApi +from aea_ledger_ethereum import EthereumApi +from web3 import Web3 class AgentRegistryContract(Contract): @@ -62,3 +65,52 @@ def get_hash( # return the hash in hex return dict(hash=hash_.hex()) + + @classmethod + def authenticate_sender(cls, ledger_api: LedgerApi, contract_address: str, sender_address: str, mech_address: str) -> Dict[str, Any]: + """Check if the sender address is valid.""" + ledger_api = cast(EthereumApi, ledger_api) + contract_instance = cls.get_instance(ledger_api, contract_address) + + # assume the owner is a multisig wallet, so we check whether the sender is an owner + try: + # running in a try catch block because theres no guarantee + # that the agent owner matches the abi + minimal_abi = [ + { + "constant": True, + "inputs": [], + "name": "getOwners", + "outputs": [{"name": "", "type": "address[]"}], + "payable": False, + "stateMutability": "view", + "type": "function", + }, + { + "inputs": [], + "name": "tokenId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + contract = ledger_api.api.eth.contract(address=Web3.to_checksum_address(mech_address), abi=minimal_abi) + agent_id = contract.functions.tokenId().call() + + agent_owner = contract_instance.functions.ownerOf(agent_id).call() + if Web3.to_checksum_address(agent_owner) == Web3.to_checksum_address(sender_address): + return dict(is_valid=True) + + safe_contract = ledger_api.api.eth.contract(address=Web3.to_checksum_address(agent_owner), abi=minimal_abi) + owners = safe_contract.functions.getOwners().call() + if Web3.to_checksum_address(sender_address) in owners: + return dict(is_valid=True) + + except Exception as e: + return dict(is_valid=False, error=str(e)) # pragma: no cover diff --git a/packages/valory/contracts/agent_registry/contract.yaml b/packages/valory/contracts/agent_registry/contract.yaml index c0207fc24..8d2e41871 100644 --- a/packages/valory/contracts/agent_registry/contract.yaml +++ b/packages/valory/contracts/agent_registry/contract.yaml @@ -6,9 +6,9 @@ description: Agent Registry contract license: Apache-2.0 aea_version: '>=1.0.0, <2.0.0' fingerprint: - __init__.py: bafybeid3wfzglolebuo6jrrsopswzu4lk77bm76mvw3euizlsjtnt3wmgu + __init__.py: bafybeibpoladl6yrvlwydhypulk2juvl7pfi3dnkhs2msx3am2ew57zika build/AgentRegistry.json: bafybeicoe5elvvsv2neiirsdn4uddrilizmyib3x4mvpklr7olhj2kh4ue - contract.py: bafybeihrv6blme3v6diwci6zxxn72qbg5sanzmfq5tobhs4375ebcuyday + contract.py: bafybeihc6fm7driw67wf7vijj2kcdptxawjog35gokojakwmwnutevzwtm fingerprint_ignore_patterns: [] contracts: [] class_name: AgentRegistryContract @@ -16,8 +16,8 @@ contract_interface_paths: ethereum: build/AgentRegistry.json dependencies: open-aea-ledger-ethereum: - version: ==1.53.0 + version: <2,>=1.53.0 open-aea-test-autonomy: - version: ==0.14.14.post1 + version: <1,>=0.14.14.post1 web3: version: <7,>=6.0.0 diff --git a/packages/valory/contracts/market_maker/contract.yaml b/packages/valory/contracts/market_maker/contract.yaml index fbcae9d97..94a98314a 100644 --- a/packages/valory/contracts/market_maker/contract.yaml +++ b/packages/valory/contracts/market_maker/contract.yaml @@ -21,9 +21,9 @@ dependencies: eth_typing: {} hexbytes: {} open-aea-ledger-ethereum: - version: ==1.53.0 + version: ==1.60.0 open-aea-test-autonomy: - version: ==0.14.14.post1 + version: ==0.18.3 packaging: {} py-eth-sig-utils: {} requests: diff --git a/packages/valory/contracts/mech_activity/contract.yaml b/packages/valory/contracts/mech_activity/contract.yaml index 1a1828d46..db7e86484 100644 --- a/packages/valory/contracts/mech_activity/contract.yaml +++ b/packages/valory/contracts/mech_activity/contract.yaml @@ -16,8 +16,8 @@ contract_interface_paths: ethereum: build/MechActivity.json dependencies: open-aea-ledger-ethereum: - version: ==1.53.0 + version: ==1.60.0 open-aea-test-autonomy: - version: ==0.14.14.post1 + version: ==0.18.3 web3: version: <7,>=6.0.0 diff --git a/packages/valory/contracts/relayer/contract.yaml b/packages/valory/contracts/relayer/contract.yaml index 33f355d6d..a49061023 100644 --- a/packages/valory/contracts/relayer/contract.yaml +++ b/packages/valory/contracts/relayer/contract.yaml @@ -16,6 +16,6 @@ contract_interface_paths: ethereum: build/Relayer.json dependencies: open-aea-ledger-ethereum: - version: ==1.53.0 + version: ==1.60.0 web3: version: <7,>=6.0.0 diff --git a/packages/valory/contracts/service_staking_token/contract.yaml b/packages/valory/contracts/service_staking_token/contract.yaml index 70df67a5c..10d84ad93 100644 --- a/packages/valory/contracts/service_staking_token/contract.yaml +++ b/packages/valory/contracts/service_staking_token/contract.yaml @@ -16,8 +16,8 @@ contract_interface_paths: ethereum: build/ServiceStakingToken.json dependencies: open-aea-ledger-ethereum: - version: ==1.53.0 + version: ==1.60.0 open-aea-test-autonomy: - version: ==0.14.14.post1 + version: ==0.18.3 web3: version: <7,>=6.0.0 diff --git a/packages/valory/contracts/staking_token/contract.yaml b/packages/valory/contracts/staking_token/contract.yaml index e1a858361..b2e580c58 100644 --- a/packages/valory/contracts/staking_token/contract.yaml +++ b/packages/valory/contracts/staking_token/contract.yaml @@ -16,7 +16,7 @@ contract_interface_paths: ethereum: build/StakingToken.json dependencies: open-aea-ledger-ethereum: - version: <2,>=1.53.0 + version: <2,>=1.60.0 open-aea-test-autonomy: version: <1,>=0.14.14.post1 web3: diff --git a/packages/valory/contracts/transfer_nft_condition/contract.yaml b/packages/valory/contracts/transfer_nft_condition/contract.yaml index fcc24b09a..52b6156fe 100644 --- a/packages/valory/contracts/transfer_nft_condition/contract.yaml +++ b/packages/valory/contracts/transfer_nft_condition/contract.yaml @@ -21,9 +21,9 @@ dependencies: eth_typing: {} hexbytes: {} open-aea-ledger-ethereum: - version: ==1.53.0 + version: ==1.60.0 open-aea-test-autonomy: - version: ==0.14.14.post1 + version: ==0.18.3 packaging: {} py-eth-sig-utils: {} requests: diff --git a/packages/valory/services/trader/service.yaml b/packages/valory/services/trader/service.yaml index 2db18986a..85ca57949 100644 --- a/packages/valory/services/trader/service.yaml +++ b/packages/valory/services/trader/service.yaml @@ -7,7 +7,7 @@ license: Apache-2.0 fingerprint: README.md: bafybeigtuothskwyvrhfosps2bu6suauycolj67dpuxqvnicdrdu7yhtvq fingerprint_ignore_patterns: [] -agent: valory/trader:0.1.0:bafybeiczpkr2drsdppith4foyeby6zf5uxugjfjfhl7yocvr3mcdkjzjpa +agent: valory/trader:0.1.0:bafybeicebrhoaprwbl7eljrfr7u72bx37mpv5zjylb4kesier77wa2tz2m number_of_agents: 4 deployment: agent: @@ -63,6 +63,7 @@ type: skill service_id: ${SERVICE_ID:str:trader} service_registry_address: ${SERVICE_REGISTRY_ADDRESS:str:0x9338b5153AE39BB89f50468E608eD9d764B755fD} agent_registry_address: ${AGENT_REGISTRY_ADDRESS:str:0xE49CB081e8d96920C38aA7AB90cb0294ab4Bc8EA} + use_acn_for_delivers: ${USE_ACN_FOR_DELIVERS:bool:false} share_tm_config_on_startup: ${USE_ACN:bool:false} sleep_time: ${SLEEP_TIME:int:1} tendermint_check_sleep_delay: ${TM_CHECK_SLEEP_DELAY:int:3} @@ -76,8 +77,7 @@ type: skill termination_from_block: ${TERMINATION_FROM_BLOCK:int:0} validate_timeout: ${VALIDATE_TIMEOUT:int:1205} history_check_timeout: ${HISTORY_CHECK_TIMEOUT:int:1205} - creator_per_subgraph: &id003 - omen_subgraph: ${OMEN_CREATORS:list:["0x89c5cc945dd550BcFfb72Fe42BfF002429F46Fec"]} + creator_per_subgraph: ${CREATOR_PER_SUBGRAPH:dict:{"omen_subgraph":["0x89c5cc945dd550BcFfb72Fe42BfF002429F46Fec"]}} slot_count: ${SLOT_COUNT:int:2} opening_margin: ${OPENING_MARGIN:int:86400} languages: ${LANGUAGES:list:["en_US"]} @@ -126,19 +126,19 @@ type: skill tool_punishment_multiplier: ${TOOL_PUNISHMENT_MULTIPLIER:int:1} redeem_round_timeout: ${REDEEM_ROUND_TIMEOUT:float:3600.0} contract_timeout: ${CONTRACT_TIMEOUT:float:300.0} - file_hash_to_strategies_json: ${FILE_HASH_TO_STRATEGIES_JSON:list:[["bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24",["bet_amount_per_threshold"]],["bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae",["kelly_criterion_no_conf"]]]} - strategies_kwargs: ${STRATEGIES_KWARGS:list:[["bet_kelly_fraction",1.0],["floor_balance",500000000000000000],["bet_amount_per_threshold",{"0.0":0,"0.1":0,"0.2":0,"0.3":0,"0.4":0,"0.5":0,"0.6":60000000000000000,"0.7":90000000000000000,"0.8":100000000000000000,"0.9":1000000000000000000,"1.0":10000000000000000000}]]} + file_hash_to_strategies: ${FILE_HASH_TO_STRATEGIES:dict:{"bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24":["bet_amount_per_threshold"],"bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae":["kelly_criterion_no_conf"]}} + strategies_kwargs: ${STRATEGIES_KWARGS:dict:{"bet_kelly_fraction":1.0,"floor_balance":500000000000000000,"bet_amount_per_threshold":{"0.0":0,"0.1":0,"0.2":0,"0.3":0,"0.4":0,"0.5":0,"0.6":60000000000000000,"0.7":90000000000000000,"0.8":100000000000000000,"0.9":1000000000000000000,"1.0":10000000000000000000}}} use_subgraph_for_redeeming: ${USE_SUBGRAPH_FOR_REDEEMING:bool:true} use_nevermined: ${USE_NEVERMINED:bool:false} - mech_to_subscription_params: ${SUBSCRIPTION_PARAMS:list:[["base_url", "https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo"], - ["did", "did:nv:01706149da2f9f3f67cf79ec86c37d63cec87fc148f5633b12bf6695653d5b3c"], - ["escrow_payment_condition_address", "0x31B2D187d674C9ACBD2b25f6EDce3d2Db2B7f446"], - ["lock_payment_condition_address", "0x2749DDEd394196835199471027713773736bffF2"], - ["transfer_nft_condition_address", "0x659fCA7436936e9fe8383831b65B8B442eFc8Ea8"], - ["token_address", "0x1b5DeaD7309b56ca7663b3301A503e077Be18cba"], ["order_address", - "0x72201948087aE83f8Eac22cf7A9f2139e4cFA829"], ["nft_amount", "100"], ["payment_token", - "0x0000000000000000000000000000000000000000"], ["order_address", "0x72201948087aE83f8Eac22cf7A9f2139e4cFA829"], - ["price", "1000000000000000000"]]} + mech_to_subscription_params: ${SUBSCRIPTION_PARAMS:dict:{"base_url":"https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo", + "did":"did:nv:01706149da2f9f3f67cf79ec86c37d63cec87fc148f5633b12bf6695653d5b3c", + "escrow_payment_condition_address":"0x31B2D187d674C9ACBD2b25f6EDce3d2Db2B7f446", + "lock_payment_condition_address":"0x2749DDEd394196835199471027713773736bffF2", + "transfer_nft_condition_address":"0x659fCA7436936e9fe8383831b65B8B442eFc8Ea8", + "token_address":"0x1b5DeaD7309b56ca7663b3301A503e077Be18cba", "order_address":"0x72201948087aE83f8Eac22cf7A9f2139e4cFA829", + "nft_amount":"100", "payment_token":"0x0000000000000000000000000000000000000000", + "price":"1000000000000000000"}} + mech_marketplace_config: ${MECH_MARKETPLACE_CONFIG:dict:{"mech_marketplace_address":"0x0000000000000000000000000000000000000000","priority_mech_address":"0x0000000000000000000000000000000000000000","priority_mech_staking_instance_address":"0x0000000000000000000000000000000000000000","priority_mech_service_id":0,"requester_staking_instance_address":"0x0000000000000000000000000000000000000000","response_timeout":300}} service_endpoint: ${SERVICE_ENDPOINT:str:https://trader.staging.autonolas.tech/} rpc_sleep_time: ${RPC_SLEEP_TIME:int:10} safe_voting_range: ${SAFE_VOTING_RANGE:int:600} @@ -149,7 +149,7 @@ type: skill mech_invalid_response: ${MECH_INVALID_RESPONSE:str:Invalid Response} mech_consecutive_failures_threshold: ${MECH_CONSECUTIVE_FAILURES_THRESHOLD:int:2} tool_quarantine_duration: ${TOOL_QUARANTINE_DURATION:int:18000} - benchmark_tool: &id004 + benchmark_tool: &id003 args: log_dir: ${LOG_DIR:str:/benchmarks} benchmarking_mode: @@ -171,7 +171,7 @@ type: skill bet_amount_field: ${BENCHMARKING_MODE_BET_AMOUNT_FIELD:str:collateral_amount} results_filename: ${BENCHMARKING_MODE_RESULTS_FILENAME:str:benchmarking_results.csv} randomness: ${BENCHMARKING_MODE_RANDOMNESS:str:benchmarking_randomness} - acc_info_fields: &id005 + acc_info_fields: &id004 args: tool: ${ACC_INFO_FIELDS_TOOL:str:tool} requests: ${ACC_INFO_FIELDS_REQUESTS:str:total_requests} @@ -179,10 +179,9 @@ type: skill sep: ${ACC_INFO_FIELDS_SEP:str:,} max: ${ACC_INFO_FIELDS_MAX:str:max} datetime_format: ${ACC_INFO_FIELDS_DATETIME_FORMAT:str:%Y-%m-%d %H:%M:%S} - network_subgraph: &id006 + network_subgraph: &id005 args: - headers: - Content-Type: ${NETWORK_SUBGRAPH_CONTENT_TYPE:str:application/json} + headers: ${HEADERS:dict:{"Content-Type":"application/json"}} method: ${NETWORK_SUBGRAPH_METHOD:str:POST} response_key: ${NETWORK_SUBGRAPH_RESPONSE_KEY:str:data:blocks} response_index: ${NETWORK_SUBGRAPH_RESPONSE_INDEX:int:0} @@ -192,10 +191,9 @@ type: skill error_type: ${NETWORK_SUBGRAPH_ERROR_TYPE:str:dict} retries: ${NETWORK_SUBGRAPH_RETRIES:int:5} url: ${NETWORK_SUBGRAPH_URL:str:https://api.thegraph.com/subgraphs/name/stakewise/ethereum-gnosis} - omen_subgraph: &id007 + omen_subgraph: &id006 args: - headers: - Content-Type: ${OMEN_SUBGRAPH_CONTENT_TYPE:str:application/json} + headers: ${HEADERS:dict:{"Content-Type":"application/json"}} method: ${OMEN_SUBGRAPH_METHOD:str:POST} response_key: ${OMEN_SUBGRAPH_RESPONSE_KEY:str:data:fixedProductMarketMakers} response_type: ${OMEN_SUBGRAPH_RESPONSE_TYPE:str:list} @@ -204,35 +202,32 @@ type: skill error_type: ${NETWORK_SUBGRAPH_ERROR_TYPE:str:dict} retries: ${OMEN_SUBGRAPH_RETRIES:int:5} url: ${OMEN_SUBGRAPH_URL:str:https://api.thegraph.com/subgraphs/name/protofire/omen-xdai} - randomness_api: &id008 + randomness_api: &id007 args: method: ${RANDOMNESS_API_METHOD:str:GET} response_key: ${RANDOMNESS_API_RESPONSE_KEY:str:null} response_type: ${RANDOMNESS_API_RESPONSE_TYPE:str:dict} retries: ${RANDOMNESS_API_RETRIES:int:5} url: ${RANDOMNESS_API_URL:str:https://drand.cloudflare.com/public/latest} - mech_response: &id009 + mech_response: &id008 args: - headers: - Content-Type: ${MECH_RESPONSE_API_CONTENT_TYPE:str:application/json} + headers: ${HEADERS:dict:{"Content-Type":"application/json"}} method: ${MECH_RESPONSE_API_METHOD:str:GET} response_key: ${MECH_RESPONSE_API_RESPONSE_KEY:str:result} response_type: ${MECH_RESPONSE_API_RESPONSE_TYPE:str:str} retries: ${MECH_RESPONSE_API_RETRIES:int:5} url: ${MECH_RESPONSE_API_URL:str:''} - agent_tools: &id010 + agent_tools: &id009 args: - headers: - Content-Type: ${AGENT_TOOLS_API_CONTENT_TYPE:str:application/json} + headers: ${HEADERS:dict:{"Content-Type":"application/json"}} method: ${AGENT_TOOLS_API_METHOD:str:GET} response_key: ${AGENT_TOOLS_API_RESPONSE_KEY:str:tools} response_type: ${AGENT_TOOLS_API_RESPONSE_TYPE:str:list} retries: ${AGENT_TOOLS_API_RETRIES:int:5} url: ${AGENT_TOOLS_API_URL:str:''} - trades_subgraph: &id011 + trades_subgraph: &id010 args: - headers: - Content-Type: ${TRADES_SUBGRAPH_CONTENT_TYPE:str:application/json} + headers: ${HEADERS:dict:{"Content-Type":"application/json"}} method: ${TRADES_SUBGRAPH_METHOD:str:POST} response_key: ${TRADES_SUBGRAPH_RESPONSE_KEY:str:data:fpmmTrades} response_type: ${TRADES_SUBGRAPH_RESPONSE_TYPE:str:list} @@ -241,10 +236,9 @@ type: skill error_type: ${NETWORK_SUBGRAPH_ERROR_TYPE:str:dict} retries: ${TRADES_SUBGRAPH_RETRIES:int:5} url: ${TRADES_SUBGRAPH_URL:str:https://api.thegraph.com/subgraphs/name/protofire/omen-xdai} - conditional_tokens_subgraph: &id012 + conditional_tokens_subgraph: &id011 args: - headers: - Content-Type: ${CONDITIONAL_TOKENS_SUBGRAPH_CONTENT_TYPE:str:application/json} + headers: ${HEADERS:dict:{"Content-Type":"application/json"}} method: ${CONDITIONAL_TOKENS_SUBGRAPH_METHOD:str:POST} response_key: ${CONDITIONAL_TOKENS_SUBGRAPH_RESPONSE_KEY:str:data:user:userPositions} response_type: ${CONDITIONAL_TOKENS_SUBGRAPH_RESPONSE_TYPE:str:list} @@ -253,10 +247,9 @@ type: skill error_type: ${NETWORK_SUBGRAPH_ERROR_TYPE:str:dict} retries: ${CONDITIONAL_TOKENS_SUBGRAPH_RETRIES:int:5} url: ${CONDITIONAL_TOKENS_SUBGRAPH_URL:str:https://api.thegraph.com/subgraphs/name/gnosis/conditional-tokens-gc} - realitio_subgraph: &id013 + realitio_subgraph: &id012 args: - headers: - Content-Type: ${REALITIO_SUBGRAPH_CONTENT_TYPE:str:application/json} + headers: ${HEADERS:dict:{"Content-Type":"application/json"}} method: ${REALITIO_SUBGRAPH_METHOD:str:POST} response_key: ${REALITIO_SUBGRAPH_RESPONSE_KEY:str:data:answers} response_type: ${REALITIO_SUBGRAPH_RESPONSE_TYPE:str:list} @@ -293,6 +286,7 @@ type: skill service_id: ${SERVICE_ID:str:trader} service_registry_address: ${SERVICE_REGISTRY_ADDRESS:str:0x9338b5153AE39BB89f50468E608eD9d764B755fD} agent_registry_address: ${AGENT_REGISTRY_ADDRESS:str:0xE49CB081e8d96920C38aA7AB90cb0294ab4Bc8EA} + use_acn_for_delivers: ${USE_ACN_FOR_DELIVERS:bool:false} share_tm_config_on_startup: ${USE_ACN:bool:false} sleep_time: ${SLEEP_TIME:int:1} tendermint_check_sleep_delay: ${TM_CHECK_SLEEP_DELAY:int:3} @@ -306,7 +300,7 @@ type: skill termination_from_block: ${TERMINATION_FROM_BLOCK:int:0} validate_timeout: ${VALIDATE_TIMEOUT:int:1205} history_check_timeout: ${HISTORY_CHECK_TIMEOUT:int:1205} - creator_per_subgraph: *id003 + creator_per_subgraph: ${CREATOR_PER_SUBGRAPH:dict:{"omen_subgraph":["0x89c5cc945dd550BcFfb72Fe42BfF002429F46Fec"]}} slot_count: ${SLOT_COUNT:int:2} opening_margin: ${OPENING_MARGIN:int:86400} languages: ${LANGUAGES:list:["en_US"]} @@ -353,19 +347,19 @@ type: skill tool_punishment_multiplier: ${TOOL_PUNISHMENT_MULTIPLIER:int:1} redeem_round_timeout: ${REDEEM_ROUND_TIMEOUT:float:3600.0} contract_timeout: ${CONTRACT_TIMEOUT:float:300.0} - file_hash_to_strategies_json: ${FILE_HASH_TO_STRATEGIES_JSON:list:[["bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24",["bet_amount_per_threshold"]],["bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae",["kelly_criterion_no_conf"]]]} - strategies_kwargs: ${STRATEGIES_KWARGS:list:[["bet_kelly_fraction",1.0],["floor_balance",500000000000000000],["bet_amount_per_threshold",{"0.0":0,"0.1":0,"0.2":0,"0.3":0,"0.4":0,"0.5":0,"0.6":60000000000000000,"0.7":90000000000000000,"0.8":100000000000000000,"0.9":1000000000000000000,"1.0":10000000000000000000}]]} + file_hash_to_strategies: ${FILE_HASH_TO_STRATEGIES:dict:{"bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24":["bet_amount_per_threshold"],"bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae":["kelly_criterion_no_conf"]}} + strategies_kwargs: ${STRATEGIES_KWARGS:dict:{"bet_kelly_fraction":1.0,"floor_balance":500000000000000000,"bet_amount_per_threshold":{"0.0":0,"0.1":0,"0.2":0,"0.3":0,"0.4":0,"0.5":0,"0.6":60000000000000000,"0.7":90000000000000000,"0.8":100000000000000000,"0.9":1000000000000000000,"1.0":10000000000000000000}}} use_subgraph_for_redeeming: ${USE_SUBGRAPH_FOR_REDEEMING:bool:true} use_nevermined: ${USE_NEVERMINED:bool:false} - mech_to_subscription_params: ${SUBSCRIPTION_PARAMS:list:[["base_url", "https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo"], - ["did", "did:nv:0ea01d5de3b34e3792db825f2a5f5595c393c68b19fd5efdacd00fcc63a53483"], - ["escrow_payment_condition_address", "0x9dDC4F1Ea5b94C138A23b60EC48c0d01d172629a"], - ["lock_payment_condition_address", "0xDE85A368Ee6f374d236500d176814365370778dA"], - ["transfer_nft_condition_address", "0xbBa4A25262745a55f020D0a3E9a82c25bb6F4979"], - ["token_address", "0x80A9b55F8604acC26dF2Ac6e07F9dC5B0eAa05Ce"], ["order_address", - "0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4"], ["nft_amount", "100"], ["payment_token", - "0x0000000000000000000000000000000000000000"], ["order_address", "0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4"], - ["price", "1000000000000000000"]]} + mech_to_subscription_params: ${SUBSCRIPTION_PARAMS:dict:{"base_url":"https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo", + "did":"did:nv:01706149da2f9f3f67cf79ec86c37d63cec87fc148f5633b12bf6695653d5b3c", + "escrow_payment_condition_address":"0x31B2D187d674C9ACBD2b25f6EDce3d2Db2B7f446", + "lock_payment_condition_address":"0x2749DDEd394196835199471027713773736bffF2", + "transfer_nft_condition_address":"0x659fCA7436936e9fe8383831b65B8B442eFc8Ea8", + "token_address":"0x1b5DeaD7309b56ca7663b3301A503e077Be18cba", "order_address":"0x72201948087aE83f8Eac22cf7A9f2139e4cFA829", + "nft_amount":"100", "payment_token":"0x0000000000000000000000000000000000000000", + "price":"1000000000000000000"}} + mech_marketplace_config: ${MECH_MARKETPLACE_CONFIG:dict:{"mech_marketplace_address":"0x0000000000000000000000000000000000000000","priority_mech_address":"0x0000000000000000000000000000000000000000","priority_mech_staking_instance_address":"0x0000000000000000000000000000000000000000","priority_mech_service_id":0,"requester_staking_instance_address":"0x0000000000000000000000000000000000000000","response_timeout":300}} service_endpoint: ${SERVICE_ENDPOINT:str:https://trader.staging.autonolas.tech/} rpc_sleep_time: ${RPC_SLEEP_TIME:int:10} safe_voting_range: ${SAFE_VOTING_RANGE:int:600} @@ -376,16 +370,16 @@ type: skill mech_invalid_response: ${MECH_INVALID_RESPONSE:str:Invalid Response} mech_consecutive_failures_threshold: ${MECH_CONSECUTIVE_FAILURES_THRESHOLD:int:2} tool_quarantine_duration: ${TOOL_QUARANTINE_DURATION:int:18000} - benchmark_tool: *id004 - acc_info_fields: *id005 - network_subgraph: *id006 - omen_subgraph: *id007 - randomness_api: *id008 - mech_response: *id009 - agent_tools: *id010 - trades_subgraph: *id011 - conditional_tokens_subgraph: *id012 - realitio_subgraph: *id013 + benchmark_tool: *id003 + acc_info_fields: *id004 + network_subgraph: *id005 + omen_subgraph: *id006 + randomness_api: *id007 + mech_response: *id008 + agent_tools: *id009 + trades_subgraph: *id010 + conditional_tokens_subgraph: *id011 + realitio_subgraph: *id012 2: models: params: @@ -414,6 +408,7 @@ type: skill service_id: ${SERVICE_ID:str:trader} service_registry_address: ${SERVICE_REGISTRY_ADDRESS:str:0x9338b5153AE39BB89f50468E608eD9d764B755fD} agent_registry_address: ${AGENT_REGISTRY_ADDRESS:str:0xE49CB081e8d96920C38aA7AB90cb0294ab4Bc8EA} + use_acn_for_delivers: ${USE_ACN_FOR_DELIVERS:bool:false} share_tm_config_on_startup: ${USE_ACN:bool:false} sleep_time: ${SLEEP_TIME:int:1} tendermint_check_sleep_delay: ${TM_CHECK_SLEEP_DELAY:int:3} @@ -427,7 +422,7 @@ type: skill termination_from_block: ${TERMINATION_FROM_BLOCK:int:0} validate_timeout: ${VALIDATE_TIMEOUT:int:1205} history_check_timeout: ${HISTORY_CHECK_TIMEOUT:int:1205} - creator_per_subgraph: *id003 + creator_per_subgraph: ${CREATOR_PER_SUBGRAPH:dict:{"omen_subgraph":["0x89c5cc945dd550BcFfb72Fe42BfF002429F46Fec"]}} slot_count: ${SLOT_COUNT:int:2} opening_margin: ${OPENING_MARGIN:int:86400} languages: ${LANGUAGES:list:["en_US"]} @@ -474,19 +469,19 @@ type: skill tool_punishment_multiplier: ${TOOL_PUNISHMENT_MULTIPLIER:int:1} redeem_round_timeout: ${REDEEM_ROUND_TIMEOUT:float:3600.0} contract_timeout: ${CONTRACT_TIMEOUT:float:300.0} - file_hash_to_strategies_json: ${FILE_HASH_TO_STRATEGIES_JSON:list:[["bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24",["bet_amount_per_threshold"]],["bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae",["kelly_criterion_no_conf"]]]} - strategies_kwargs: ${STRATEGIES_KWARGS:list:[["bet_kelly_fraction",1.0],["floor_balance",500000000000000000],["bet_amount_per_threshold",{"0.0":0,"0.1":0,"0.2":0,"0.3":0,"0.4":0,"0.5":0,"0.6":60000000000000000,"0.7":90000000000000000,"0.8":100000000000000000,"0.9":1000000000000000000,"1.0":10000000000000000000}]]} + file_hash_to_strategies: ${FILE_HASH_TO_STRATEGIES:dict:{"bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24":["bet_amount_per_threshold"],"bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae":["kelly_criterion_no_conf"]}} + strategies_kwargs: ${STRATEGIES_KWARGS:dict:{"bet_kelly_fraction":1.0,"floor_balance":500000000000000000,"bet_amount_per_threshold":{"0.0":0,"0.1":0,"0.2":0,"0.3":0,"0.4":0,"0.5":0,"0.6":60000000000000000,"0.7":90000000000000000,"0.8":100000000000000000,"0.9":1000000000000000000,"1.0":10000000000000000000}}} use_subgraph_for_redeeming: ${USE_SUBGRAPH_FOR_REDEEMING:bool:true} use_nevermined: ${USE_NEVERMINED:bool:false} - mech_to_subscription_params: ${SUBSCRIPTION_PARAMS:list:[["base_url", "https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo"], - ["did", "did:nv:0ea01d5de3b34e3792db825f2a5f5595c393c68b19fd5efdacd00fcc63a53483"], - ["escrow_payment_condition_address", "0x9dDC4F1Ea5b94C138A23b60EC48c0d01d172629a"], - ["lock_payment_condition_address", "0xDE85A368Ee6f374d236500d176814365370778dA"], - ["transfer_nft_condition_address", "0xbBa4A25262745a55f020D0a3E9a82c25bb6F4979"], - ["token_address", "0x80A9b55F8604acC26dF2Ac6e07F9dC5B0eAa05Ce"], ["order_address", - "0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4"], ["nft_amount", "100"], ["payment_token", - "0x0000000000000000000000000000000000000000"], ["order_address", "0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4"], - ["price", "1000000000000000000"]]} + mech_to_subscription_params: ${SUBSCRIPTION_PARAMS:dict:{"base_url":"https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo", + "did":"did:nv:01706149da2f9f3f67cf79ec86c37d63cec87fc148f5633b12bf6695653d5b3c", + "escrow_payment_condition_address":"0x31B2D187d674C9ACBD2b25f6EDce3d2Db2B7f446", + "lock_payment_condition_address":"0x2749DDEd394196835199471027713773736bffF2", + "transfer_nft_condition_address":"0x659fCA7436936e9fe8383831b65B8B442eFc8Ea8", + "token_address":"0x1b5DeaD7309b56ca7663b3301A503e077Be18cba", "order_address":"0x72201948087aE83f8Eac22cf7A9f2139e4cFA829", + "nft_amount":"100", "payment_token":"0x0000000000000000000000000000000000000000", + "price":"1000000000000000000"}} + mech_marketplace_config: ${MECH_MARKETPLACE_CONFIG:dict:{"mech_marketplace_address":"0x0000000000000000000000000000000000000000","priority_mech_address":"0x0000000000000000000000000000000000000000","priority_mech_staking_instance_address":"0x0000000000000000000000000000000000000000","priority_mech_service_id":0,"requester_staking_instance_address":"0x0000000000000000000000000000000000000000","response_timeout":300}} service_endpoint: ${SERVICE_ENDPOINT:str:https://trader.staging.autonolas.tech/} rpc_sleep_time: ${RPC_SLEEP_TIME:int:10} safe_voting_range: ${SAFE_VOTING_RANGE:int:600} @@ -497,16 +492,16 @@ type: skill mech_invalid_response: ${MECH_INVALID_RESPONSE:str:Invalid Response} mech_consecutive_failures_threshold: ${MECH_CONSECUTIVE_FAILURES_THRESHOLD:int:2} tool_quarantine_duration: ${TOOL_QUARANTINE_DURATION:int:18000} - benchmark_tool: *id004 - acc_info_fields: *id005 - network_subgraph: *id006 - omen_subgraph: *id007 - randomness_api: *id008 - mech_response: *id009 - agent_tools: *id010 - trades_subgraph: *id011 - conditional_tokens_subgraph: *id012 - realitio_subgraph: *id013 + benchmark_tool: *id003 + acc_info_fields: *id004 + network_subgraph: *id005 + omen_subgraph: *id006 + randomness_api: *id007 + mech_response: *id008 + agent_tools: *id009 + trades_subgraph: *id010 + conditional_tokens_subgraph: *id011 + realitio_subgraph: *id012 3: models: params: @@ -535,6 +530,7 @@ type: skill service_id: ${SERVICE_ID:str:trader} service_registry_address: ${SERVICE_REGISTRY_ADDRESS:str:0x9338b5153AE39BB89f50468E608eD9d764B755fD} agent_registry_address: ${AGENT_REGISTRY_ADDRESS:str:0xE49CB081e8d96920C38aA7AB90cb0294ab4Bc8EA} + use_acn_for_delivers: ${USE_ACN_FOR_DELIVERS:bool:false} share_tm_config_on_startup: ${USE_ACN:bool:false} sleep_time: ${SLEEP_TIME:int:1} tendermint_check_sleep_delay: ${TM_CHECK_SLEEP_DELAY:int:3} @@ -548,7 +544,7 @@ type: skill termination_from_block: ${TERMINATION_FROM_BLOCK:int:0} validate_timeout: ${VALIDATE_TIMEOUT:int:1205} history_check_timeout: ${HISTORY_CHECK_TIMEOUT:int:1205} - creator_per_subgraph: *id003 + creator_per_subgraph: ${CREATOR_PER_SUBGRAPH:dict:{"omen_subgraph":["0x89c5cc945dd550BcFfb72Fe42BfF002429F46Fec"]}} slot_count: ${SLOT_COUNT:int:2} opening_margin: ${OPENING_MARGIN:int:86400} languages: ${LANGUAGES:list:["en_US"]} @@ -595,19 +591,19 @@ type: skill tool_punishment_multiplier: ${TOOL_PUNISHMENT_MULTIPLIER:int:1} redeem_round_timeout: ${REDEEM_ROUND_TIMEOUT:float:3600.0} contract_timeout: ${CONTRACT_TIMEOUT:float:300.0} - file_hash_to_strategies_json: ${FILE_HASH_TO_STRATEGIES_JSON:list:[["bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24",["bet_amount_per_threshold"]],["bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae",["kelly_criterion_no_conf"]]]} - strategies_kwargs: ${STRATEGIES_KWARGS:list:[["bet_kelly_fraction",1.0],["floor_balance",500000000000000000],["bet_amount_per_threshold",{"0.0":0,"0.1":0,"0.2":0,"0.3":0,"0.4":0,"0.5":0,"0.6":60000000000000000,"0.7":90000000000000000,"0.8":100000000000000000,"0.9":1000000000000000000,"1.0":10000000000000000000}]]} + file_hash_to_strategies: ${FILE_HASH_TO_STRATEGIES:dict:{"bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24":["bet_amount_per_threshold"],"bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae":["kelly_criterion_no_conf"]}} + strategies_kwargs: ${STRATEGIES_KWARGS:dict:{"bet_kelly_fraction":1.0,"floor_balance":500000000000000000,"bet_amount_per_threshold":{"0.0":0,"0.1":0,"0.2":0,"0.3":0,"0.4":0,"0.5":0,"0.6":60000000000000000,"0.7":90000000000000000,"0.8":100000000000000000,"0.9":1000000000000000000,"1.0":10000000000000000000}}} use_subgraph_for_redeeming: ${USE_SUBGRAPH_FOR_REDEEMING:bool:true} use_nevermined: ${USE_NEVERMINED:bool:false} - mech_to_subscription_params: ${SUBSCRIPTION_PARAMS:list:[["base_url", "https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo"], - ["did", "did:nv:0ea01d5de3b34e3792db825f2a5f5595c393c68b19fd5efdacd00fcc63a53483"], - ["escrow_payment_condition_address", "0x9dDC4F1Ea5b94C138A23b60EC48c0d01d172629a"], - ["lock_payment_condition_address", "0xDE85A368Ee6f374d236500d176814365370778dA"], - ["transfer_nft_condition_address", "0xbBa4A25262745a55f020D0a3E9a82c25bb6F4979"], - ["token_address", "0x80A9b55F8604acC26dF2Ac6e07F9dC5B0eAa05Ce"], ["order_address", - "0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4"], ["nft_amount", "100"], ["payment_token", - "0x0000000000000000000000000000000000000000"], ["order_address", "0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4"], - ["price", "1000000000000000000"]]} + mech_to_subscription_params: ${SUBSCRIPTION_PARAMS:dict:{"base_url":"https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo", + "did":"did:nv:01706149da2f9f3f67cf79ec86c37d63cec87fc148f5633b12bf6695653d5b3c", + "escrow_payment_condition_address":"0x31B2D187d674C9ACBD2b25f6EDce3d2Db2B7f446", + "lock_payment_condition_address":"0x2749DDEd394196835199471027713773736bffF2", + "transfer_nft_condition_address":"0x659fCA7436936e9fe8383831b65B8B442eFc8Ea8", + "token_address":"0x1b5DeaD7309b56ca7663b3301A503e077Be18cba", "order_address":"0x72201948087aE83f8Eac22cf7A9f2139e4cFA829", + "nft_amount":"100", "payment_token":"0x0000000000000000000000000000000000000000", + "price":"1000000000000000000"}} + mech_marketplace_config: ${MECH_MARKETPLACE_CONFIG:dict:{"mech_marketplace_address":"0x0000000000000000000000000000000000000000","priority_mech_address":"0x0000000000000000000000000000000000000000","priority_mech_staking_instance_address":"0x0000000000000000000000000000000000000000","priority_mech_service_id":0,"requester_staking_instance_address":"0x0000000000000000000000000000000000000000","response_timeout":300}} service_endpoint: ${SERVICE_ENDPOINT:str:https://trader.staging.autonolas.tech/} rpc_sleep_time: ${RPC_SLEEP_TIME:int:10} safe_voting_range: ${SAFE_VOTING_RANGE:int:600} @@ -618,49 +614,49 @@ type: skill mech_invalid_response: ${MECH_INVALID_RESPONSE:str:Invalid Response} mech_consecutive_failures_threshold: ${MECH_CONSECUTIVE_FAILURES_THRESHOLD:int:2} tool_quarantine_duration: ${TOOL_QUARANTINE_DURATION:int:18000} - benchmark_tool: *id004 - acc_info_fields: *id005 - network_subgraph: *id006 - omen_subgraph: *id007 - randomness_api: *id008 - mech_response: *id009 - agent_tools: *id010 - trades_subgraph: *id011 - conditional_tokens_subgraph: *id012 - realitio_subgraph: *id013 + benchmark_tool: *id003 + acc_info_fields: *id004 + network_subgraph: *id005 + omen_subgraph: *id006 + randomness_api: *id007 + mech_response: *id008 + agent_tools: *id009 + trades_subgraph: *id010 + conditional_tokens_subgraph: *id011 + realitio_subgraph: *id012 --- public_id: valory/ledger:0.19.0 type: connection 0: config: ledger_apis: - ethereum: + gnosis: address: ${RPC_0:str:http://host.docker.internal:8545} - chain_id: ${CHAIN_ID:int:1337} + chain_id: ${CHAIN_ID:int:100} default_gas_price_strategy: ${DEFAULT_GAS_PRICE_STRATEGY:str:eip1559} poa_chain: ${POA_CHAIN:bool:false} 1: config: ledger_apis: - ethereum: + gnosis: address: ${RPC_1:str:http://host.docker.internal:8545} - chain_id: ${CHAIN_ID:int:1337} + chain_id: ${CHAIN_ID:int:100} default_gas_price_strategy: ${DEFAULT_GAS_PRICE_STRATEGY:str:eip1559} poa_chain: ${POA_CHAIN:bool:false} 2: config: ledger_apis: - ethereum: + gnosis: address: ${RPC_2:str:http://host.docker.internal:8545} - chain_id: ${CHAIN_ID:int:1337} + chain_id: ${CHAIN_ID:int:100} default_gas_price_strategy: ${DEFAULT_GAS_PRICE_STRATEGY:str:eip1559} poa_chain: ${POA_CHAIN:bool:false} 3: config: ledger_apis: - ethereum: + gnosis: address: ${RPC_3:str:http://host.docker.internal:8545} - chain_id: ${CHAIN_ID:int:1337} + chain_id: ${CHAIN_ID:int:100} default_gas_price_strategy: ${DEFAULT_GAS_PRICE_STRATEGY:str:eip1559} poa_chain: ${POA_CHAIN:bool:false} --- diff --git a/packages/valory/services/trader_pearl/service.yaml b/packages/valory/services/trader_pearl/service.yaml index 4dec82079..9927fcf18 100644 --- a/packages/valory/services/trader_pearl/service.yaml +++ b/packages/valory/services/trader_pearl/service.yaml @@ -8,7 +8,7 @@ license: Apache-2.0 fingerprint: README.md: bafybeibg7bdqpioh4lmvknw3ygnllfku32oca4eq5pqtvdrdsgw6buko7e fingerprint_ignore_patterns: [] -agent: valory/trader:0.1.0:bafybeiczpkr2drsdppith4foyeby6zf5uxugjfjfhl7yocvr3mcdkjzjpa +agent: valory/trader:0.1.0:bafybeicebrhoaprwbl7eljrfr7u72bx37mpv5zjylb4kesier77wa2tz2m number_of_agents: 1 deployment: agent: @@ -33,6 +33,7 @@ models: service_id: trader service_registry_address: '0x9338b5153AE39BB89f50468E608eD9d764B755fD' agent_registry_address: '0xE49CB081e8d96920C38aA7AB90cb0294ab4Bc8EA' + use_acn_for_delivers: false sleep_time: 1 tendermint_com_url: http://localhost:8080 tendermint_url: http://localhost:26657 @@ -48,7 +49,7 @@ models: abt_error_mult: 5 mech_contract_address: ${MECH_CONTRACT_ADDRESS:str:0x77af31De935740567Cf4fF1986D04B2c964A786a} mech_request_price: 0 - mech_chain_id: ethereum + mech_chain_id: ${MECH_CHAIN_ID:str:gnosis} mech_wrapped_native_token_address: '0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d' mech_activity_checker_contract: ${MECH_ACTIVITY_CHECKER_CONTRACT:str:0x155547857680A6D51bebC5603397488988DEb1c8} sample_bets_closing_days: 10 @@ -82,26 +83,19 @@ models: tool_punishment_multiplier: 1 redeem_round_timeout: 3600.0 contract_timeout: 300.0 - file_hash_to_strategies_json: ${FILE_HASH_TO_STRATEGIES_JSON:list:[["bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24",["bet_amount_per_threshold"]],["bafybeif55cu7cf6znyma7kxus4wxa2doarhau2xmndo57iegshxorivwmq",["kelly_criterion"]]]} - mech_to_subscription_params: ${SUBSCRIPTION_PARAMS:list:[["base_url", "https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo"], - ["did", "did:nv:0ea01d5de3b34e3792db825f2a5f5595c393c68b19fd5efdacd00fcc63a53483"], - ["escrow_payment_condition_address", "0x9dDC4F1Ea5b94C138A23b60EC48c0d01d172629a"], - ["lock_payment_condition_address", "0xDE85A368Ee6f374d236500d176814365370778dA"], - ["transfer_nft_condition_address", "0xbBa4A25262745a55f020D0a3E9a82c25bb6F4979"], - ["token_address", "0x80A9b55F8604acC26dF2Ac6e07F9dC5B0eAa05Ce"], ["order_address", - "0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4"], ["nft_amount", "100"], ["payment_token", - "0x0000000000000000000000000000000000000000"], ["order_address", "0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4"], - ["price", "1000000000000000000"]]} + file_hash_to_strategies: ${FILE_HASH_TO_STRATEGIES:dict:{"bafybeihufqu2ra7vud4h6g2nwahx7mvdido7ff6prwnib2tdlc4np7dw24":["bet_amount_per_threshold"],"bafybeibxfp27rzrfnp7sxq62vwv32pdvrijxi7vzg7ihukkaka3bwzrgae":["kelly_criterion_no_conf"]}} + mech_to_subscription_params: ${SUBSCRIPTION_PARAMS:dict:{"base_url":"https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo", + "did":"did:nv:01706149da2f9f3f67cf79ec86c37d63cec87fc148f5633b12bf6695653d5b3c", + "escrow_payment_condition_address":"0x31B2D187d674C9ACBD2b25f6EDce3d2Db2B7f446", + "lock_payment_condition_address":"0x2749DDEd394196835199471027713773736bffF2", + "transfer_nft_condition_address":"0x659fCA7436936e9fe8383831b65B8B442eFc8Ea8", + "token_address":"0x1b5DeaD7309b56ca7663b3301A503e077Be18cba", "order_address":"0x72201948087aE83f8Eac22cf7A9f2139e4cFA829", + "nft_amount":"100", "payment_token":"0x0000000000000000000000000000000000000000", + "price":"1000000000000000000"}} use_subgraph_for_redeeming: true use_nevermined: false use_mech_marketplace: ${USE_MECH_MARKETPLACE:bool:false} - mech_marketplace_config: - mech_marketplace_address: ${MECH_MARKETPLACE_ADDRESS:str:0x0000000000000000000000000000000000000000} - priority_mech_address: ${PRIORITY_MECH_ADDRESS:str:0x0000000000000000000000000000000000000000} - priority_mech_staking_instance_address: ${PRIORITY_MECH_STAKING_INSTANCE_ADDRESS:str:0x0000000000000000000000000000000000000000} - priority_mech_service_id: ${PRIORITY_MECH_SERVICE_ID:int:0} - requester_staking_instance_address: ${REQUESTER_STAKING_INSTANCE_ADDRESS:str:0x0000000000000000000000000000000000000000} - response_timeout: ${RESPONSE_TIMEOUT:int:300} + mech_marketplace_config: ${MECH_MARKETPLACE_CONFIG:dict:{"mech_marketplace_address":"0x0000000000000000000000000000000000000000","priority_mech_address":"0x0000000000000000000000000000000000000000","priority_mech_staking_instance_address":"0x0000000000000000000000000000000000000000","priority_mech_service_id":0,"requester_staking_instance_address":"0x0000000000000000000000000000000000000000","response_timeout":300}} policy_store_update_offset: ${POLICY_STORE_UPDATE_OFFSET:int:259200} expected_mech_response_time: ${EXPECTED_MECH_RESPONSE_TIME:int:300} mech_invalid_response: ${MECH_INVALID_RESPONSE:str:Invalid Response} @@ -130,7 +124,7 @@ public_id: valory/ledger:0.19.0 type: connection config: ledger_apis: - ethereum: + gnosis: address: ${GNOSIS_LEDGER_RPC:str:http://host.docker.internal:8545} chain_id: ${GNOSIS_LEDGER_CHAIN_ID:int:100} default_gas_price_strategy: ${GNOSIS_LEDGER_PRICING:str:eip1559} diff --git a/packages/valory/skills/check_stop_trading_abci/skill.yaml b/packages/valory/skills/check_stop_trading_abci/skill.yaml index d37ff0def..39c227653 100644 --- a/packages/valory/skills/check_stop_trading_abci/skill.yaml +++ b/packages/valory/skills/check_stop_trading_abci/skill.yaml @@ -23,11 +23,11 @@ fingerprint: fingerprint_ignore_patterns: [] connections: [] contracts: -- valory/mech:0.1.0:bafybeiejfjfoxqggghcme43sx53q5gruefrws3k2jam2opkxl5uzffoarm +- valory/mech:0.1.0:bafybeielwbnikog4eqmu6bo537kzp2e7qpmkzt7l5zuuugp2w4r47dbvwu protocols: [] skills: -- valory/abstract_round_abci:0.1.0:bafybeib733xfbndtpvkf44mtk7oyodnficgloo6xhn7xmqxxeos33es65u -- valory/staking_abci:0.1.0:bafybeicupccurmrg7qesivonlyt3nryarsmk5qf5yh6auno64wn45bybvq +- valory/abstract_round_abci:0.1.0:bafybeigjddhk7epta7xpnfvv426xedff5abh4xlkwi6cqgp4vkutgkvydm +- valory/staking_abci:0.1.0:bafybeiaasclr4lf3u2layekmfwyasckxrslbs2g4me7kvozz5goswlznjq behaviours: main: args: {} diff --git a/packages/valory/skills/decision_maker_abci/behaviours/base.py b/packages/valory/skills/decision_maker_abci/behaviours/base.py index 805518b7b..85501f44c 100644 --- a/packages/valory/skills/decision_maker_abci/behaviours/base.py +++ b/packages/valory/skills/decision_maker_abci/behaviours/base.py @@ -331,6 +331,7 @@ def check_balance(self) -> WaitableConditionType: contract_id=str(ERC20.contract_id), contract_callable="check_balance", account=self.synchronized_data.safe_contract_address, + chain_id=self.params.mech_chain_id, ) if response_msg.performative != ContractApiMessage.Performative.RAW_TRANSACTION: self.context.logger.error( @@ -530,6 +531,7 @@ def contract_interact( contract_address, contract_id, contract_callable, + chain_id=self.params.mech_chain_id, **kwargs, ) if response_msg.performative != ContractApiMessage.Performative.RAW_TRANSACTION: @@ -571,6 +573,7 @@ def _build_multisend_data( contract_id=str(MultiSendContract.contract_id), contract_callable="get_tx_data", multi_send_txs=self.multi_send_txs, + chain_id=self.params.mech_chain_id, ) expected_performative = ContractApiMessage.Performative.RAW_TRANSACTION if response_msg.performative != expected_performative: @@ -605,6 +608,7 @@ def _build_multisend_safe_tx_hash(self) -> WaitableConditionType: data=self.multisend_data, safe_tx_gas=SAFE_GAS, operation=SafeOperation.DELEGATE_CALL.value, + chain_id=self.params.mech_chain_id, ) if response_msg.performative != ContractApiMessage.Performative.STATE: diff --git a/packages/valory/skills/decision_maker_abci/behaviours/bet_placement.py b/packages/valory/skills/decision_maker_abci/behaviours/bet_placement.py index 70c39408c..dc4844aba 100644 --- a/packages/valory/skills/decision_maker_abci/behaviours/bet_placement.py +++ b/packages/valory/skills/decision_maker_abci/behaviours/bet_placement.py @@ -78,6 +78,7 @@ def _build_exchange_tx(self) -> WaitableConditionType: contract_address=WXDAI, contract_id=str(ERC20.contract_id), contract_callable="build_deposit_tx", + chain_id=self.params.mech_chain_id, ) if response_msg.performative != ContractApiMessage.Performative.STATE: @@ -106,6 +107,7 @@ def _build_approval_tx(self) -> WaitableConditionType: contract_callable="build_approval_tx", spender=self.market_maker_contract_address, amount=self.investment_amount, + chain_id=self.params.mech_chain_id, ) if response_msg.performative != ContractApiMessage.Performative.STATE: @@ -133,6 +135,7 @@ def _calc_buy_amount(self) -> WaitableConditionType: contract_callable="calc_buy_amount", investment_amount=self.investment_amount, outcome_index=self.outcome_index, + chain_id=self.params.mech_chain_id, ) if response_msg.performative != ContractApiMessage.Performative.RAW_TRANSACTION: self.context.logger.error( @@ -160,6 +163,7 @@ def _build_buy_tx(self) -> WaitableConditionType: investment_amount=self.investment_amount, outcome_index=self.outcome_index, min_outcome_tokens_to_buy=self.buy_amount, + chain_id=self.params.mech_chain_id, ) if response_msg.performative != ContractApiMessage.Performative.STATE: self.context.logger.error( diff --git a/packages/valory/skills/decision_maker_abci/behaviours/order_subscription.py b/packages/valory/skills/decision_maker_abci/behaviours/order_subscription.py index 531485dde..3bceb32b9 100644 --- a/packages/valory/skills/decision_maker_abci/behaviours/order_subscription.py +++ b/packages/valory/skills/decision_maker_abci/behaviours/order_subscription.py @@ -162,6 +162,7 @@ def _build_withdraw_wxdai_tx(self, amount: int) -> WaitableConditionType: contract_id=str(ERC20.contract_id), contract_callable="build_withdraw_tx", amount=amount, + chain_id=self.params.mech_chain_id, ) if response_msg.performative != ContractApiMessage.Performative.STATE: diff --git a/packages/valory/skills/decision_maker_abci/behaviours/reedem.py b/packages/valory/skills/decision_maker_abci/behaviours/reedem.py index e6019516b..29655862e 100644 --- a/packages/valory/skills/decision_maker_abci/behaviours/reedem.py +++ b/packages/valory/skills/decision_maker_abci/behaviours/reedem.py @@ -411,6 +411,7 @@ def _get_latest_block(self) -> WaitableConditionType: performative=LedgerApiMessage.Performative.GET_STATE, # type: ignore ledger_callable="get_block", block_identifier=DEFAULT_TO_BLOCK, + chain_id=self.params.mech_chain_id, ) if ledger_api_response.performative != LedgerApiMessage.Performative.STATE: self.context.logger.error(f"Failed to get block: {ledger_api_response}") diff --git a/packages/valory/skills/decision_maker_abci/fsm_specification.yaml b/packages/valory/skills/decision_maker_abci/fsm_specification.yaml index ac3009546..9e57a5c8f 100644 --- a/packages/valory/skills/decision_maker_abci/fsm_specification.yaml +++ b/packages/valory/skills/decision_maker_abci/fsm_specification.yaml @@ -65,6 +65,7 @@ states: - ToolSelectionRound transition_func: (BenchmarkingRandomnessRound, DONE): SamplingRound + (BenchmarkingRandomnessRound, NONE): ImpossibleRound (BenchmarkingRandomnessRound, NO_MAJORITY): BenchmarkingRandomnessRound (BenchmarkingRandomnessRound, ROUND_TIMEOUT): BenchmarkingRandomnessRound (BetPlacementRound, DONE): FinishedDecisionMakerRound @@ -82,6 +83,7 @@ transition_func: (CheckBenchmarkingModeRound, BENCHMARKING_DISABLED): BenchmarkingModeDisabledRound (CheckBenchmarkingModeRound, BENCHMARKING_ENABLED): BenchmarkingRandomnessRound (CheckBenchmarkingModeRound, DONE): ImpossibleRound + (CheckBenchmarkingModeRound, NONE): ImpossibleRound (CheckBenchmarkingModeRound, NO_MAJORITY): CheckBenchmarkingModeRound (CheckBenchmarkingModeRound, ROUND_TIMEOUT): CheckBenchmarkingModeRound (CheckBenchmarkingModeRound, SUBSCRIPTION_ERROR): ImpossibleRound @@ -104,6 +106,7 @@ transition_func: (HandleFailedTxRound, NO_MAJORITY): HandleFailedTxRound (HandleFailedTxRound, NO_OP): RedeemRound (RandomnessRound, DONE): SamplingRound + (RandomnessRound, NONE): ImpossibleRound (RandomnessRound, NO_MAJORITY): RandomnessRound (RandomnessRound, ROUND_TIMEOUT): RandomnessRound (RedeemRound, DONE): FinishedDecisionMakerRound diff --git a/packages/valory/skills/decision_maker_abci/models.py b/packages/valory/skills/decision_maker_abci/models.py index 8d7616784..46f52919d 100644 --- a/packages/valory/skills/decision_maker_abci/models.py +++ b/packages/valory/skills/decision_maker_abci/models.py @@ -26,19 +26,9 @@ from datetime import datetime, timedelta from pathlib import Path from string import Template -from typing import ( - Any, - Callable, - Dict, - Iterable, - List, - Optional, - Set, - Tuple, - Type, - Union, -) +from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Type, Union +from aea.exceptions import enforce from aea.skills.base import Model, SkillContext from hexbytes import HexBytes from web3.constants import HASH_ZERO @@ -366,21 +356,6 @@ def _raise_incorrect_config(key: str, values: Any) -> None: ) -def nested_list_todict_workaround( - kwargs: Dict, - key: str, -) -> Dict: - """Get a nested list from the kwargs and convert it to a dictionary.""" - values = list(kwargs.get(key, [])) - if len(values) == 0: - raise ValueError(f"No {key!r} specified in agent's configurations: {kwargs}!") - if any(not issubclass(type(nested_values), Iterable) for nested_values in values): - _raise_incorrect_config(key, values) - if any(len(nested_values) % 2 == 1 for nested_values in values): - _raise_incorrect_config(key, values) - return {value[0]: value[1] for value in values} - - class DecisionMakerParams(MarketManagerParams, MechInteractParams): """Decision maker's parameters.""" @@ -436,8 +411,10 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: self._slippage: float = 0.0 self.slippage: float = self._ensure("slippage", kwargs, float) self.epsilon: float = self._ensure("policy_epsilon", kwargs, float) - self.agent_registry_address: str = self._ensure( - "agent_registry_address", kwargs, str + self.agent_registry_address = kwargs.get("agent_registry_address", None) + enforce( + self.agent_registry_address is not None, + "Agent registry address not specified!", ) self.store_path: Path = self.get_store_path(kwargs) self.irrelevant_tools: set = set(self._ensure("irrelevant_tools", kwargs, list)) @@ -445,14 +422,11 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: "tool_punishment_multiplier", kwargs, int ) self.contract_timeout: float = self._ensure("contract_timeout", kwargs, float) - self.file_hash_to_strategies: Dict[ - str, List[str] - ] = nested_list_todict_workaround( - kwargs, - "file_hash_to_strategies_json", + self.file_hash_to_strategies: Dict[str, List[str]] = self._ensure( + "file_hash_to_strategies", kwargs, Dict[str, List[str]] ) - self.strategies_kwargs: Dict[str, List[Any]] = nested_list_todict_workaround( - kwargs, "strategies_kwargs" + self.strategies_kwargs: Dict[str, Any] = self._ensure( + "strategies_kwargs", kwargs, Dict[str, Any] ) self.use_subgraph_for_redeeming = self._ensure( "use_subgraph_for_redeeming", @@ -461,11 +435,10 @@ def __init__(self, *args: Any, **kwargs: Any) -> None: ) self.use_nevermined = self._ensure("use_nevermined", kwargs, bool) self.rpc_sleep_time: int = self._ensure("rpc_sleep_time", kwargs, int) - self.mech_to_subscription_params: Dict[ - str, Any - ] = nested_list_todict_workaround( - kwargs, + self.mech_to_subscription_params: Dict[str, str] = self._ensure( "mech_to_subscription_params", + kwargs, + Dict[str, str], ) self.service_endpoint = self._ensure("service_endpoint", kwargs, str) self.safe_voting_range = self._ensure("safe_voting_range", kwargs, int) diff --git a/packages/valory/skills/decision_maker_abci/rounds.py b/packages/valory/skills/decision_maker_abci/rounds.py index 2a942e2e4..0c9a9539b 100644 --- a/packages/valory/skills/decision_maker_abci/rounds.py +++ b/packages/valory/skills/decision_maker_abci/rounds.py @@ -93,16 +93,19 @@ class DecisionMakerAbciApp(AbciApp[Event]): - benchmarking disabled: 14. - no majority: 0. - round timeout: 0. + - none: 20. - done: 20. - subscription error: 20. 1. BenchmarkingRandomnessRound - done: 3. - round timeout: 1. - no majority: 1. + - none: 20. 2. RandomnessRound - done: 3. - round timeout: 2. - no majority: 2. + - none: 20. 3. SamplingRound - done: 4. - none: 16. @@ -202,6 +205,7 @@ class DecisionMakerAbciApp(AbciApp[Event]): Event.ROUND_TIMEOUT: CheckBenchmarkingModeRound, # added because of `autonomy analyse fsm-specs` # falsely reporting them as missing from the transition + Event.NONE: ImpossibleRound, Event.DONE: ImpossibleRound, Event.SUBSCRIPTION_ERROR: ImpossibleRound, }, @@ -209,11 +213,17 @@ class DecisionMakerAbciApp(AbciApp[Event]): Event.DONE: SamplingRound, Event.ROUND_TIMEOUT: BenchmarkingRandomnessRound, Event.NO_MAJORITY: BenchmarkingRandomnessRound, + # added because of `autonomy analyse fsm-specs` + # falsely reporting this as missing from the transition + Event.NONE: ImpossibleRound, }, RandomnessRound: { Event.DONE: SamplingRound, Event.ROUND_TIMEOUT: RandomnessRound, Event.NO_MAJORITY: RandomnessRound, + # added because of `autonomy analyse fsm-specs` + # falsely reporting this as missing from the transition + Event.NONE: ImpossibleRound, }, SamplingRound: { Event.DONE: SubscriptionRound, diff --git a/packages/valory/skills/decision_maker_abci/skill.yaml b/packages/valory/skills/decision_maker_abci/skill.yaml index 5fbe5ded9..52ec8a50c 100644 --- a/packages/valory/skills/decision_maker_abci/skill.yaml +++ b/packages/valory/skills/decision_maker_abci/skill.yaml @@ -12,41 +12,41 @@ fingerprint: README.md: bafybeia367zzdwndvlhw27rvnwodytjo3ms7gbc3q7mhrrjqjgfasnk47i __init__.py: bafybeih563ujnigeci2ldzh7hakbau6a222vsed7leg3b7lq32vcn3nm4a behaviours/__init__.py: bafybeih6ddz2ocvm6x6ytvlbcz6oi4snb5ee5xh5h65nq4w2qf7fd7zfky - behaviours/base.py: bafybeieqvxpzjnwjgq4ffhjojle2q7onif44nefrlza6pxriewisqcm324 - behaviours/bet_placement.py: bafybeia4listbfzsk4n4wkc4ycaftxgywjnl3mmpcqhuo3nwwia4n3oufu + behaviours/base.py: bafybeibkwfsd2atjzejhsel5p4cptd2wg2shefyly5jbiywgbjvx6k2q4y + behaviours/bet_placement.py: bafybeidyucxomadfzr6eyfywlc4satl4vqb6qhdkyzdp76zkxbfjfyzai4 behaviours/blacklisting.py: bafybeieuqoup2vrmrtvjfqnr5mzrvkegc7afb2oeujzq2itsbhcsham2se behaviours/check_benchmarking.py: bafybeiao2lyj7apezkqrpgsyzb3dwvrdgsrgtprf6iuhsmlsufvxfl5bci behaviours/claim_subscription.py: bafybeigbqkhc6mb73rbwaks32tfiqx6u2xza43uiy6rvbtrnqd6m4fru3e behaviours/decision_receive.py: bafybeibsthk6fjydkengwzgpgz5v44xpta67nnlyxt6uugx2voitqgojpq behaviours/decision_request.py: bafybeia22omb7tvocyfe3z2ucn5au5mcas7dg37ha42u7znefzrewjpk7y behaviours/handle_failed_tx.py: bafybeiashwlfp6ty3g6ukgmliaghwu6yiunbqpjmyrzheokw3pbcr2ckaq - behaviours/order_subscription.py: bafybeib3maqohhx35wzryy4otdcjp5thkr4sbp27ksvwidy3pwm444itra + behaviours/order_subscription.py: bafybeihwuhgykptokmeam5sacnfzedk5puvrxbjo7iypaqhsrqg5nk7psm behaviours/randomness.py: bafybeiaoj3awyyg2onhpsdsn3dyczs23gr4smuzqcbw3e5ocljwxswjkce - behaviours/reedem.py: bafybeidjmhh6c6shbg25d7exmc4nnp4heqbqselwuxj7rp2ss665lrytxe + behaviours/reedem.py: bafybeiajxsz34iy24muw4avq4vbevluhsabjcyqaadssnrs2zrfdapbnqq behaviours/round_behaviour.py: bafybeih63hpia2bwwzu563hxs5yd3t5ycvxvkfnhvxbzghbyy3mw3xjl3i behaviours/sampling.py: bafybeicvtxjv5rxlsdrmbtetqwzzau6is47guystvw245grd6s2qs5pxea behaviours/storage_manager.py: bafybeic6wca37fkwonbsrwme55xnklfbqtheknroudayzfxdge4pxdbm7y behaviours/tool_selection.py: bafybeienlxcgjs3ogyofli3d7q3p5rst3mcxxcnwqf7qolqjeefjtixeke dialogues.py: bafybeigpwuzku3we7axmxeamg7vn656maww6emuztau5pg3ebsoquyfdqm - fsm_specification.yaml: bafybeidlnqnd7dwg7r2vhsgm2balrqhxm36qdflkmr7csze2kdeu3a7sbu + fsm_specification.yaml: bafybeifvu7n6sjmrerogkzsftjrw2l6w5ppuq3f43ouj2rwbomdr5glp2e handlers.py: bafybeibf42562x3d5i66yf5p3vi6a2oolhwwxr32pjqtuxz5w4gmg3r4oa io_/__init__.py: bafybeifxgmmwjqzezzn3e6keh2bfo4cyo7y5dq2ept3stfmgglbrzfl5rq io_/loader.py: bafybeih3sdsx5dhe4kzhtoafexjgkutsujwqy3zcdrlrkhtdks45bc7exa - models.py: bafybeibifjp45ii5amaghmdk5yjha7if5qpyreg2axpcxcj3ek23ys4fxm + models.py: bafybeihvmxk5nve54v3yz7uaobekdzg37675ooiqxb7ne5hmeegfhk6c6m payloads.py: bafybeieygushjlrzwzpnhagjgpbs3goot3pnfheh6yawuwctrk3uoeesfm policy.py: bafybeidofgwvk6sudz75tvuduskuphtn3amtib2irzw5hr3qcfn5pdwuc4 redeem_info.py: bafybeifiiix4gihfo4avraxt34sfw35v6dqq45do2drrssei2shbps63mm - rounds.py: bafybeidjve7efycfkkbignqky4x6awvrobn4w32grxiubxxiiparr7xd2i + rounds.py: bafybeiftrpaxyyly3d36kvfg2c2m5fmzchm6n4vv5losu3jr2b7s5ces6a states/__init__.py: bafybeid23llnyp6j257dluxmrnztugo5llsrog7kua53hllyktz4dqhqoy states/base.py: bafybeiglqvym3ri6hurx4k7hrnykzbmslxe3vuj23djt6hai4czii4vbqq states/bet_placement.py: bafybeih5eopyxubczys5u5t3bdxbxpc7mmfdyqrpqsbm2uha5jc2phza4i states/blacklisting.py: bafybeiapelgjhbjjn4uq4z5gspyirqzwzgccg5anktrp5kxdwamfnfw5mi - states/check_benchmarking.py: bafybeifvto757zbfzy7mpehblyjd7zqboarxesjfiobtnbxew4nkltfkim - states/claim_subscription.py: bafybeidlubctpk5djsredvvwdhubs34rztud3lw7pwp5kj6ggzah6dvyly + states/check_benchmarking.py: bafybeiagrgeopuluwqkvoqbst2hjymte5rju2pecvkoeleklnqca5andeu + states/claim_subscription.py: bafybeiefuagbf27cz3ntljmpwr3snkytfh7qht4x5c3a2fivxoijrapd5m states/decision_receive.py: bafybeiexc26g7z7by6eziawjld52nglljiwlj6oam5ramtbyo6un2tqs5y states/decision_request.py: bafybeiarv3r5j7cfvxmudki2llbdl2pvf24p5mvsva6bdgrylnwdyag5xy states/final_states.py: bafybeicjrrojo3gmfaxzicwloyorlnqgzl6a2avevo4nvhoh424zwzmbti - states/handle_failed_tx.py: bafybeiha5wkl4u4jlj7txpmhuzfnibnu3ix5zw4vmufjunoyuq6s6ubhnu + states/handle_failed_tx.py: bafybeie5gkexscpdpiwz5acflxz2lbfitvs5qd6u3svpmwpgx4viqta3xy states/order_subscription.py: bafybeihl3pwrbccaitiukbigygd5u3weyih34pvzql3c6n5k7gjj47f2be states/randomness.py: bafybeiceoo4nx3t4dofpwczw3v5mclramwmzpwjs6hv7l56arodrjx4l5u states/redeem.py: bafybeica6cn4xg7shea2wjhbqnddgxe5zao2hkmceltze7qknxdhtsoaxe @@ -57,7 +57,7 @@ fingerprint: tests/behaviours/data/.gitkeep: bafybeiekl43sjsyqfgl6y27ve5ydo4svcngrptgtffblokmspfezroxvvi tests/behaviours/dummy_strategy/__init__.py: bafybeiep5w5yckjzy724v63qd5cmzfn3uxytmnizynomxggfobbysfcttq tests/behaviours/dummy_strategy/dummy_strategy.py: bafybeig5e3xfr7gxsakfj4stbxqcwdiljl7klvgahkuwe3obzxgkg3qt2e - tests/behaviours/test_base.py: bafybeif6pglmr7pvojylatfzaxtlk65igx6a2omyrbxfihnnft6o7p75p4 + tests/behaviours/test_base.py: bafybeiboiox2eqfncvkj7iofsfrpsdfncahd2bak5jtexngusmgpmrheeu tests/conftest.py: bafybeidy5hw56kw5mxudnfbhvogofn6k4rqb4ux2bd45baedrrhmgyrude tests/states/test_base.py: bafybeieqy7wz5677jathwnolsgrt7zdifauammly3aeoq6dk4hdsqo5fte tests/states/test_bet_placement.py: bafybeibvc37n2cluep4tasvgmvwxwne2deais6ptirducpogk67v4gj4ga @@ -67,7 +67,7 @@ fingerprint: tests/states/test_decision_receive.py: bafybeibkxalkfxuyokb6y5hkyu4pdlg4yfusbpgtkfr66cprygu7cgyd2y tests/states/test_decision_request.py: bafybeigqbakm2olkwvcngertjplhnmu6on6tp6hxn7lxygi2gf5a5eurbe tests/states/test_final_states.py: bafybeiftfd3ovaqpfe7t5ry7maiziavk74wl66d6zo6ikhgodznormd2nm - tests/states/test_handle_failed_tx.py: bafybeiebqgfhncmdexgq7khgkmcsym35547x3j6tr3mmybuyhocv6h5zpq + tests/states/test_handle_failed_tx.py: bafybeigt3kae7werxaleozidsfzpoxrnvmaamp3hidmfci65ulxnbjjleu tests/states/test_order_subscription.py: bafybeidx2tzivsxhpr5xx5e5h2xmpjyewfogt2mujv4sq3hbaeksmcbvhy tests/states/test_randomness.py: bafybeib3eqjv6mhlprzda7d4viddn5alrfqteq6juyg3ccejseoywcsbey tests/states/test_redeem.py: bafybeiezdnfrxukb2xpwffrr357g2anmdkwy7wo3nphvlggipq5xrdzr7a @@ -84,27 +84,27 @@ fingerprint_ignore_patterns: [] connections: - valory/http_server:0.22.0:bafybeihpgu56ovmq4npazdbh6y6ru5i7zuv6wvdglpxavsckyih56smu7m contracts: -- valory/gnosis_safe:0.1.0:bafybeih3ropivth4wn7zbzudisx3qezbht5jyndd4w7az7fq634lpozoge -- valory/market_maker:0.1.0:bafybeihrz4q5ia7jnflsv2myg6kkung2dfiogqrevuy7xlmqws7tr27rdi -- valory/erc20:0.1.0:bafybeid2p2jyvjjlcsqugnawksdzsca6ljghpqbp2kfi3cxuxoy2233dbi +- valory/gnosis_safe:0.1.0:bafybeihtqcpqthb37msgqabpzcc2xc3l3yzkp5pl2sodeghqyzzzyuevgi +- valory/market_maker:0.1.0:bafybeigfhg57pnhy5xyaegz5keaulkmajshwapb5s4wdzjyqx7pckgs34q +- valory/erc20:0.1.0:bafybeientdgpccdi7prtu4x53m5g3yugh5tuh5hnroylfz3wwzyjniqure - valory/multisend:0.1.0:bafybeig5byt5urg2d2bsecufxe5ql7f4mezg3mekfleeh32nmuusx66p4y -- valory/mech:0.1.0:bafybeiejfjfoxqggghcme43sx53q5gruefrws3k2jam2opkxl5uzffoarm +- valory/mech:0.1.0:bafybeielwbnikog4eqmu6bo537kzp2e7qpmkzt7l5zuuugp2w4r47dbvwu - valory/conditional_tokens:0.1.0:bafybeibnzmqmeph4cj5vfh3s622mo2o5627vjjwc6bptrhj4dk65mzgvhe - valory/realitio:0.1.0:bafybeietgux6kkhdquspy35qera7gjwwqwrremmoeatjzwwokjb2lzsata - valory/realitio_proxy:0.1.0:bafybeidx37xzjjmapwacedgzhum6grfzhp5vhouz4zu3pvpgdy5pgb2fr4 -- valory/agent_registry:0.1.0:bafybeiblc4i5xjxbywnfccwtv3unhaghrgqls7panfbuqbpstbc34h42xq -- valory/transfer_nft_condition:0.1.0:bafybeid6z2tf7nc4rhwggktxk5f62bowxdczykrxc3y76sbt2ttlw5hmtq +- valory/agent_registry:0.1.0:bafybeibboljpn2zevzxnpgflxj6ykxk4bpxegtzjts25ajliaoadz35mca +- valory/transfer_nft_condition:0.1.0:bafybeicdtigdwlt47jg2tibxltwyyl4apysvlideo53lgiy3muuho3izpa protocols: - valory/contract_api:1.0.0:bafybeidgu7o5llh26xp3u3ebq3yluull5lupiyeu6iooi2xyymdrgnzq5i - valory/ledger_api:1.0.0:bafybeihdk6psr4guxmbcrc26jr2cbgzpd5aljkqvpwo64bvaz7tdti2oni - valory/ipfs:0.1.0:bafybeiftxi2qhreewgsc5wevogi7yc5g6hbcbo4uiuaibauhv3nhfcdtvm - valory/http:1.0.0:bafybeifugzl63kfdmwrxwphrnrhj7bn6iruxieme3a4ntzejf6kmtuwmae skills: -- valory/abstract_round_abci:0.1.0:bafybeib733xfbndtpvkf44mtk7oyodnficgloo6xhn7xmqxxeos33es65u -- valory/market_manager_abci:0.1.0:bafybeiaru2d32wpmcgqs64eepxud4idgubc3vmsbdwbia7gygipql2mmqi -- valory/transaction_settlement_abci:0.1.0:bafybeic7q7recyka272udwcupblwbkc3jkodgp74fvcdxb7urametg5dae -- valory/mech_interact_abci:0.1.0:bafybeid6m3i5ofq7vuogqapdnoshhq7mswmudhvfcr2craw25fdwtoe3lm -- valory/staking_abci:0.1.0:bafybeicupccurmrg7qesivonlyt3nryarsmk5qf5yh6auno64wn45bybvq +- valory/abstract_round_abci:0.1.0:bafybeigjddhk7epta7xpnfvv426xedff5abh4xlkwi6cqgp4vkutgkvydm +- valory/market_manager_abci:0.1.0:bafybeiayhzwxlpqsevyvaxn6dtnnu745az5vcz7dckmghnmjywxdtvoyly +- valory/transaction_settlement_abci:0.1.0:bafybeifmgmwdkx4esemxjacjwzqkqymkuklb5nehkwqkx7v335fllgswcq +- valory/mech_interact_abci:0.1.0:bafybeib4vn6m2yumwoclh5aatcdt5yxcjc5owxmxy5o7t3nfzormgwkr64 +- valory/staking_abci:0.1.0:bafybeiaasclr4lf3u2layekmfwyasckxrslbs2g4me7kvozz5goswlznjq behaviours: main: args: {} @@ -250,28 +250,16 @@ models: use_nevermined: true policy_store_update_offset: 259200 mech_to_subscription_params: - - - base_url - - https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo - - - did - - did:nv:0ea01d5de3b34e3792db825f2a5f5595c393c68b19fd5efdacd00fcc63a53483 - - - escrow_payment_condition_address - - '0x9dDC4F1Ea5b94C138A23b60EC48c0d01d172629a' - - - lock_payment_condition_address - - '0xDE85A368Ee6f374d236500d176814365370778dA' - - - transfer_nft_condition_address - - '0xbBa4A25262745a55f020D0a3E9a82c25bb6F4979' - - - token_address - - '0xa30DE8C6aC39B825192e5F1FADe0770332D279A8' - - - order_address - - '0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4' - - - nft_amount - - '100' - - - payment_token - - '0x0000000000000000000000000000000000000000' - - - order_address - - '0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4' - - - price - - '1000000000000000000' + base_url: url + did: did + escrow_payment_condition_address: address + lock_payment_condition_address: address + transfer_nft_condition_address: address + token_address: address + order_address: address + nft_amount: amount + payment_token: address + price: price irrelevant_tools: - openai-text-davinci-002 - openai-text-davinci-003 @@ -283,16 +271,12 @@ models: - stabilityai-stable-diffusion-768-v2-1 tool_punishment_multiplier: 1 contract_timeout: 300.0 - file_hash_to_strategies_json: - - - hash - - - strategy_name + file_hash_to_strategies: {} strategies_kwargs: - - - bet_kelly_fraction - - 1.0 - - - floor_balance - - 500000000000000000 - - - bet_amount_per_threshold - - 0.0: 0 + bet_kelly_fraction: 1.0 + floor_balance: 500000000000000000 + bet_amount_per_threshold: + 0.0: 0 0.1: 0 0.2: 0 0.3: 0 diff --git a/packages/valory/skills/decision_maker_abci/states/check_benchmarking.py b/packages/valory/skills/decision_maker_abci/states/check_benchmarking.py index e50d6478b..c000f91eb 100644 --- a/packages/valory/skills/decision_maker_abci/states/check_benchmarking.py +++ b/packages/valory/skills/decision_maker_abci/states/check_benchmarking.py @@ -32,3 +32,4 @@ class CheckBenchmarkingModeRound(ClaimRound): payload_class = VotingPayload done_event = Event.BENCHMARKING_ENABLED negative_event = Event.BENCHMARKING_DISABLED + none_event = Event.NONE diff --git a/packages/valory/skills/decision_maker_abci/states/claim_subscription.py b/packages/valory/skills/decision_maker_abci/states/claim_subscription.py index 40331ef3c..6336c1c09 100644 --- a/packages/valory/skills/decision_maker_abci/states/claim_subscription.py +++ b/packages/valory/skills/decision_maker_abci/states/claim_subscription.py @@ -23,6 +23,7 @@ from packages.valory.skills.abstract_round_abci.base import ( BaseTxPayload, + NONE_EVENT_ATTRIBUTE, VotingRound, get_name, ) @@ -42,3 +43,9 @@ class ClaimRound(VotingRound): negative_event = Event.SUBSCRIPTION_ERROR no_majority_event = Event.NO_MAJORITY collection_key = get_name(SynchronizedData.participant_to_votes) + # the none event is not required because the `ClaimPayload` payload does not allow for `None` values + required_class_attributes = tuple( + attribute + for attribute in VotingRound.required_class_attributes + if attribute != NONE_EVENT_ATTRIBUTE + ) diff --git a/packages/valory/skills/decision_maker_abci/states/handle_failed_tx.py b/packages/valory/skills/decision_maker_abci/states/handle_failed_tx.py index 0f4c8412d..37ac43205 100644 --- a/packages/valory/skills/decision_maker_abci/states/handle_failed_tx.py +++ b/packages/valory/skills/decision_maker_abci/states/handle_failed_tx.py @@ -25,6 +25,7 @@ from packages.valory.skills.abstract_round_abci.base import ( BaseSynchronizedData, CollectSameUntilThresholdRound, + NONE_EVENT_ATTRIBUTE, get_name, ) from packages.valory.skills.decision_maker_abci.payloads import HandleFailedTxPayload @@ -41,13 +42,18 @@ class HandleFailedTxRound(CollectSameUntilThresholdRound): synchronized_data_class = SynchronizedData done_event = Event.BLACKLIST no_op_event = Event.NO_OP - none_event = Event.NO_OP no_majority_event = Event.NO_MAJORITY selection_key = ( get_name(SynchronizedData.after_bet_attempt), get_name(SynchronizedData.tx_submitter), ) collection_key = get_name(SynchronizedData.participant_to_handle_failed_tx) + # the none event is not required because the `HandleFailedTxPayload` payload does not allow for `None` values + required_class_attributes = tuple( + attribute + for attribute in CollectSameUntilThresholdRound.required_class_attributes + if attribute != NONE_EVENT_ATTRIBUTE + ) def end_block(self) -> Optional[Tuple[BaseSynchronizedData, Enum]]: """Process the end of the block.""" diff --git a/packages/valory/skills/decision_maker_abci/tests/behaviours/test_base.py b/packages/valory/skills/decision_maker_abci/tests/behaviours/test_base.py index 5f48f32e3..4e44949f7 100644 --- a/packages/valory/skills/decision_maker_abci/tests/behaviours/test_base.py +++ b/packages/valory/skills/decision_maker_abci/tests/behaviours/test_base.py @@ -21,14 +21,15 @@ import re from pathlib import Path -from typing import Any, Dict, Optional, Tuple, cast +from typing import Any, Callable, Dict, Optional, Tuple, TypeVar, Union from unittest import mock +from unittest.mock import MagicMock import pytest +from aea.configurations.base import PackageConfiguration from hypothesis import given, settings from hypothesis import strategies as st -from packages.valory.skills.abstract_round_abci.base import AbciAppDB from packages.valory.skills.abstract_round_abci.test_tools.base import ( FSMBehaviourBaseCase, ) @@ -41,14 +42,40 @@ from packages.valory.skills.decision_maker_abci.behaviours.blacklisting import ( BlacklistingBehaviour, ) -from packages.valory.skills.decision_maker_abci.states.base import SynchronizedData from packages.valory.skills.decision_maker_abci.tests.conftest import profile_name +from packages.valory.skills.market_manager_abci.behaviours import READ_MODE settings.load_profile(profile_name) FRACTION_REMOVAL_PRECISION = 2 CURRENT_FILE_PATH = Path(__file__).resolve() PACKAGE_DIR = CURRENT_FILE_PATH.parents[2] +DUMMY_STRATEGY_PATH = CURRENT_FILE_PATH.parent / "./dummy_strategy/dummy_strategy.py" + + +DefaultValueType = TypeVar("DefaultValueType") +ExecutablesMockReturnType = Union[Tuple[str, str], DefaultValueType] + + +def strategies_executables_get_mock_wrapper( + mock_strategy_name: str, + mock_method_name: str, +) -> Callable[[str, Any], ExecutablesMockReturnType]: + """Wrapper to mock the strategies executables dict's `get` method.""" + + def strategies_executables_get_mock( + strategy_name: str, default: DefaultValueType + ) -> ExecutablesMockReturnType: + """Mock the strategies executables dict's `get` method.""" + with open(DUMMY_STRATEGY_PATH, READ_MODE) as strategy_file: + dummy_strategy = strategy_file.read() + return ( + (dummy_strategy, mock_method_name) + if strategy_name == mock_strategy_name + else default + ) + + return strategies_executables_get_mock @st.composite @@ -100,26 +127,28 @@ def strategy_executables( class TestDecisionMakerBaseBehaviour(FSMBehaviourBaseCase): """Test `DecisionMakerBaseBehaviour`.""" + behaviour: BlacklistingBehaviour path_to_skill = PACKAGE_DIR - def ffw( - self, - behaviour_cls: Any, - db_items: Optional[Dict] = None, - ) -> None: - """Fast-forward to the given behaviour.""" - if db_items is None: - db_items = {} - - self.fast_forward_to_behaviour( - behaviour=self.behaviour, - behaviour_id=behaviour_cls.auto_behaviour_id(), - synchronized_data=SynchronizedData( - AbciAppDB( - setup_data=AbciAppDB.data_to_lists(db_items), - ) - ), - ) + @classmethod + def setup_class(cls, **kwargs: Any) -> None: + """Set up the class.""" + kwargs["config_overrides"] = { + "models": {"params": {"args": {"use_acn_for_delivers": True}}} + } + with mock.patch.object(PackageConfiguration, "check_overrides_valid"): + super().setup_class(**kwargs) + + def setup(self, **kwargs: Any) -> None: + """Setup.""" + self.round_sequence_mock = MagicMock() + context_mock = MagicMock(params=MagicMock()) + context_mock.state.round_sequence = self.round_sequence_mock + context_mock.state.round_sequence.syncing_up = False + context_mock.state.synchronized_data.db.get_strict = lambda _: 0 + self.round_sequence_mock.block_stall_deadline_expired = False + self.behaviour = BlacklistingBehaviour(name="", skill_context=context_mock) + self.benchmark_dir = MagicMock() @given(strategy_executables()) def test_strategy_exec( @@ -128,12 +157,8 @@ def test_strategy_exec( ) -> None: """Test the `strategy_exec` method.""" strategy_name, strategies_executables, expected_result = strategy - # use `BlacklistingBehaviour` because it overrides the `DecisionMakerBaseBehaviour`. - self.ffw(BlacklistingBehaviour) - behaviour = cast(BlacklistingBehaviour, self.behaviour.current_behaviour) - assert behaviour.behaviour_id == BlacklistingBehaviour.auto_behaviour_id() - behaviour.shared_state.strategies_executables = strategies_executables - res = behaviour.strategy_exec(strategy_name) + self.behaviour.shared_state.strategies_executables = strategies_executables + res = self.behaviour.strategy_exec(strategy_name) assert res == expected_result @pytest.mark.parametrize( @@ -169,10 +194,13 @@ def test_execute_strategy( expected_result: int, ) -> None: """Test the `execute_strategy` method.""" - # use `BlacklistingBehaviour` because it overrides the `DecisionMakerBaseBehaviour`. - self.ffw(BlacklistingBehaviour) - behaviour = cast(BlacklistingBehaviour, self.behaviour.current_behaviour) - assert behaviour.behaviour_id == BlacklistingBehaviour.auto_behaviour_id() + behaviour = self.behaviour + strategy_key = "trading_strategy" + if strategy_key in kwargs: + behaviour.shared_state.strategies_executables.get = strategies_executables_get_mock_wrapper( # type: ignore + kwargs[strategy_key], method_name # type: ignore + ) + current_dir = CURRENT_FILE_PATH.parent with open(current_dir / strategy_path) as dummy_strategy: behaviour.shared_state.strategies_executables["test"] = ( @@ -195,11 +223,7 @@ def test_collateral_amount_info( self, amount: int, benchmarking_mode_enabled: bool, is_wxdai: bool ) -> None: """Test the `collateral_amount_info` method.""" - # use `BlacklistingBehaviour` because it overrides the `DecisionMakerBaseBehaviour`. - self.ffw(BlacklistingBehaviour, {"sampled_bet_index": 0}) - behaviour = cast(BlacklistingBehaviour, self.behaviour.current_behaviour) - assert behaviour.behaviour_id == BlacklistingBehaviour.auto_behaviour_id() - + behaviour = self.behaviour behaviour.benchmarking_mode.enabled = benchmarking_mode_enabled with mock.patch.object(behaviour, "read_bets"): collateral_token = WXDAI if is_wxdai else "unknown" @@ -219,11 +243,7 @@ def test_mock_balance_check( self, collateral_balance: int, native_balance: int ) -> None: """Test the `_mock_balance_check` method.""" - # use `BlacklistingBehaviour` because it overrides the `DecisionMakerBaseBehaviour`. - self.ffw(BlacklistingBehaviour) - behaviour = cast(BlacklistingBehaviour, self.behaviour.current_behaviour) - assert behaviour.behaviour_id == BlacklistingBehaviour.auto_behaviour_id() - + behaviour = self.behaviour behaviour.benchmarking_mode.collateral_balance = collateral_balance behaviour.benchmarking_mode.native_balance = native_balance with mock.patch.object(behaviour, "_report_balance") as mock_report_balance: @@ -249,10 +269,7 @@ def test_get_bet_amount( expected_result: int, ) -> None: """Test the `get_bet_amount` method.""" - # use `BlacklistingBehaviour` because it overrides the `DecisionMakerBaseBehaviour`. - self.ffw(BlacklistingBehaviour) - behaviour = cast(BlacklistingBehaviour, self.behaviour.current_behaviour) - assert behaviour.behaviour_id == BlacklistingBehaviour.auto_behaviour_id() + behaviour = self.behaviour behaviour.download_strategies = lambda: (yield) # type: ignore behaviour.wait_for_condition_with_sleep = lambda _: (yield) # type: ignore behaviour.execute_strategy = lambda *_, **__: mocked_result # type: ignore diff --git a/packages/valory/skills/decision_maker_abci/tests/states/test_handle_failed_tx.py b/packages/valory/skills/decision_maker_abci/tests/states/test_handle_failed_tx.py index 53fe7db7d..d89c14f48 100644 --- a/packages/valory/skills/decision_maker_abci/tests/states/test_handle_failed_tx.py +++ b/packages/valory/skills/decision_maker_abci/tests/states/test_handle_failed_tx.py @@ -59,7 +59,6 @@ def get_participant_to_handle( @pytest.mark.parametrize( "vote, expected_event", ( - (None, HandleFailedTxRound.none_event), (True, HandleFailedTxRound.done_event), (False, HandleFailedTxRound.no_op_event), ), diff --git a/packages/valory/skills/market_manager_abci/skill.yaml b/packages/valory/skills/market_manager_abci/skill.yaml index 0bff3c686..0afea7fb0 100644 --- a/packages/valory/skills/market_manager_abci/skill.yaml +++ b/packages/valory/skills/market_manager_abci/skill.yaml @@ -36,7 +36,7 @@ contracts: [] protocols: - valory/http:1.0.0:bafybeifugzl63kfdmwrxwphrnrhj7bn6iruxieme3a4ntzejf6kmtuwmae skills: -- valory/abstract_round_abci:0.1.0:bafybeib733xfbndtpvkf44mtk7oyodnficgloo6xhn7xmqxxeos33es65u +- valory/abstract_round_abci:0.1.0:bafybeigjddhk7epta7xpnfvv426xedff5abh4xlkwi6cqgp4vkutgkvydm behaviours: main: args: {} diff --git a/packages/valory/skills/staking_abci/behaviours.py b/packages/valory/skills/staking_abci/behaviours.py index 74df6e501..d5676ca58 100644 --- a/packages/valory/skills/staking_abci/behaviours.py +++ b/packages/valory/skills/staking_abci/behaviours.py @@ -228,6 +228,7 @@ def contract_interact( contract_address, contract_id, contract_callable, + chain_id=self.params.mech_chain_id, **kwargs, ) if response_msg.performative != ContractApiMessage.Performative.RAW_TRANSACTION: diff --git a/packages/valory/skills/staking_abci/models.py b/packages/valory/skills/staking_abci/models.py index b9ee386a2..6b1d91ad9 100644 --- a/packages/valory/skills/staking_abci/models.py +++ b/packages/valory/skills/staking_abci/models.py @@ -22,7 +22,7 @@ import os from pathlib import Path -from typing import Any +from typing import Any, Optional from packages.valory.skills.abstract_round_abci.models import BaseParams from packages.valory.skills.abstract_round_abci.models import ( @@ -61,6 +61,8 @@ def get_store_path(kwargs: dict) -> Path: class StakingParams(BaseParams): """Staking parameters.""" + mech_chain_id: Optional[str] + def __init__(self, *args: Any, **kwargs: Any) -> None: """Initialize the parameters' object.""" self.staking_contract_address: str = self._ensure( diff --git a/packages/valory/skills/staking_abci/rounds.py b/packages/valory/skills/staking_abci/rounds.py index c6de99b2a..444b97065 100644 --- a/packages/valory/skills/staking_abci/rounds.py +++ b/packages/valory/skills/staking_abci/rounds.py @@ -33,6 +33,7 @@ CollectionRound, DegenerateRound, DeserializedCollection, + NONE_EVENT_ATTRIBUTE, get_name, ) from packages.valory.skills.staking_abci.payloads import CallCheckpointPayload @@ -115,6 +116,12 @@ class CallCheckpointRound(CollectSameUntilThresholdRound): ) collection_key = get_name(SynchronizedData.participant_to_checkpoint) synchronized_data_class = SynchronizedData + # the none event is not required because the `CallCheckpointPayload` payload does not allow for `None` values + required_class_attributes = tuple( + attribute + for attribute in CollectSameUntilThresholdRound.required_class_attributes + if attribute != NONE_EVENT_ATTRIBUTE + ) def end_block(self) -> Optional[Tuple[BaseSynchronizedData, Enum]]: """Process the end of the block.""" diff --git a/packages/valory/skills/staking_abci/skill.yaml b/packages/valory/skills/staking_abci/skill.yaml index 9d866d5c2..cfc6e54da 100644 --- a/packages/valory/skills/staking_abci/skill.yaml +++ b/packages/valory/skills/staking_abci/skill.yaml @@ -8,13 +8,13 @@ aea_version: '>=1.0.0, <2.0.0' fingerprint: README.md: bafybeifrpl36fddmgvniwvghqtxdzc44ry6l2zvqy37vu3y2xvwyd23ugy __init__.py: bafybeiageyes36ujnvvodqd5vlnihgz44rupysrk2ebbhskjkueetj6dai - behaviours.py: bafybeiels3us2s5sf2lrloekjky46o2owlo3awsocuxt67h76ap2k5qaqy + behaviours.py: bafybeieukrrm34bqjtolm2okiys7llri4led2suclve24mtitbpii3svge dialogues.py: bafybeiebofyykseqp3fmif36cqmmyf3k7d2zbocpl6t6wnlpv4szghrxbm fsm_specification.yaml: bafybeicuoejmaks3ndwhbflp64kkfdkrdyn74a2fplarg4l3gxlonfmeoq handlers.py: bafybeichsi2y5zvzffupj2vhgagocwvnm7cbzr6jmavp656mfrzsdvkfnu - models.py: bafybeibhzoi25wqpgxwn7ibgz3juax2aeqep7qdl6q7u3abdnb6jahc264 + models.py: bafybeigv4bltwodffe7n5fs6tevx2ysavkj3ynpwniyky653jiigtfzppu payloads.py: bafybeib7hxsibtabb5vt6gjtco2x2s2yodhs24ojqecgrcexqsiv3pvmuy - rounds.py: bafybeiezsn42e2qqdpwgtkvrlgjzfwtg7fldfqglf5ofc36g7uyaobvuhq + rounds.py: bafybeifki4k3x6hjjkudrovsblf2ghrcg42b7nfysds5yts5p357dadl4a tests/__init__.py: bafybeid7m6ynosqeb4mvsss2hqg75aly5o2d47r7yfg2xtgwzkkilv2d2m tests/test_dialogues.py: bafybeidwjk52mufwvkj4cr3xgqycbdzxc6gvosmqyuqdjarnrgwth6wcai tests/test_handers.py: bafybeibnxlwznx3tsdpjpzh62bnp6lq7zdpolyjxfvxeumzz52ljxfzpme @@ -23,15 +23,15 @@ fingerprint: fingerprint_ignore_patterns: [] connections: [] contracts: -- valory/gnosis_safe:0.1.0:bafybeih3ropivth4wn7zbzudisx3qezbht5jyndd4w7az7fq634lpozoge -- valory/service_staking_token:0.1.0:bafybeihhcs3ewwzhy7yto4y36uqmice3pdvyl54fvxxv6jsxonesie4dxu -- valory/staking_token:0.1.0:bafybeiep4r6qyilbfgzdvx6t7zvpgaioxqktmxm7puwtnbpb2ftlib43gy -- valory/mech_activity:0.1.0:bafybeibmqmle5fnal3gxlpdmcos2kogzra4q3pr3o5nh7shplxuilji3t4 +- valory/gnosis_safe:0.1.0:bafybeihtqcpqthb37msgqabpzcc2xc3l3yzkp5pl2sodeghqyzzzyuevgi +- valory/service_staking_token:0.1.0:bafybeieg664oohr26gpcfn3uied4minlz6dmgd32xboewscnxqnv5kk4zi +- valory/staking_token:0.1.0:bafybeiaynt6clwbthtbndtocnwul7dp76ctmu4jxinp7fnqks4pxt65yuy +- valory/mech_activity:0.1.0:bafybeieadv7vnbguc7beu6xo3rs3mqbgzc7wayc7kvgb2tmitmjtpdcqkq protocols: - valory/contract_api:1.0.0:bafybeidgu7o5llh26xp3u3ebq3yluull5lupiyeu6iooi2xyymdrgnzq5i skills: -- valory/abstract_round_abci:0.1.0:bafybeib733xfbndtpvkf44mtk7oyodnficgloo6xhn7xmqxxeos33es65u -- valory/transaction_settlement_abci:0.1.0:bafybeic7q7recyka272udwcupblwbkc3jkodgp74fvcdxb7urametg5dae +- valory/abstract_round_abci:0.1.0:bafybeigjddhk7epta7xpnfvv426xedff5abh4xlkwi6cqgp4vkutgkvydm +- valory/transaction_settlement_abci:0.1.0:bafybeifmgmwdkx4esemxjacjwzqkqymkuklb5nehkwqkx7v335fllgswcq behaviours: main: args: {} diff --git a/packages/valory/skills/trader_abci/dialogues.py b/packages/valory/skills/trader_abci/dialogues.py index 153b6ce50..9dccaf478 100644 --- a/packages/valory/skills/trader_abci/dialogues.py +++ b/packages/valory/skills/trader_abci/dialogues.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # ------------------------------------------------------------------------------ # -# Copyright 2023 Valory AG +# Copyright 2023-2024 Valory AG # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -61,6 +61,12 @@ from packages.valory.skills.abstract_round_abci.dialogues import ( TendermintDialogues as BaseTendermintDialogues, ) +from packages.valory.skills.mech_interact_abci.dialogues import ( + AcnDialogue as BaseAcnDialogue, +) +from packages.valory.skills.mech_interact_abci.dialogues import ( + AcnDialogues as BaseAcnDialogues, +) AbciDialogue = BaseAbciDialogue @@ -88,3 +94,7 @@ IpfsDialogue = BaseIpfsDialogue IpfsDialogues = BaseIpfsDialogues + + +AcnDialogue = BaseAcnDialogue +AcnDialogues = BaseAcnDialogues diff --git a/packages/valory/skills/trader_abci/fsm_specification.yaml b/packages/valory/skills/trader_abci/fsm_specification.yaml index 0778e7f01..7531abb0b 100644 --- a/packages/valory/skills/trader_abci/fsm_specification.yaml +++ b/packages/valory/skills/trader_abci/fsm_specification.yaml @@ -95,6 +95,7 @@ states: - ValidateTransactionRound transition_func: (BenchmarkingRandomnessRound, DONE): SamplingRound + (BenchmarkingRandomnessRound, NONE): ImpossibleRound (BenchmarkingRandomnessRound, NO_MAJORITY): BenchmarkingRandomnessRound (BenchmarkingRandomnessRound, ROUND_TIMEOUT): BenchmarkingRandomnessRound (BetPlacementRound, DONE): PreTxSettlementRound @@ -118,6 +119,7 @@ transition_func: (CheckBenchmarkingModeRound, BENCHMARKING_DISABLED): UpdateBetsRound (CheckBenchmarkingModeRound, BENCHMARKING_ENABLED): BenchmarkingRandomnessRound (CheckBenchmarkingModeRound, DONE): ImpossibleRound + (CheckBenchmarkingModeRound, NONE): ImpossibleRound (CheckBenchmarkingModeRound, NO_MAJORITY): CheckBenchmarkingModeRound (CheckBenchmarkingModeRound, ROUND_TIMEOUT): CheckBenchmarkingModeRound (CheckBenchmarkingModeRound, SUBSCRIPTION_ERROR): ImpossibleRound @@ -184,9 +186,11 @@ transition_func: (PreTxSettlementRound, REFILL_REQUIRED): PreTxSettlementRound (PreTxSettlementRound, ROUND_TIMEOUT): PreTxSettlementRound (RandomnessRound, DONE): SamplingRound + (RandomnessRound, NONE): ImpossibleRound (RandomnessRound, NO_MAJORITY): RandomnessRound (RandomnessRound, ROUND_TIMEOUT): RandomnessRound (RandomnessTransactionSubmissionRound, DONE): SelectKeeperTransactionSubmissionARound + (RandomnessTransactionSubmissionRound, NONE): RandomnessTransactionSubmissionRound (RandomnessTransactionSubmissionRound, NO_MAJORITY): RandomnessTransactionSubmissionRound (RandomnessTransactionSubmissionRound, ROUND_TIMEOUT): RandomnessTransactionSubmissionRound (RedeemRound, DONE): PreTxSettlementRound diff --git a/packages/valory/skills/trader_abci/handlers.py b/packages/valory/skills/trader_abci/handlers.py index 5f35925a0..9f841ca6a 100644 --- a/packages/valory/skills/trader_abci/handlers.py +++ b/packages/valory/skills/trader_abci/handlers.py @@ -39,6 +39,9 @@ from packages.valory.skills.decision_maker_abci.handlers import ( IpfsHandler as BaseIpfsHandler, ) +from packages.valory.skills.mech_interact_abci.handlers import ( + AcnHandler as BaseAcnHandler, +) TraderHandler = ABCIRoundHandler @@ -48,3 +51,4 @@ ContractApiHandler = BaseContractApiHandler TendermintHandler = BaseTendermintHandler IpfsHandler = BaseIpfsHandler +AcnHandler = BaseAcnHandler diff --git a/packages/valory/skills/trader_abci/models.py b/packages/valory/skills/trader_abci/models.py index 989c91347..b8c8188c8 100644 --- a/packages/valory/skills/trader_abci/models.py +++ b/packages/valory/skills/trader_abci/models.py @@ -108,10 +108,11 @@ class RandomnessApi(ApiSpecs): class TraderParams( # also contains the `StakingParams`. Must be before `MechInteractParams` because of the mech's contract address CheckStopTradingParams, + # must be before `MechInteractParams` because of the mech's chain id + TxSettlementMultiplexerParams, # also contains the `MechInteractParams` DecisionMakerParams, TerminationParams, - TxSettlementMultiplexerParams, ): """A model to represent the trader params.""" diff --git a/packages/valory/skills/trader_abci/skill.yaml b/packages/valory/skills/trader_abci/skill.yaml index 82acd3971..185e7a370 100644 --- a/packages/valory/skills/trader_abci/skill.yaml +++ b/packages/valory/skills/trader_abci/skill.yaml @@ -10,10 +10,10 @@ fingerprint: __init__.py: bafybeido7wa33h4dtleap57vzgyb4fsofk4vindsqcekyfo5i56i2rll2a behaviours.py: bafybeigc6hszbu66ccajny5eh7thfgsrlr36je4mzziwp4mupgvtaeu6aa composition.py: bafybeifxerfvssuhodqmtvkz6umlmrmdqjv5ptpszhnwlavzxaavdpdyly - dialogues.py: bafybeiebofyykseqp3fmif36cqmmyf3k7d2zbocpl6t6wnlpv4szghrxbm - fsm_specification.yaml: bafybeigfs3ffn5r3uo4d4aif7uwe3u7z5eqdx42zegifz6wswrsdx4d6xm - handlers.py: bafybeibbxybbi66em63ad33cllymypr3za3f5xvor3m2krhuxoyxnqjnxu - models.py: bafybeih2vkf4ln7n7ar27iemho7w7sdr4clmhbnhbcznmsri6mc2skkky4 + dialogues.py: bafybeihouxm2nl2r6h3vlymmtrge43tcnwphtzhc2q3vludpgytigggguy + fsm_specification.yaml: bafybeigbedgadqt46yqw5qkm7yb2q4atiodwvruh7yuo6g6qyht76lniea + handlers.py: bafybeigrqsgqupy6kds2vqieacsymx3eucntwl52rlgi4cu4lrb6bglhti + models.py: bafybeigbnyvpuh7qq3bsgmcb27e6fz2kirp74eios55acar4352opv4ggm tests/__init__.py: bafybeiadatapyjh3e7ucg2ehz77oms3ihrbutwb2cs2tkjehy54utwvuyi tests/tests_handlers.py: bafybeifxvd63qblqpsmyvj7k4dbqubab2pshao5zd2zs2srs7rt32zvciu fingerprint_ignore_patterns: [] @@ -21,17 +21,17 @@ connections: [] contracts: [] protocols: [] skills: -- valory/abstract_round_abci:0.1.0:bafybeib733xfbndtpvkf44mtk7oyodnficgloo6xhn7xmqxxeos33es65u -- valory/registration_abci:0.1.0:bafybeibc7duasoaw5b4ene5oxfba2dmdzstsrws6ipi57ymgdtoxjadn54 -- valory/reset_pause_abci:0.1.0:bafybeigrdlxed3xlsnxtjhnsbl3cojruihxcqx4jxhgivkd5i2fkjncgba -- valory/transaction_settlement_abci:0.1.0:bafybeic7q7recyka272udwcupblwbkc3jkodgp74fvcdxb7urametg5dae -- valory/termination_abci:0.1.0:bafybeib5l7jhew5ic6iq24dd23nidcoimzqkrk556gqywhoziatj33zvwm -- valory/market_manager_abci:0.1.0:bafybeiaru2d32wpmcgqs64eepxud4idgubc3vmsbdwbia7gygipql2mmqi -- valory/decision_maker_abci:0.1.0:bafybeie5xp55kt3cjghhmk4v6mdcagfgk4vkneaxdttnxmtdcbfrxwc26a -- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeicztsvr3hnmzlg6irafx3phqfftmnk4zrfph4krsnpinekkjdlon4 -- valory/staking_abci:0.1.0:bafybeicupccurmrg7qesivonlyt3nryarsmk5qf5yh6auno64wn45bybvq -- valory/check_stop_trading_abci:0.1.0:bafybeieduekpd4zbvjztyxyooppqnmjvup6jfp74uo6hhupvtvzzscdzkq -- valory/mech_interact_abci:0.1.0:bafybeid6m3i5ofq7vuogqapdnoshhq7mswmudhvfcr2craw25fdwtoe3lm +- valory/abstract_round_abci:0.1.0:bafybeigjddhk7epta7xpnfvv426xedff5abh4xlkwi6cqgp4vkutgkvydm +- valory/registration_abci:0.1.0:bafybeiagi6e2h7kochmlemy5c5yk6hwn37tfxiqvk2en74jhowsdwlmrny +- valory/reset_pause_abci:0.1.0:bafybeiezfedmmseox3ce5aucxsiszdmvskrwwbtpb2a3vw3sbmc5jt7nri +- valory/transaction_settlement_abci:0.1.0:bafybeifmgmwdkx4esemxjacjwzqkqymkuklb5nehkwqkx7v335fllgswcq +- valory/termination_abci:0.1.0:bafybeiea67epwwgngp7b3wavs6hpkaxv6etyaps6g6325bchfnf354mibq +- valory/market_manager_abci:0.1.0:bafybeiayhzwxlpqsevyvaxn6dtnnu745az5vcz7dckmghnmjywxdtvoyly +- valory/decision_maker_abci:0.1.0:bafybeifod6ghdpzqtsvxntb3ebjer3wbduv6pzw3qxlepcl7o3j5yrl34i +- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeibj5frl64wbrq2skp324opcukakvuawbg5cia2svrbnsmiyfrai4u +- valory/staking_abci:0.1.0:bafybeiaasclr4lf3u2layekmfwyasckxrslbs2g4me7kvozz5goswlznjq +- valory/check_stop_trading_abci:0.1.0:bafybeic3bismocli2yyxmjhjsevjbzpuf3ladsvlkazfx23vq3q6uxrn7m +- valory/mech_interact_abci:0.1.0:bafybeib4vn6m2yumwoclh5aatcdt5yxcjc5owxmxy5o7t3nfzormgwkr64 behaviours: main: args: {} @@ -40,6 +40,9 @@ handlers: abci: args: {} class_name: TraderHandler + acn: + args: {} + class_name: AcnHandler contract_api: args: {} class_name: ContractApiHandler @@ -62,6 +65,9 @@ models: abci_dialogues: args: {} class_name: AbciDialogues + acn_dialogues: + args: {} + class_name: AcnDialogues benchmark_tool: args: log_dir: /logs @@ -125,6 +131,7 @@ models: service_id: trader service_registry_address: null agent_registry_address: '0x0000000000000000000000000000000000000000' + use_acn_for_delivers: false setup: all_participants: - '0x0000000000000000000000000000000000000000' @@ -200,39 +207,23 @@ models: tool_punishment_multiplier: 1 use_nevermined: true mech_to_subscription_params: - - - base_url - - https://marketplace-api.gnosis.nevermined.app/api/v1/metadata/assets/ddo - - - did - - did:nv:0ea01d5de3b34e3792db825f2a5f5595c393c68b19fd5efdacd00fcc63a53483 - - - escrow_payment_condition_address - - '0x9dDC4F1Ea5b94C138A23b60EC48c0d01d172629a' - - - lock_payment_condition_address - - '0xDE85A368Ee6f374d236500d176814365370778dA' - - - transfer_nft_condition_address - - '0xbBa4A25262745a55f020D0a3E9a82c25bb6F4979' - - - token_address - - '0xa30DE8C6aC39B825192e5F1FADe0770332D279A8' - - - order_address - - '0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4' - - - nft_amount - - '100' - - - payment_token - - '0x0000000000000000000000000000000000000000' - - - order_address - - '0xc7751eff5396a846e7bc83ac31d3cb7d37cb49e4' - - - price - - '1000000000000000000' + base_url: url + did: did + escrow_payment_condition_address: address + lock_payment_condition_address: address + transfer_nft_condition_address: address + token_address: address + order_address: address + nft_amount: amount + payment_token: address + price: price contract_timeout: 300.0 - file_hash_to_strategies_json: - - - hash - - - strategy_name + file_hash_to_strategies: {} strategies_kwargs: - - - bet_kelly_fraction - - 1.0 - - - floor_balance - - 500000000000000000 - - - bet_amount_per_threshold - - 0.0: 0 + bet_kelly_fraction: 1.0 + floor_balance: 500000000000000000 + bet_amount_per_threshold: + 0.0: 0 0.1: 0 0.2: 0 0.3: 0 diff --git a/packages/valory/skills/tx_settlement_multiplexer_abci/behaviours.py b/packages/valory/skills/tx_settlement_multiplexer_abci/behaviours.py index c19209f9f..280824ba5 100644 --- a/packages/valory/skills/tx_settlement_multiplexer_abci/behaviours.py +++ b/packages/valory/skills/tx_settlement_multiplexer_abci/behaviours.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # ------------------------------------------------------------------------------ # -# Copyright 2023 Valory AG +# Copyright 2023-2024 Valory AG # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -62,6 +62,7 @@ def _get_balance(self, agent: str) -> Generator[None, None, Optional[int]]: performative=LedgerApiMessage.Performative.GET_STATE, # type: ignore ledger_callable="get_balance", account=agent, + chain_id=self.params.mech_chain_id, ) try: diff --git a/packages/valory/skills/tx_settlement_multiplexer_abci/models.py b/packages/valory/skills/tx_settlement_multiplexer_abci/models.py index 49c0e5dbd..ea5080b43 100644 --- a/packages/valory/skills/tx_settlement_multiplexer_abci/models.py +++ b/packages/valory/skills/tx_settlement_multiplexer_abci/models.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # ------------------------------------------------------------------------------ # -# Copyright 2023 Valory AG +# Copyright 2023-2024 Valory AG # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -20,7 +20,7 @@ """Custom objects for the TxSettlementMultiplexer ABCI application.""" -from typing import Any +from typing import Any, Optional from packages.valory.skills.abstract_round_abci.models import BaseParams from packages.valory.skills.abstract_round_abci.models import ( @@ -42,6 +42,8 @@ class TxSettlementMultiplexerParams(BaseParams): """Staking parameters.""" + mech_chain_id: Optional[str] + def __init__(self, *args: Any, **kwargs: Any) -> None: """Initialize the parameters' object.""" self.agent_balance_threshold: int = self._ensure( diff --git a/packages/valory/skills/tx_settlement_multiplexer_abci/rounds.py b/packages/valory/skills/tx_settlement_multiplexer_abci/rounds.py index cee817002..0e36ee7c4 100644 --- a/packages/valory/skills/tx_settlement_multiplexer_abci/rounds.py +++ b/packages/valory/skills/tx_settlement_multiplexer_abci/rounds.py @@ -30,6 +30,7 @@ BaseSynchronizedData, CollectSameUntilThresholdRound, DegenerateRound, + NONE_EVENT_ATTRIBUTE, VotingRound, get_name, ) @@ -67,9 +68,16 @@ class PreTxSettlementRound(VotingRound): payload_class = VotingPayload synchronized_data_class = SynchronizedData done_event = Event.CHECKS_PASSED + none_event = Event.REFILL_REQUIRED negative_event = Event.REFILL_REQUIRED no_majority_event = Event.NO_MAJORITY collection_key = get_name(SynchronizedData.participant_to_votes) + # the none event is not required because the `VotingPayload` payload does not allow for `None` values + required_class_attributes = tuple( + attribute + for attribute in VotingRound.required_class_attributes + if attribute != NONE_EVENT_ATTRIBUTE + ) class PostTxSettlementRound(CollectSameUntilThresholdRound): @@ -77,6 +85,8 @@ class PostTxSettlementRound(CollectSameUntilThresholdRound): payload_class: Any = object() synchronized_data_class = SynchronizedData + # no class attributes are required because this round is overriding the `end_block` method + required_class_attributes = () def end_block(self) -> Optional[Tuple[BaseSynchronizedData, Enum]]: """ diff --git a/packages/valory/skills/tx_settlement_multiplexer_abci/skill.yaml b/packages/valory/skills/tx_settlement_multiplexer_abci/skill.yaml index a5be8144e..037e2599c 100644 --- a/packages/valory/skills/tx_settlement_multiplexer_abci/skill.yaml +++ b/packages/valory/skills/tx_settlement_multiplexer_abci/skill.yaml @@ -8,12 +8,12 @@ aea_version: '>=1.0.0, <2.0.0' fingerprint: README.md: bafybeiegcjg2wjrsqhrmvyulioch3d67rnbzkx5af3ztkaw7kxathjreda __init__.py: bafybeide6k22zk4f3hyzhpapaoddsnxpw5elqcfvrxxj4nfvpzctv6jqhu - behaviours.py: bafybeictumcqn2pgo7y2duemvzoaafognfhl6s6il3tv53hq66tf7xgpsu + behaviours.py: bafybeib7vkjvvnz4locp6dyoxaiuublq3uzqyjktfpezzer7ui2ybak4nq dialogues.py: bafybeiebofyykseqp3fmif36cqmmyf3k7d2zbocpl6t6wnlpv4szghrxbm fsm_specification.yaml: bafybeicd7us5ffvsrxm7ybaanyzojbhmo7xtsfd3swtdem4dfsxkidxw7a handlers.py: bafybeiafbqr7ojfcbwohvee7x4zzswad3ymfrrbjlfz7uuuttmn3qdfs6q - models.py: bafybeigtmxoecoow663hgqnyinxarlrttyyt5ghpbdamdv4tc4kikcfx3a - rounds.py: bafybeig3dhhrf5tkj63b3bk2mqfprcwzk3galz2ukzvdenz4g2femaixku + models.py: bafybeiaokvfsyweqfop2cl42vr4jhynhlgvdmgxflosvsda4oosd56h2vi + rounds.py: bafybeial5c4cja2nhlrracay3mq362mcph3whuav5tejiixpo2epws63aq tests/__init__.py: bafybeiat74pbtmxvylsz7karp57qp2v7y6wtrsz572jkrghbcssoudgjay tests/test_handlers.py: bafybeiayuktfupylm3p3ygufjb66swzxhpbmioqoffwuauakfgbkwrv7ma fingerprint_ignore_patterns: [] @@ -22,10 +22,10 @@ contracts: [] protocols: - valory/ledger_api:1.0.0:bafybeihdk6psr4guxmbcrc26jr2cbgzpd5aljkqvpwo64bvaz7tdti2oni skills: -- valory/abstract_round_abci:0.1.0:bafybeib733xfbndtpvkf44mtk7oyodnficgloo6xhn7xmqxxeos33es65u -- valory/decision_maker_abci:0.1.0:bafybeie5xp55kt3cjghhmk4v6mdcagfgk4vkneaxdttnxmtdcbfrxwc26a -- valory/staking_abci:0.1.0:bafybeicupccurmrg7qesivonlyt3nryarsmk5qf5yh6auno64wn45bybvq -- valory/mech_interact_abci:0.1.0:bafybeid6m3i5ofq7vuogqapdnoshhq7mswmudhvfcr2craw25fdwtoe3lm +- valory/abstract_round_abci:0.1.0:bafybeigjddhk7epta7xpnfvv426xedff5abh4xlkwi6cqgp4vkutgkvydm +- valory/decision_maker_abci:0.1.0:bafybeifod6ghdpzqtsvxntb3ebjer3wbduv6pzw3qxlepcl7o3j5yrl34i +- valory/staking_abci:0.1.0:bafybeiaasclr4lf3u2layekmfwyasckxrslbs2g4me7kvozz5goswlznjq +- valory/mech_interact_abci:0.1.0:bafybeib4vn6m2yumwoclh5aatcdt5yxcjc5owxmxy5o7t3nfzormgwkr64 behaviours: main: args: {} diff --git a/poetry.lock b/poetry.lock index decf62ab4..4bcb54b98 100644 --- a/poetry.lock +++ b/poetry.lock @@ -534,116 +534,103 @@ pycparser = "*" [[package]] name = "charset-normalizer" -version = "3.4.0" +version = "3.4.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false -python-versions = ">=3.7.0" -files = [ - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, - {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, - {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, +python-versions = ">=3.7" +files = [ + {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, + {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, + {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, ] [[package]] @@ -742,13 +729,13 @@ files = [ [[package]] name = "click" -version = "8.1.7" +version = "8.1.8" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, + {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, + {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, ] [package.dependencies] @@ -1729,13 +1716,13 @@ files = [ [[package]] name = "jinja2" -version = "3.1.4" +version = "3.1.5" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, - {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, + {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, + {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, ] [package.dependencies] @@ -2110,18 +2097,18 @@ nicer-shell = ["ipython"] [[package]] name = "open-aea" -version = "1.53.0" +version = "1.60.0" description = "Open Autonomous Economic Agent framework (without vendor lock-in)" optional = false python-versions = ">=3.8" files = [ - {file = "open_aea-1.53.0-py3-none-any.whl", hash = "sha256:1244855875effe09e2c965750ac401a973a1ae56cdc880045eea70f19ed90dcb"}, - {file = "open_aea-1.53.0-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:d0a848e33798599953dc764d37083fc37642140a91624e06a56b8d2f95ae6cb9"}, - {file = "open_aea-1.53.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:48f5715f13a0389799b9461bc776e9638e6ae38173d0f2bf6d28bad637232914"}, - {file = "open_aea-1.53.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:87e4ae903ec9a7268eba0ead449f9693cb5bedb6dfc5846c90f94f2354bd35ab"}, - {file = "open_aea-1.53.0-py3-none-win32.whl", hash = "sha256:182e9f8a77fe8efcc768360ac7308a0951ec16bcb12e2ad4f55886b12258d702"}, - {file = "open_aea-1.53.0-py3-none-win_amd64.whl", hash = "sha256:cef9d4d177ea7d959ebacab962fbd1d03d7243c0b72d10a3ee7850df8d922e06"}, - {file = "open_aea-1.53.0.tar.gz", hash = "sha256:6fcb82ceed0b6841c0f41d116b207308556e3d18807fe140e9ef1a898c7a8a0b"}, + {file = "open_aea-1.60.0-py3-none-any.whl", hash = "sha256:7463b95973d1594bfc6aa8bd5f561f9a683dcec2adb06c44084c896325f2f5ea"}, + {file = "open_aea-1.60.0-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:bf3ca4803a61d78133e130d74e0a7c02007318ff4ec4450a980e604ee83d8941"}, + {file = "open_aea-1.60.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:e94db427beb8f77e51cc2c8f0482fcb0b12464d62a59b3a50bd5594d21d22d6a"}, + {file = "open_aea-1.60.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:85b7695f80c528336d3af4c052c7bcd3413101e9034c507d6246304de9d16220"}, + {file = "open_aea-1.60.0-py3-none-win32.whl", hash = "sha256:fc3d49277f526d709340ef6d8839d7a7293ef948e01b7eaaf875ffb302d8d3aa"}, + {file = "open_aea-1.60.0-py3-none-win_amd64.whl", hash = "sha256:ee5a2584adc9cd7508903796e9b34fd6ca54f194449ad0da2ebf003226a0144b"}, + {file = "open_aea-1.60.0.tar.gz", hash = "sha256:531a1a985bdf385b3332232920876c9056c88b8d6d3ab37c7b5c10a15493cce6"}, ] [package.dependencies] @@ -2149,13 +2136,13 @@ test-tools = ["click (>=8.1.0,<9)", "coverage (>=6.4.4,<8.0.0)", "jsonschema (>= [[package]] name = "open-aea-cli-ipfs" -version = "1.53.0" +version = "1.60.0" description = "CLI extension for open AEA framework wrapping IPFS functionality." optional = false python-versions = "*" files = [ - {file = "open_aea_cli_ipfs-1.53.0-py3-none-any.whl", hash = "sha256:335a02473d1c6820bb63a31e2931749ba644f586a7acbc650da9efc4c7168efa"}, - {file = "open_aea_cli_ipfs-1.53.0.tar.gz", hash = "sha256:499a66a45925064e6946ec72f482182390263cc7726409832f1317fe831b6289"}, + {file = "open_aea_cli_ipfs-1.60.0-py3-none-any.whl", hash = "sha256:d32493650d4d86210cfd56848748d8a3ef9eb439cd064153a3efd4a961eaf31a"}, + {file = "open_aea_cli_ipfs-1.60.0.tar.gz", hash = "sha256:e90bc224ebc47bfd56a5f34739300ab8b8615e077072b5a202af398b92028d50"}, ] [package.dependencies] @@ -2165,13 +2152,13 @@ pytest = ">=7.0.0,<7.3.0" [[package]] name = "open-aea-ledger-cosmos" -version = "1.53.0" +version = "1.60.0" description = "Python package wrapping the public and private key cryptography and ledger api of Cosmos." optional = false python-versions = "*" files = [ - {file = "open_aea_ledger_cosmos-1.53.0-py3-none-any.whl", hash = "sha256:79b2eafc8723593634b72973da39e3e3c01bceae04b330b51a5059eb1200262b"}, - {file = "open_aea_ledger_cosmos-1.53.0.tar.gz", hash = "sha256:14a032918d7f0659fedbe21a53fa668b24505bb9e97358340b20325943f9fa26"}, + {file = "open_aea_ledger_cosmos-1.60.0-py3-none-any.whl", hash = "sha256:53a1c8a04a12a9e18a03a7ecc1988efef6e3712cf6408ae4c46c18d8d66fba31"}, + {file = "open_aea_ledger_cosmos-1.60.0.tar.gz", hash = "sha256:df48bf695de632b768baf968e6de66e27d7350af2edfac715a5635389d891b75"}, ] [package.dependencies] @@ -2183,13 +2170,13 @@ pycryptodome = ">=3.10.1,<4.0.0" [[package]] name = "open-aea-ledger-ethereum" -version = "1.53.0" +version = "1.60.0" description = "Python package wrapping the public and private key cryptography and ledger api of Ethereum." optional = false python-versions = "*" files = [ - {file = "open_aea_ledger_ethereum-1.53.0-py3-none-any.whl", hash = "sha256:501eb9e9e228552bf9f6f8811d780f33dbbf477ddb33b63d335caaeb24840274"}, - {file = "open_aea_ledger_ethereum-1.53.0.tar.gz", hash = "sha256:734f335061c33a171b945ab1bcea5d47be9b9532457ed361b3aab727e85bca0d"}, + {file = "open_aea_ledger_ethereum-1.60.0-py3-none-any.whl", hash = "sha256:0026ae8faa987f651234d3d125998a445b414a65847a121fd033f49b99de0bf0"}, + {file = "open_aea_ledger_ethereum-1.60.0.tar.gz", hash = "sha256:932219edff66500f29f17ab47d487f2995e4770456031cfbacfc0eea94571c6c"}, ] [package.dependencies] @@ -2200,30 +2187,30 @@ web3 = ">=6.0.0,<7" [[package]] name = "open-aea-test-autonomy" -version = "0.14.14.post1" +version = "0.18.3" description = "Plugin containing test tools for open-autonomy packages." optional = false python-versions = "*" files = [ - {file = "open_aea_test_autonomy-0.14.14.post1-py3-none-any.whl", hash = "sha256:5071bd3dd385d75e5fa94f32494ad972354f60936c1a6c70b23ac22d4080d0d5"}, - {file = "open_aea_test_autonomy-0.14.14.post1.tar.gz", hash = "sha256:9e56d43ad40ec7a4f624f3be20ddc9483e6635693327d85368d71d477839199a"}, + {file = "open_aea_test_autonomy-0.18.3-py3-none-any.whl", hash = "sha256:e5a188220b8dc10268e7f7d28159cc63d97dea2a9ff3b533dbf83e0ac9bd184e"}, + {file = "open_aea_test_autonomy-0.18.3.tar.gz", hash = "sha256:72c400cae3bf38035964bfc2befe65502d63fabe2139f3375ca299e08cc2d9ee"}, ] [package.dependencies] docker = "6.1.2" -open-aea = {version = ">=1.53.0,<2.0.0", extras = ["all"]} -open-aea-ledger-ethereum = ">=1.53.0,<2.0.0" +open-aea = {version = ">=1.60.0,<2.0.0", extras = ["all"]} +open-aea-ledger-ethereum = ">=1.60.0,<2.0.0" pytest = "7.2.1" [[package]] name = "open-autonomy" -version = "0.14.14.post1" +version = "0.18.3" description = "A framework for the creation of autonomous agent services." optional = false python-versions = ">=3.8" files = [ - {file = "open_autonomy-0.14.14.post1-py3-none-any.whl", hash = "sha256:9efe0bc73eaf8c45fb406b62c5249fd712e74bd43be37917563a6342cb291d69"}, - {file = "open_autonomy-0.14.14.post1.tar.gz", hash = "sha256:d0dd58a77e1a93735244baa1e810d760ca68b78d49ca686dda22dd7f3b0001af"}, + {file = "open_autonomy-0.18.3-py3-none-any.whl", hash = "sha256:bc26908a73c8a72c42ec44cdd7d8ddbc6a52688fddd02328aedf83cfc7e5bbc2"}, + {file = "open_autonomy-0.18.3.tar.gz", hash = "sha256:50d6fd431061630f783a90d957a674bbbabb74ff85c3b58857f42d52b79ae892"}, ] [package.dependencies] @@ -2235,8 +2222,8 @@ Flask = ">=2.0.2,<3.0.0" gql = "3.5.0" hexbytes = "*" jsonschema = ">=4.3.0,<4.4.0" -open-aea = {version = "1.53.0", extras = ["all"]} -open-aea-cli-ipfs = "1.53.0" +open-aea = {version = "1.60.0", extras = ["all"]} +open-aea-cli-ipfs = "1.60.0" protobuf = ">=4.21.6,<4.25.0" pytest = "7.2.1" python-dotenv = ">=0.14.5,<0.22.0" @@ -2249,8 +2236,8 @@ watchdog = ">=2.1.6" werkzeug = "2.0.3" [package.extras] -all = ["click (>=8.1.0,<9)", "coverage (>=6.4.4,<8.0.0)", "open-aea-cli-ipfs (==1.53.0)", "pytest (>=7.0.0,<7.3.0)", "python-dotenv (>=0.14.5,<0.22.0)", "texttable (==1.6.7)"] -cli = ["click (>=8.1.0,<9)", "coverage (>=6.4.4,<8.0.0)", "open-aea-cli-ipfs (==1.53.0)", "pytest (>=7.0.0,<7.3.0)", "python-dotenv (>=0.14.5,<0.22.0)", "texttable (==1.6.7)"] +all = ["click (>=8.1.0,<9)", "coverage (>=6.4.4,<8.0.0)", "open-aea-cli-ipfs (==1.60.0)", "pytest (>=7.0.0,<7.3.0)", "python-dotenv (>=0.14.5,<0.22.0)", "texttable (==1.6.7)"] +cli = ["click (>=8.1.0,<9)", "coverage (>=6.4.4,<8.0.0)", "open-aea-cli-ipfs (==1.60.0)", "pytest (>=7.0.0,<7.3.0)", "python-dotenv (>=0.14.5,<0.22.0)", "texttable (==1.6.7)"] [[package]] name = "openapi-core" @@ -2727,17 +2714,17 @@ hook-testing = ["execnet (>=1.5.0)", "psutil", "pytest (>=2.7.3)"] [[package]] name = "pyinstaller-hooks-contrib" -version = "2024.10" +version = "2024.11" description = "Community maintained hooks for PyInstaller" optional = false python-versions = ">=3.8" files = [ - {file = "pyinstaller_hooks_contrib-2024.10-py3-none-any.whl", hash = "sha256:ad47db0e153683b4151e10d231cb91f2d93c85079e78d76d9e0f57ac6c8a5e10"}, - {file = "pyinstaller_hooks_contrib-2024.10.tar.gz", hash = "sha256:8a46655e5c5b0186b5e527399118a9b342f10513eb1425c483fa4f6d02e8800c"}, + {file = "pyinstaller_hooks_contrib-2024.11-py3-none-any.whl", hash = "sha256:2781d121a1ee961152ba7287a262c65a1078da30c9ef7621cb8c819326884fd5"}, + {file = "pyinstaller_hooks_contrib-2024.11.tar.gz", hash = "sha256:84399af6b4b902030958063df25f657abbff249d0f329c5344928355c9833ab4"}, ] [package.dependencies] -importlib-metadata = {version = ">=4.6", markers = "python_version < \"3.10\""} +importlib_metadata = {version = ">=4.6", markers = "python_version < \"3.10\""} packaging = ">=22.0" setuptools = ">=42.0.0" @@ -3842,4 +3829,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = "<3.12,>=3.8" -content-hash = "43c654a308c15072bda54f5c78ee81e355a9c7172183b4deeb3e61f2728eb6f8" +content-hash = "1eb2ddd0e52eaf2c6ed97552b2aac8b485528d43707f06d6e2492b408ed76ab0" diff --git a/pyproject.toml b/pyproject.toml index 3afa98363..1a383910c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -16,21 +16,21 @@ include = "packages" [tool.poetry.dependencies] python = "<3.12,>=3.8" -open-autonomy = "==0.14.14.post1" +open-autonomy = "==0.18.3" requests = "<2.31.2,>=2.28.1" py-multibase = "==1.0.3" py-multicodec = "==0.2.1" py-eth-sig-utils = "*" grpcio = "==1.53.0" asn1crypto = "<1.5.0,>=1.4.0" -open-aea-ledger-ethereum = "==1.53.0" -open-aea-ledger-cosmos = "==1.53.0" +open-aea-ledger-ethereum = "==1.60.0" +open-aea-ledger-cosmos = "==1.60.0" protobuf = "<4.25.0,>=4.21.6" hypothesis = "==6.21.6" -open-aea-test-autonomy = "==0.14.14.post1" +open-aea-test-autonomy = "==0.18.3" web3 = "<7,>=6.0.0" ipfshttpclient = "==0.8.0a2" -open-aea-cli-ipfs = "==1.53.0" +open-aea-cli-ipfs = "==1.60.0" aiohttp = "<4.0.0,>=3.8.5" certifi = "==2021.10.8" multidict = "*" diff --git a/scripts/bump.py b/scripts/bump.py index a868d23cf..257de5658 100644 --- a/scripts/bump.py +++ b/scripts/bump.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # ------------------------------------------------------------------------------ # -# Copyright 2023 Valory AG +# Copyright 2023-2024 Valory AG # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -117,7 +117,7 @@ def dump_git_cache() -> None: def make_git_request(url: str) -> requests.Response: """Make git request""" - auth = os.environ.get("GITHUB_AUTH") + auth = os.getenv("GITHUB_AUTH") if auth is None: return requests.get(url=url) return requests.get(url=url, headers={"Authorization": f"Bearer {auth}"}) diff --git a/tox.ini b/tox.ini index e2f88bd15..d71977ff7 100644 --- a/tox.ini +++ b/tox.ini @@ -18,21 +18,21 @@ deps = [deps-packages] deps = {[deps-tests]deps} - open-autonomy==0.14.14.post1 + open-autonomy==0.18.3 requests<2.31.2,>=2.28.1 py-multibase==1.0.3 py-multicodec==0.2.1 py-eth-sig-utils grpcio==1.53.0 asn1crypto<1.5.0,>=1.4.0 - open-aea-ledger-ethereum==1.53.0 - open-aea-ledger-cosmos==1.53.0 + open-aea-ledger-ethereum==1.60.0 + open-aea-ledger-cosmos==1.60.0 protobuf<4.25.0,>=4.21.6 hypothesis==6.21.6 - open-aea-test-autonomy==0.14.14.post1 + open-aea-test-autonomy==0.18.3 web3<7,>=6.0.0 ipfshttpclient==0.8.0a2 - open-aea-cli-ipfs==1.53.0 + open-aea-cli-ipfs==1.60.0 aiohttp<4.0.0,>=3.8.5 certifi multidict @@ -216,7 +216,7 @@ commands = isort --check-only --gitignore {env:SERVICE_SPECIFIC_PACKAGES} script [testenv:check-hash] skipsdist = True usedevelop = True -deps = open-autonomy[all]==0.14.14.post1 +deps = open-autonomy[all]==0.18.3 commands = autonomy init --reset --author ci --remote --ipfs --ipfs-node "/dns/registry.autonolas.tech/tcp/443/https" autonomy packages sync