Skip to content

Commit f3bb175

Browse files
authored
Merge pull request #489 from valory-xyz/develop
Release `v0.26.0`
2 parents 7e58d90 + 93f5d57 commit f3bb175

63 files changed

Lines changed: 3496 additions & 1222 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/common_checks.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ jobs:
138138
strategy:
139139
matrix:
140140
os: [ubuntu-latest, macos-latest, windows-latest]
141-
python-version: ["3.8", "3.9", "3.10", "3.11"]
141+
python-version: ["3.9", "3.10", "3.11"]
142142

143143
timeout-minutes: 30
144144

.gitignore

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
*private_key.txt
33
packages/fetchai/
44
packages/open_aea/
5+
packages/dvilela/
56
packages/valory/connections/abci/
67
packages/valory/connections/http_client/
78
packages/valory/connections/ipfs/
89
packages/valory/connections/ledger/
910
packages/valory/connections/p2p_libp2p_client/
1011
packages/valory/connections/http_server/
1112

13+
1214
packages/valory/skills/abstract_abci/
1315
packages/valory/skills/abstract_round_abci/
1416
packages/valory/skills/mech_interact_abci/
@@ -27,7 +29,7 @@ packages/valory/contracts/service_registry/
2729
packages/valory/contracts/gnosis_safe/
2830
packages/valory/contracts/agent_registry/
2931
packages/valory/contracts/complementary_service_metadata/
30-
32+
packages/valory/contracts/mech_mm
3133
packages/valory/protocols/abci
3234
packages/valory/protocols/acn
3335
packages/valory/protocols/acn_data_share
@@ -36,7 +38,7 @@ packages/valory/protocols/http
3638
packages/valory/protocols/ipfs
3739
packages/valory/protocols/ledger_api
3840
packages/valory/protocols/tendermint
39-
packages/valory/contracts/mech_mm
41+
packages/valory/protocols/srr
4042

4143
.idea
4244
**/__pycache__/
@@ -58,3 +60,7 @@ trader/
5860
/trader_service/
5961
/.coverage
6062
.dmypy.json
63+
logs/
64+
data/
65+
benchmarks/
66+
.vscode/

.gitleaksignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,16 @@ dcd0816e4f7c17bb8e6e5ef57bf95fd9b947ecc8:packages/valory/skills/decision_maker_a
6666
7cb24a6ba2423f65a946b163268d09308ca00a00:trader_old/vendor/valory/connections/abci/tests/test_abci.py:generic-api-key:373
6767
7cb24a6ba2423f65a946b163268d09308ca00a00:trader_old/vendor/valory/connections/abci/tests/test_abci.py:generic-api-key:523
6868
9c3fa1a89cd918ca1a1c74ad5efd48f9ec106c34:packages/valory/skills/market_manager_abci/graph_tooling/requests.py:generic-api-key:160
69+
a10bdf40845fdfc6a457dc36a84cea08da47e13d:packages/valory/skills/trader_abci/predict-ui-build/assets/index-De6o9RXY.js:generic-api-key:122
70+
355ecb04d717451486aed176aa367ff520795d65:packages/valory/skills/trader_abci/predict-ui-build/assets/index-hBFwRxON.js:generic-api-key:122
71+
741ce08fdd648303810da88f8fcf803c815e08fd:packages/valory/skills/trader_abci/predict-ui-build/assets/index-De6o9RXY.js:generic-api-key:122
72+
9a058cab3f0f3cb2d14619ec98902f02b7c63a03:packages/valory/skills/trader_abci/predict-ui-build/assets/index-wQNaC-Uw.js:generic-api-key:122
73+
ef4b31dd87eafed37776689be95b0002ae235bd4:packages/valory/skills/trader_abci/predict-ui-build/assets/index-b1cOGivk.js:generic-api-key:122
74+
813e0227406c06c838170445151247591996a946:packages/valory/skills/trader_abci/predict-ui-build/static/js/main.b2df20f8.js:generic-api-key:2
75+
49ec1ac5b48a98d8411e9da6e8553714ce5d1af3:packages/valory/skills/trader_abci/predict-ui-build/assets/index-BrVYRq-p.js:generic-api-key:122
76+
e2da93326e7b16ec63a74d2296d6245763af8be6:packages/valory/skills/chatui/skill.yaml:generic-api-key:114
77+
e2da93326e7b16ec63a74d2296d6245763af8be6:packages/valory/skills/chatui/skill.yaml:generic-api-key:125
78+
09ce040b18be35ae6243995dfd25704d8ca8d000:packages/valory/skills/market_manager_abci/tests/test_utils.py:generic-api-key:42
79+
1dbefdf26b25a8fe3939644929f9b6c4ece7baca:packages/valory/skills/market_manager_abci/tests/test_utils.py:generic-api-key:42
80+
f160f09d6635ffe7878a00ee0a54fcc1f447ccc5:packages/valory/skills/market_manager_abci/tests/test_utils.py:generic-api-key:42
81+
4fc9325a5620d4f70742e390dcdd6db52b8ffe22:packages/valory/skills/market_manager_abci/tests/test_utils.py:generic-api-key:42

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,4 +161,4 @@ build-agent-runner-mac:
161161
--onefile pyinstaller/trader_bin.py \
162162
--codesign-identity "${SIGN_ID}" \
163163
--name agent_runner_bin
164-
./dist/agent_runner_bin 1>/dev/null
164+
./dist/agent_runner_bin 1>/dev/null

packages/packages.json

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@
1414
"contract/valory/mech_activity/0.1.0": "bafybeib3fsk4vaigytomohw6hovems7sr4nsbwlfm52724st5eorail444",
1515
"contract/valory/staking_token/0.1.0": "bafybeigzerw3sxvrd4y6g4b5j6duqbjvxmqvarf2m5xovjsthhxyogpypm",
1616
"contract/valory/relayer/0.1.0": "bafybeihypuljybkocl6iiacy52py7i5iqxdli3ily66q7b3nego4qajvne",
17-
"contract/valory/market_maker/0.1.0": "bafybeiepwclhyg7oo7wcffmben42wmwrxgb4ovoomw2zbjqljcy7b2neke",
18-
"skill/valory/market_manager_abci/0.1.0": "bafybeihievdcieyf5lad7iamrgkuahxlcjyuqc4kzomi4chcy2pap47ehu",
19-
"skill/valory/decision_maker_abci/0.1.0": "bafybeidqcrm6wvbvlxmai32zmj3vrvf4qnjzn3pm4g2o4cqen6f3avt35e",
20-
"skill/valory/trader_abci/0.1.0": "bafybeifstfmmlhado5m4uds75orhbzxeynydfhbumceddksgdvjgylnjju",
21-
"skill/valory/tx_settlement_multiplexer_abci/0.1.0": "bafybeignhce5zsyzdqi3sqtk6ayymrqbr44mkmhv3o5oa4e7ydhvlibtca",
17+
"contract/valory/market_maker/0.1.0": "bafybeigzfyzbixum5cqvcbyc24dqwce25dr6nyqvgjm2eqpt6tgo2perd4",
18+
"skill/valory/market_manager_abci/0.1.0": "bafybeigzbjix5utljmbw5nqhw3tkozlb6r73urutdpxtefge4ijdwqqwuq",
19+
"skill/valory/decision_maker_abci/0.1.0": "bafybeidnk3j46n57yuytiyxidcexvp6htymwbgxduxwhqrofqupsdro2ii",
20+
"skill/valory/trader_abci/0.1.0": "bafybeidynr2wrodygexag5dqj2bl7sxnu7i7mvue3ipvtljx66mmueudee",
21+
"skill/valory/tx_settlement_multiplexer_abci/0.1.0": "bafybeicse7mucign56twhsfg2faek7fqk7kpltt6alzmowo5ywtmazudky",
2222
"skill/valory/staking_abci/0.1.0": "bafybeifupwkfbxa4c4jogpudvzwt5rkgfuedgd65sj2bf2z5ver4phq64m",
23-
"skill/valory/check_stop_trading_abci/0.1.0": "bafybeie7jbl24emwbujs34yojjaooyn5niuh3aqagv3nlqg4dg5rkuxyci",
24-
"agent/valory/trader/0.1.0": "bafybeictgxhla4ka5hzqdntz7zouiz67zfuycuamalkhkwejml6waopxfa",
25-
"service/valory/trader/0.1.0": "bafybeia3hrzdu24b3vormqkdg5tkw7gwkvw6tc72mr3hr4pcj6inz6lyna",
26-
"service/valory/trader_pearl/0.1.0": "bafybeiamxr3esurkaedj2becn3k3txwnlzr6le4zpgjszd27hmk33kjps4"
23+
"skill/valory/check_stop_trading_abci/0.1.0": "bafybeibb4gq5u4w6dmabdgsaffsispamxbgkm27oc3llclyvtwezc3df5q",
24+
"agent/valory/trader/0.1.0": "bafybeigjkxarqcmilwcj23ucsrahgoafvohomv7s6uiqttjdooqocjztea",
25+
"service/valory/trader/0.1.0": "bafybeigavavxqzph4chfiperwo4ygmoekmgbgwwtlxggt43w7mgdyctq64",
26+
"service/valory/trader_pearl/0.1.0": "bafybeidugmpnwbxyfe74dli7cgs27kjwirvlw2ufqeuyqqbrbzktoklfsi"
2727
},
2828
"third_party": {
2929
"protocol/valory/acn_data_share/0.1.0": "bafybeih5ydonnvrwvy2ygfqgfabkr47s4yw3uqxztmwyfprulwfsoe7ipq",
@@ -35,29 +35,31 @@
3535
"protocol/valory/acn/1.1.0": "bafybeic6h55ov5lrzbah6fate54c4u6spopcexxspw3abotbmffabfddeu",
3636
"protocol/valory/tendermint/0.1.0": "bafybeigydrbfrlmr4f7shbtqx44kvmbg22im27mxdap2e3m5tkti6t445y",
3737
"protocol/valory/ipfs/0.1.0": "bafybeifi2nri7sprmkez4rqzwb4lnu6peoy3bax5k6asf6k5ms7kmjpmkq",
38+
"protocol/valory/srr/0.1.0": "bafybeihrixgptxuqpf2s4nujypwlv5aed2nboozq5kl4c26cxw6r7si2x4",
3839
"contract/valory/agent_registry/0.1.0": "bafybeia2eoorxpsfwnd2dnvgt2v3xxqez6d4zyxvqpnwo5oydcgxkr2uni",
3940
"contract/valory/complementary_service_metadata/0.1.0": "bafybeibu65wpdsbrbrt2wnf2lr3psy26jiaomyjkg4twbupve7o3kso2aa",
4041
"contract/valory/gnosis_safe_proxy_factory/0.1.0": "bafybeidfvyc6bw4uigv3jfcxr23vysctki6x5rh5htp2azhncib27ydxdm",
4142
"contract/valory/gnosis_safe/0.1.0": "bafybeibgpgpi7w6xtxg3zr7tye3f6g6tu7fnvy7yxlgunbjqin3ou7e5pi",
4243
"contract/valory/mech/0.1.0": "bafybeib32m5zriagivlj7insajfs4jm5o5h53eym32wjjjp6qwv4lzl3pu",
44+
"contract/valory/mech_marketplace/0.1.0": "bafybeiar6rga33fkh5krhny5grcvpdbrpqglexle67am3livz35ksjiquq",
4345
"contract/valory/mech_mm/0.1.0": "bafybeibbz2hlyvtg6yfojzdnou2xqbpu32a4mjvn2xidfypvwy5oj6gx4u",
4446
"contract/valory/service_registry/0.1.0": "bafybeigaginvk2i6rycppfomk6tldkvunik6atuxtjpuuw6ndckymcojne",
4547
"contract/valory/multisend/0.1.0": "bafybeig5byt5urg2d2bsecufxe5ql7f4mezg3mekfleeh32nmuusx66p4y",
4648
"contract/valory/erc20/0.1.0": "bafybeifyjub3v62r53by76u7cli7oqvg5qukb4e6gaa62z34euqfwnrsvi",
47-
"contract/valory/mech_marketplace/0.1.0": "bafybeiccn4ohizw2wrjt7goidiakfik26ugm735lnm3fna3khko7qgkawm",
4849
"contract/valory/mech_marketplace_legacy/0.1.0": "bafybeiafwem7v7po7xb7rag4zfdqe2uoaqki3xybviciypxr5w6zkoxgse",
4950
"connection/valory/abci/0.1.0": "bafybeidn5gc6y3a6tkhgv753kkiub3mfas3tkemm4fs7i4kc4klkjlxpui",
5051
"connection/valory/http_client/0.23.0": "bafybeid5ffvg76ejjoese7brj5ji3lx66cu7p2ixfwflpo6rgofkypfd7y",
5152
"connection/valory/ledger/0.19.0": "bafybeibdsjmy4w2eyilbqc7yzutopl65qpeyspxwz7mjvirr52twhjlf5y",
5253
"connection/valory/p2p_libp2p_client/0.1.0": "bafybeic6ayusdwy4dks75njwk32ac7ur7salgllwf4fdc34ue5z2k5iz4q",
5354
"connection/valory/ipfs/0.1.0": "bafybeiamz23olgtow4wqf7zpsfnfzf7pxiognrxl2mhn5kvqutlwhgukxa",
5455
"connection/valory/http_server/0.22.0": "bafybeic3jpkum7g6qo6x6vdrmvvhj7vqw7ec2op72uc3yfhmnlp5hn3joy",
56+
"connection/dvilela/genai/0.1.0": "bafybeihp6t4y7mynitwj3afwet2lr5ittrqmk4hop7ycmgyyx3nqkc5sty",
5557
"skill/valory/abstract_abci/0.1.0": "bafybeibfsmbjasqnb3lgmwj7dlxvlfbngdyqc7a4n5q2g7phvmv4ktehq4",
5658
"skill/valory/reset_pause_abci/0.1.0": "bafybeiachgo6reit2q4jw75mefw2acj4ldedeqmn3rewjm4dbzts2l7oxe",
5759
"skill/valory/registration_abci/0.1.0": "bafybeidqadl26x5prbjgnkqrvjnbqxpo75jttm7vlvpgkoqghs5677rw5i",
5860
"skill/valory/abstract_round_abci/0.1.0": "bafybeiey45kkbniukmtpdjduwazpyygaiayeo7mh3tu6wfbau2bxvuljmy",
5961
"skill/valory/transaction_settlement_abci/0.1.0": "bafybeic2ywzpwkyeqbzsvkbvurhsptemam4xtceihax2tmxmlxtgd3xpya",
6062
"skill/valory/termination_abci/0.1.0": "bafybeibtbboau3q5fxfviwm7lbeix4z55uptfqqiyiu6siivxwkp3o5pju",
61-
"skill/valory/mech_interact_abci/0.1.0": "bafybeigkizx3ecohtyshr6tq55zvp4sl5cou344a2t6nvwfgund4xnrj4a"
63+
"skill/valory/mech_interact_abci/0.1.0": "bafybeib6hw4c6u56j2xrfdj6vsr27ppkpzmsmrlflhsvkq42ifol45crni"
6264
}
6365
}

packages/valory/agents/trader/aea-config.yaml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@ connections:
1515
- valory/ledger:0.19.0:bafybeibdsjmy4w2eyilbqc7yzutopl65qpeyspxwz7mjvirr52twhjlf5y
1616
- valory/p2p_libp2p_client:0.1.0:bafybeic6ayusdwy4dks75njwk32ac7ur7salgllwf4fdc34ue5z2k5iz4q
1717
- valory/http_server:0.22.0:bafybeic3jpkum7g6qo6x6vdrmvvhj7vqw7ec2op72uc3yfhmnlp5hn3joy
18+
- dvilela/genai:0.1.0:bafybeihp6t4y7mynitwj3afwet2lr5ittrqmk4hop7ycmgyyx3nqkc5sty
1819
contracts:
1920
- valory/gnosis_safe:0.1.0:bafybeibgpgpi7w6xtxg3zr7tye3f6g6tu7fnvy7yxlgunbjqin3ou7e5pi
2021
- valory/gnosis_safe_proxy_factory:0.1.0:bafybeidfvyc6bw4uigv3jfcxr23vysctki6x5rh5htp2azhncib27ydxdm
2122
- valory/service_registry:0.1.0:bafybeigaginvk2i6rycppfomk6tldkvunik6atuxtjpuuw6ndckymcojne
22-
- valory/market_maker:0.1.0:bafybeiepwclhyg7oo7wcffmben42wmwrxgb4ovoomw2zbjqljcy7b2neke
23+
- valory/market_maker:0.1.0:bafybeigzfyzbixum5cqvcbyc24dqwce25dr6nyqvgjm2eqpt6tgo2perd4
2324
- valory/multisend:0.1.0:bafybeig5byt5urg2d2bsecufxe5ql7f4mezg3mekfleeh32nmuusx66p4y
2425
- valory/mech:0.1.0:bafybeib32m5zriagivlj7insajfs4jm5o5h53eym32wjjjp6qwv4lzl3pu
2526
- valory/conditional_tokens:0.1.0:bafybeiai7zwtdab2izyitvxph42kwtbvx6n5skm3i6jijd2653xjkoqd24
@@ -31,7 +32,7 @@ contracts:
3132
- valory/erc20:0.1.0:bafybeifyjub3v62r53by76u7cli7oqvg5qukb4e6gaa62z34euqfwnrsvi
3233
- valory/staking_token:0.1.0:bafybeigzerw3sxvrd4y6g4b5j6duqbjvxmqvarf2m5xovjsthhxyogpypm
3334
- valory/mech_activity:0.1.0:bafybeib3fsk4vaigytomohw6hovems7sr4nsbwlfm52724st5eorail444
34-
- valory/mech_marketplace:0.1.0:bafybeiccn4ohizw2wrjt7goidiakfik26ugm735lnm3fna3khko7qgkawm
35+
- valory/mech_marketplace:0.1.0:bafybeiar6rga33fkh5krhny5grcvpdbrpqglexle67am3livz35ksjiquq
3536
- valory/relayer:0.1.0:bafybeihypuljybkocl6iiacy52py7i5iqxdli3ily66q7b3nego4qajvne
3637
- valory/mech_marketplace_legacy:0.1.0:bafybeiafwem7v7po7xb7rag4zfdqe2uoaqki3xybviciypxr5w6zkoxgse
3738
- valory/mech_mm:0.1.0:bafybeibbz2hlyvtg6yfojzdnou2xqbpu32a4mjvn2xidfypvwy5oj6gx4u
@@ -46,20 +47,21 @@ protocols:
4647
- valory/ledger_api:1.0.0:bafybeihmqzcbj6t7vxz2aehd5726ofnzsfjs5cwlf42ro4tn6i34cbfrc4
4748
- valory/tendermint:0.1.0:bafybeigydrbfrlmr4f7shbtqx44kvmbg22im27mxdap2e3m5tkti6t445y
4849
- valory/acn_data_share:0.1.0:bafybeih5ydonnvrwvy2ygfqgfabkr47s4yw3uqxztmwyfprulwfsoe7ipq
50+
- valory/srr:0.1.0:bafybeihrixgptxuqpf2s4nujypwlv5aed2nboozq5kl4c26cxw6r7si2x4
4951
skills:
5052
- valory/abstract_abci:0.1.0:bafybeibfsmbjasqnb3lgmwj7dlxvlfbngdyqc7a4n5q2g7phvmv4ktehq4
5153
- valory/abstract_round_abci:0.1.0:bafybeiey45kkbniukmtpdjduwazpyygaiayeo7mh3tu6wfbau2bxvuljmy
5254
- valory/registration_abci:0.1.0:bafybeidqadl26x5prbjgnkqrvjnbqxpo75jttm7vlvpgkoqghs5677rw5i
5355
- valory/reset_pause_abci:0.1.0:bafybeiachgo6reit2q4jw75mefw2acj4ldedeqmn3rewjm4dbzts2l7oxe
5456
- valory/termination_abci:0.1.0:bafybeibtbboau3q5fxfviwm7lbeix4z55uptfqqiyiu6siivxwkp3o5pju
5557
- valory/transaction_settlement_abci:0.1.0:bafybeic2ywzpwkyeqbzsvkbvurhsptemam4xtceihax2tmxmlxtgd3xpya
56-
- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeignhce5zsyzdqi3sqtk6ayymrqbr44mkmhv3o5oa4e7ydhvlibtca
57-
- valory/market_manager_abci:0.1.0:bafybeihievdcieyf5lad7iamrgkuahxlcjyuqc4kzomi4chcy2pap47ehu
58-
- valory/decision_maker_abci:0.1.0:bafybeidqcrm6wvbvlxmai32zmj3vrvf4qnjzn3pm4g2o4cqen6f3avt35e
59-
- valory/trader_abci:0.1.0:bafybeifstfmmlhado5m4uds75orhbzxeynydfhbumceddksgdvjgylnjju
58+
- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeicse7mucign56twhsfg2faek7fqk7kpltt6alzmowo5ywtmazudky
59+
- valory/market_manager_abci:0.1.0:bafybeigzbjix5utljmbw5nqhw3tkozlb6r73urutdpxtefge4ijdwqqwuq
60+
- valory/decision_maker_abci:0.1.0:bafybeidnk3j46n57yuytiyxidcexvp6htymwbgxduxwhqrofqupsdro2ii
61+
- valory/trader_abci:0.1.0:bafybeidynr2wrodygexag5dqj2bl7sxnu7i7mvue3ipvtljx66mmueudee
6062
- valory/staking_abci:0.1.0:bafybeifupwkfbxa4c4jogpudvzwt5rkgfuedgd65sj2bf2z5ver4phq64m
61-
- valory/check_stop_trading_abci:0.1.0:bafybeie7jbl24emwbujs34yojjaooyn5niuh3aqagv3nlqg4dg5rkuxyci
62-
- valory/mech_interact_abci:0.1.0:bafybeigkizx3ecohtyshr6tq55zvp4sl5cou344a2t6nvwfgund4xnrj4a
63+
- valory/check_stop_trading_abci:0.1.0:bafybeibb4gq5u4w6dmabdgsaffsispamxbgkm27oc3llclyvtwezc3df5q
64+
- valory/mech_interact_abci:0.1.0:bafybeib6hw4c6u56j2xrfdj6vsr27ppkpzmsmrlflhsvkq42ifol45crni
6365
customs:
6466
- valory/mike_strat:0.1.0:bafybeihjiol7f4ch4piwfikurdtfwzsh6qydkbsztpbwbwb2yrqdqf726m
6567
- valory/bet_amount_per_threshold:0.1.0:bafybeihsjx7we6b2scjt7777xmjte36rrubblusitqsipjhkttk4cmf5iu
@@ -257,6 +259,8 @@ models:
257259
tool_quarantine_duration: ${int:10800}
258260
default_chain_id: ${str:gnosis}
259261
mech_interact_round_timeout_seconds: ${int:5400}
262+
enable_position_review: ${bool:true}
263+
review_period_seconds: ${int:86400}
260264
use_multi_bets_mode: ${bool:true}
261265
benchmarking_mode:
262266
args:
@@ -410,3 +414,8 @@ config:
410414
host: ${str:0.0.0.0}
411415
port: ${int:8716}
412416
target_skill_id: valory/trader_abci:0.1.0
417+
---
418+
public_id: dvilela/genai:0.1.0:bafybeicblltx7ha3ulthg7bzfccuqqyjmihhrvfeztlgrlcoxhr7kf6nbq
419+
type: connection
420+
config:
421+
genai_api_key: ${str:null}

packages/valory/contracts/market_maker/contract.py

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# -*- coding: utf-8 -*-
22
# ------------------------------------------------------------------------------
33
#
4-
# Copyright 2023 Valory AG
4+
# Copyright 2023-2025 Valory AG
55
#
66
# Licensed under the Apache License, Version 2.0 (the "License");
77
# you may not use this file except in compliance with the License.
@@ -133,3 +133,53 @@ def get_buy_data(
133133
outcomeIndex=outcome_index,
134134
minOutcomeTokensToBuy=min_outcome_tokens_to_buy,
135135
)
136+
137+
@classmethod
138+
def calc_sell_amount(
139+
cls,
140+
ledger_api: EthereumApi,
141+
contract_address: str,
142+
return_amount: int,
143+
outcome_index: int,
144+
) -> JSONLike:
145+
"""
146+
Calculate the sell amount.
147+
:param ledger_api: the ledger API object
148+
:param contract_address: the contract address
149+
:param return_amount: the amount the user will have returned
150+
:param outcome_index: the index of the answer's outcome that the user wants to sell for
151+
:return: the outcomeTokenSellAmount
152+
"""
153+
outcome_token_sell_amount = cls._method_call(
154+
ledger_api,
155+
contract_address,
156+
"calcSellAmount",
157+
returnAmount=return_amount,
158+
outcomeIndex=outcome_index,
159+
)
160+
return dict(amount=outcome_token_sell_amount)
161+
162+
@classmethod
163+
def get_sell_data(
164+
cls,
165+
ledger_api: LedgerApi,
166+
contract_address: str,
167+
return_amount: int,
168+
outcome_index: int,
169+
max_outcome_tokens_to_sell: int,
170+
) -> Dict[str, bytes]:
171+
"""Gets the encoded arguments for a sell tx, which should only be called via the multisig.
172+
:param ledger_api: the ledger API object
173+
:param contract_address: the contract address
174+
:param return_amount: the amount the user have returned
175+
:param outcome_index: the index of the answer's outcome that the user wants to sell tokens for
176+
:param max_outcome_tokens_to_sell: the output of the `calcSellAmount` contract method
177+
"""
178+
return cls._encode_abi(
179+
ledger_api,
180+
contract_address,
181+
"sell",
182+
returnAmount=return_amount,
183+
outcomeIndex=outcome_index,
184+
maxOutcomeTokensToSell=max_outcome_tokens_to_sell,
185+
)

packages/valory/contracts/market_maker/contract.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ fingerprint:
99
README.md: bafybeiegnihrovfkk5big52pl4bo6evt5toqvvmft2jgnq6ofdbhfp7xwa
1010
__init__.py: bafybeicoucixii3fv5xlpk3zfewm4ys4okidcng54bhtjxvwup7g2jcjza
1111
build/FixedProductMarketMaker.json: bafybeigim7n3f67r5czfc5wp2m7cxzxwvnhxops3n5j2zlawenan7qrrtu
12-
contract.py: bafybeicfiicuke4ly5hpcxtyvnob5bgzrqsopuxalruxp2m3w4koxmhrqa
12+
contract.py: bafybeie5feeeqx7yvpfugnqqdl7zkbqjziyuxyuidt5m6vftfwceh7c6dy
1313
fingerprint_ignore_patterns: []
1414
contracts: []
1515
class_name: FixedProductMarketMakerContract

packages/valory/services/trader/service.yaml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ license: Apache-2.0
77
fingerprint:
88
README.md: bafybeigtuothskwyvrhfosps2bu6suauycolj67dpuxqvnicdrdu7yhtvq
99
fingerprint_ignore_patterns: []
10-
agent: valory/trader:0.1.0:bafybeictgxhla4ka5hzqdntz7zouiz67zfuycuamalkhkwejml6waopxfa
10+
agent: valory/trader:0.1.0:bafybeigjkxarqcmilwcj23ucsrahgoafvohomv7s6uiqttjdooqocjztea
1111
number_of_agents: 4
1212
deployment:
1313
agent:
@@ -122,6 +122,8 @@ type: skill
122122
staking_interaction_sleep_time: ${STAKING_INTERACTION_SLEEP_TIME:int:5}
123123
disable_trading: ${DISABLE_TRADING:bool:false}
124124
stop_trading_if_staking_kpi_met: ${STOP_TRADING_IF_STAKING_KPI_MET:bool:true}
125+
enable_position_review: ${ENABLE_POSITION_REVIEW:bool:false}
126+
review_period_seconds: ${REVIEW_PERIOD_SECONDS:int:86400}
125127
agent_balance_threshold: ${AGENT_BALANCE_THRESHOLD:int:10000000000000000}
126128
refill_check_interval: ${REFILL_CHECK_INTERVAL:int:10}
127129
tool_punishment_multiplier: ${TOOL_PUNISHMENT_MULTIPLIER:int:1}
@@ -381,6 +383,8 @@ type: skill
381383
default_chain_id: ${DEFAULT_CHAIN_ID:str:gnosis}
382384
mech_interact_round_timeout_seconds: ${MECH_INTERACT_ROUND_TIMEOUT_SECONDS:int:1800}
383385
use_multi_bets_mode: ${USE_MULTI_BETS_MODE:bool:true}
386+
enable_position_review: ${ENABLE_POSITION_REVIEW:bool:false}
387+
review_period_seconds: ${REVIEW_PERIOD_SECONDS:int:86400}
384388
benchmark_tool: *id003
385389
acc_info_fields: *id004
386390
network_subgraph: *id005
@@ -508,6 +512,8 @@ type: skill
508512
default_chain_id: ${DEFAULT_CHAIN_ID:str:gnosis}
509513
mech_interact_round_timeout_seconds: ${MECH_INTERACT_ROUND_TIMEOUT_SECONDS:int:1800}
510514
use_multi_bets_mode: ${USE_MULTI_BETS_MODE:bool:true}
515+
enable_position_review: ${ENABLE_POSITION_REVIEW:bool:false}
516+
review_period_seconds: ${REVIEW_PERIOD_SECONDS:int:86400}
511517
benchmark_tool: *id003
512518
acc_info_fields: *id004
513519
network_subgraph: *id005
@@ -635,6 +641,8 @@ type: skill
635641
default_chain_id: ${DEFAULT_CHAIN_ID:str:gnosis}
636642
mech_interact_round_timeout_seconds: ${MECH_INTERACT_ROUND_TIMEOUT_SECONDS:int:1800}
637643
use_multi_bets_mode: ${USE_MULTI_BETS_MODE:bool:true}
644+
enable_position_review: ${ENABLE_POSITION_REVIEW:bool:false}
645+
review_period_seconds: ${REVIEW_PERIOD_SECONDS:int:86400}
638646
benchmark_tool: *id003
639647
acc_info_fields: *id004
640648
network_subgraph: *id005
@@ -703,3 +711,8 @@ config:
703711
host: ${HTTP_SERVER_HOST:str:0.0.0.0}
704712
port: ${HTTP_SERVER_PORT:int:8716}
705713
target_skill_id: valory/trader_abci:0.1.0
714+
---
715+
public_id: dvilela/genai:0.1.0:bafybeicblltx7ha3ulthg7bzfccuqqyjmihhrvfeztlgrlcoxhr7kf6nbq
716+
type: connection
717+
config:
718+
genai_api_key: ${GENAI_API_KEY:str:null}

0 commit comments

Comments
 (0)