Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/liquidity info #281

Merged
merged 44 commits into from
Jul 3, 2024
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
864024d
implementing liquidity info as shared memory info
cyberosa Jun 18, 2024
55c6c2a
Liquidity information at the benchmarking pipeline
cyberosa Jun 18, 2024
9dda954
updating packages
cyberosa Jun 19, 2024
14bf941
dictionaries at the SharedState and new hashes
cyberosa Jun 19, 2024
b90b1ec
Adding logs
cyberosa Jun 19, 2024
4f2e08c
updating hashes
cyberosa Jun 19, 2024
681ab65
new hashes
cyberosa Jun 19, 2024
06d858a
new hashes
cyberosa Jun 19, 2024
7292294
None liquidity values for the benchmarking results
cyberosa Jun 19, 2024
791b42b
merge with main
cyberosa Jun 19, 2024
359ab23
Fixing token prices formulas and default token prices
cyberosa Jun 19, 2024
bfddaea
updating hashes
cyberosa Jun 19, 2024
46f1909
cleaning
cyberosa Jun 19, 2024
6fe22a0
fixing pylint
cyberosa Jun 19, 2024
df312c5
updating hashes
cyberosa Jun 19, 2024
4ccf048
merge with main
cyberosa Jun 20, 2024
5254878
cleaning and liquidity info class
cyberosa Jun 20, 2024
c9f26e5
cleaning
cyberosa Jun 20, 2024
3af8042
updating hashes
cyberosa Jun 20, 2024
d0a19d4
Fixing some mypy warnings
cyberosa Jun 20, 2024
0f8ca2e
using net bet amount instead of bet amount
cyberosa Jun 20, 2024
3a0ebc2
fixing mypy
cyberosa Jun 20, 2024
a8d5407
Refactoring update liquidity info
cyberosa Jun 21, 2024
f7efe70
updating hashes
cyberosa Jun 21, 2024
bf8cb69
Update packages/valory/skills/decision_maker_abci/behaviours/base.py
cyberosa Jun 24, 2024
ac069f8
test: add test for wei to native conversion
Adamantios Jun 4, 2024
4e817ec
test: add test for `collateral_amount_info`
Adamantios Jun 4, 2024
a27eb32
test: add test for `_mock_balance_check`
Adamantios Jun 5, 2024
e9f7644
merge with main
cyberosa Jun 24, 2024
aed9822
updating hashes
cyberosa Jun 24, 2024
caad3c9
solving merge conflicts
cyberosa Jun 24, 2024
0c6e99b
solving merge conflicts
cyberosa Jun 24, 2024
785f887
Fixing skill
cyberosa Jun 24, 2024
adf8cde
Fixing skill
cyberosa Jun 24, 2024
db96372
updating hashes
cyberosa Jun 24, 2024
eb36e9f
changes on the PR
cyberosa Jun 24, 2024
a23e667
fix writing int instead of str into the csv file
cyberosa Jun 24, 2024
e073601
updating hashes
cyberosa Jun 24, 2024
bede5d5
merge with main
cyberosa Jul 3, 2024
4f37b32
merge with main and hashes updated
cyberosa Jul 3, 2024
736a9a2
fix: apply the suggestions in #281
Adamantios Jul 3, 2024
83dbcb0
chore: run generators
Adamantios Jul 3, 2024
bc90d8c
Merge remote-tracking branch 'origin/feat/liquidity_info' into feat/l…
Adamantios Jul 3, 2024
8cfa1ed
fix: correct the dependency's name
Adamantios Jul 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions packages/packages.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@
"contract/valory/staking_token/0.1.0": "bafybeig4fl35dn7d5gnprux2nwsqbirm7zkiujz3xvrwcjuktz6hkq4as4",
"contract/valory/relayer/0.1.0": "bafybeiaabvxim4blp5fxb6qjlzjivtvkme3fk24h5jte7w6vr6rsx72j6u",
"skill/valory/market_manager_abci/0.1.0": "bafybeicbvxvjkoksbknujaid5hx7krjlgm6barcjcwo33tdccanrcp674a",
"skill/valory/decision_maker_abci/0.1.0": "bafybeibt44wsyruovefpezbuean5rnzccd44zwge2xsddpbp6fevphu2ui",
"skill/valory/trader_abci/0.1.0": "bafybeig6zcnrmosil45k3crl2le5mxx5gnnsvktjh3oil3a2xigl76gr7m",
"skill/valory/tx_settlement_multiplexer_abci/0.1.0": "bafybeiddh2iqcn355syeqalmq2hdpczfcx6wijnvtpfie5gi6hasprstii",
"skill/valory/decision_maker_abci/0.1.0": "bafybeiagf2jfpabxjkyrjnwfcgda7pbqznqozxcpmo3p7fnpt7spoz32nm",
"skill/valory/trader_abci/0.1.0": "bafybeiesphchobcxdwknddqc4fetafgsjqhcor7xbrbwqbqveqyagggimq",
"skill/valory/tx_settlement_multiplexer_abci/0.1.0": "bafybeicjkk62en6pt4ox3tbuif44jsngvx4jbkuiez22snupaahlmi4qgm",
"skill/valory/staking_abci/0.1.0": "bafybeidubhfvlf6x627t4wetc6ran5sb4pttjphyhv6vefp2a4kcuca2be",
"skill/valory/check_stop_trading_abci/0.1.0": "bafybeie6vnp4oovs3k6qnqjcjcjiok6u2uu4dkyd5gqibu77zxpcmztbnq",
"agent/valory/trader/0.1.0": "bafybeihii7hnxv5pbrb25f5suh5eye62qnjlcy5oq2kpjchxppwwm62mre",
"service/valory/trader/0.1.0": "bafybeidzuea526pcth73sftqxjebhq47s6vo5dhmxzlryyl7lh3etj7gpe",
"service/valory/trader_omen_gnosis/0.1.0": "bafybeid2bg4ypzwqrd3etfwmwlvopyh2muuflbgp3ji6nzz2lzbmmytgty"
"agent/valory/trader/0.1.0": "bafybeiejfunycirofkqx3ffd4fbyiqqlj3fk6rql3m52l7uctooziv7mdq",
"service/valory/trader/0.1.0": "bafybeicvcwkiljic7bswposmpj2iqhmxmiq3msisbcruorjj376vdhdyoy",
"service/valory/trader_omen_gnosis/0.1.0": "bafybeian2i3mukj7f6f4v6si66fdi3gpji4uidi2axeb7355oobvnsyprq"
},
"third_party": {
"protocol/open_aea/signing/1.0.0": "bafybeihv62fim3wl2bayavfcg3u5e5cxu3b7brtu4cn5xoxd6lqwachasi",
Expand Down
6 changes: 3 additions & 3 deletions packages/valory/agents/trader/aea-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ skills:
- valory/reset_pause_abci:0.1.0:bafybeiameewywqigpupy3u2iwnkfczeiiucue74x2l5lbge74rmw6bgaie
- valory/termination_abci:0.1.0:bafybeif2zim2de356eo3sipkmoev5emwadpqqzk3huwqarywh4tmqt3vzq
- valory/transaction_settlement_abci:0.1.0:bafybeic3tccdjypuge2lewtlgprwkbb53lhgsgn7oiwzyrcrrptrbeyote
- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeiddh2iqcn355syeqalmq2hdpczfcx6wijnvtpfie5gi6hasprstii
- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeicjkk62en6pt4ox3tbuif44jsngvx4jbkuiez22snupaahlmi4qgm
- valory/market_manager_abci:0.1.0:bafybeicbvxvjkoksbknujaid5hx7krjlgm6barcjcwo33tdccanrcp674a
- valory/decision_maker_abci:0.1.0:bafybeibt44wsyruovefpezbuean5rnzccd44zwge2xsddpbp6fevphu2ui
- valory/trader_abci:0.1.0:bafybeig6zcnrmosil45k3crl2le5mxx5gnnsvktjh3oil3a2xigl76gr7m
- valory/decision_maker_abci:0.1.0:bafybeiagf2jfpabxjkyrjnwfcgda7pbqznqozxcpmo3p7fnpt7spoz32nm
- valory/trader_abci:0.1.0:bafybeiesphchobcxdwknddqc4fetafgsjqhcor7xbrbwqbqveqyagggimq
- valory/staking_abci:0.1.0:bafybeidubhfvlf6x627t4wetc6ran5sb4pttjphyhv6vefp2a4kcuca2be
- valory/check_stop_trading_abci:0.1.0:bafybeie6vnp4oovs3k6qnqjcjcjiok6u2uu4dkyd5gqibu77zxpcmztbnq
- valory/mech_interact_abci:0.1.0:bafybeih2cck5xu6yaibomwtm5zbcp6llghr3ighdnk56fzwu3ihu5xx35e
Expand Down
4 changes: 2 additions & 2 deletions packages/valory/services/trader/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ license: Apache-2.0
fingerprint:
README.md: bafybeigtuothskwyvrhfosps2bu6suauycolj67dpuxqvnicdrdu7yhtvq
fingerprint_ignore_patterns: []
agent: valory/trader:0.1.0:bafybeihii7hnxv5pbrb25f5suh5eye62qnjlcy5oq2kpjchxppwwm62mre
agent: valory/trader:0.1.0:bafybeiejfunycirofkqx3ffd4fbyiqqlj3fk6rql3m52l7uctooziv7mdq
number_of_agents: 4
deployment:
agent:
Expand Down Expand Up @@ -150,7 +150,7 @@ type: skill
mech_cost: ${BENCHMARKING_MODE_MECH_COST:int:10000000000000000}
pool_fee: ${BENCHMARKING_MODE_POOL_FEE:int:20000000000000000}
outcome_token_amounts: ${OUTCOME_TOKEN_AMOUNTS:list:[11000000000000000000,9000000000000000000]}
outcome_token_marginal_prices: ${OUTCOME_TOKEN_MARGINAL_PRICES:list:[0.4,0.6]}
outcome_token_marginal_prices: ${OUTCOME_TOKEN_MARGINAL_PRICES:list:[0.55,0.45]}
sep: ${BENCHMARKING_MODE_SEP:str:,}
dataset_filename: ${BENCHMARKING_MODE_DATASET_FILENAME:str:benchmark_data.csv}
question_field: ${BENCHMARKING_MODE_QUESTION_FIELD:str:question}
Expand Down
2 changes: 1 addition & 1 deletion packages/valory/services/trader_omen_gnosis/service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ license: Apache-2.0
fingerprint:
README.md: bafybeibg7bdqpioh4lmvknw3ygnllfku32oca4eq5pqtvdrdsgw6buko7e
fingerprint_ignore_patterns: []
agent: valory/trader:0.1.0:bafybeihii7hnxv5pbrb25f5suh5eye62qnjlcy5oq2kpjchxppwwm62mre
agent: valory/trader:0.1.0:bafybeiejfunycirofkqx3ffd4fbyiqqlj3fk6rql3m52l7uctooziv7mdq
number_of_agents: 1
deployment:
agent:
Expand Down
21 changes: 21 additions & 0 deletions packages/valory/skills/decision_maker_abci/behaviours/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,12 @@
MultisendBatch,
P_NO_FIELD,
P_YES_FIELD,
L0_START_FIELD,
L1_START_FIELD,
L0_END_FIELD,
L1_END_FIELD,
SharedState,
LiquidityInfo,
)
from packages.valory.skills.decision_maker_abci.policy import EGreedyPolicy
from packages.valory.skills.decision_maker_abci.states.base import SynchronizedData
Expand Down Expand Up @@ -609,6 +614,8 @@ def _write_benchmark_results(
p_no: Optional[float] = None,
confidence: Optional[float] = None,
bet_amount: Optional[float] = None,
old_amounts: Optional[List[int]] = None,
new_amounts: Optional[List[int]] = None,
) -> None:
"""Write the results to the benchmarking file."""
mock_data = self.shared_state.mock_data
Expand All @@ -618,6 +625,12 @@ def _write_benchmark_results(
)
return

liquidity_info = LiquidityInfo()
if old_amounts is not None and new_amounts is not None:
liquidity_info.update_liquidity_amounts(old_amounts, new_amounts)
else:
self.context.logger.info("No market liquidity information.")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see you are using liquidity_info on line 663-666. If this is None, shouldnt we handle this case differently?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Corrected


add_headers = False
results_path = self.params.store_path / self.benchmarking_mode.results_filename
if not os.path.isfile(results_path):
Expand All @@ -633,6 +646,10 @@ def _write_benchmark_results(
P_NO_FIELD,
CONFIDENCE_FIELD,
self.benchmarking_mode.bet_amount_field,
L0_START_FIELD,
L1_START_FIELD,
L0_END_FIELD,
L1_END_FIELD,
)
row = ",".join(headers) + NEW_LINE
results_file.write(row)
Expand All @@ -647,6 +664,10 @@ def _write_benchmark_results(
p_no,
confidence,
bet_amount,
liquidity_info.l0_start,
liquidity_info.l1_start,
liquidity_info.l0_end,
liquidity_info.l1_end,
)
results_text = tuple(str(res) for res in results)
row = ",".join(results_text) + NEW_LINE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import csv
import json
from math import prod
from typing import Any, Dict, Generator, Optional, Tuple, Union
from typing import Any, Dict, Generator, Optional, Tuple, Union, List

from packages.valory.skills.decision_maker_abci.behaviours.base import (
DecisionMakerBaseBehaviour,
Expand Down Expand Up @@ -272,6 +272,99 @@ def _calc_binary_shares(

return num_shares, available_shares

def _get_mocked_bet(self) -> Bet:
"""Function to prepare the mocked bet based on liquidity info at the shared state"""
liquidity_amounts = self.shared_state.liquidity_amounts
liquidity_prices = self.shared_state.liquidity_prices
markets = list(liquidity_amounts.keys())
if self.shared_state.mock_data is not None:
question_id = self.shared_state.mock_data.id
else:
raise ValueError("No mocked data information")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is duplicated below, you may create a property for safely accessing the self.shared_state.mock_data.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without the BenchmarkingMockData there is no benchmarking mode so I guess this use-case is already covered in the code even before. No extra checks needed here.


# check if the question is at the dictionary
outcome_token_amounts = self.benchmarking_mode.outcome_token_amounts
outcome_token_prices = self.benchmarking_mode.outcome_token_marginal_prices
if question_id in markets: # read the previous information
outcome_token_amounts = liquidity_amounts[question_id]
outcome_token_prices = liquidity_prices[question_id]
else: # initializing liquidity info
liquidity_amounts[question_id] = outcome_token_amounts
liquidity_prices[question_id] = outcome_token_prices

self.context.logger.info(f"outcome token amounts: {outcome_token_amounts}")
self.context.logger.info(f"outcome token prices: {outcome_token_prices}")

mocked_bet = Bet(
id="",
market="",
title="",
collateralToken="",
creator="",
fee=self.benchmarking_mode.pool_fee,
openingTimestamp=0,
outcomeSlotCount=2,
outcomeTokenAmounts=outcome_token_amounts,
outcomeTokenMarginalPrices=outcome_token_prices,
outcomes=["Yes", "No"],
scaledLiquidityMeasure=10,
)
return mocked_bet

def _update_liquidity_info(
self, bet_amount: float, vote: int
) -> Tuple[List[int], List[int]]:
"""Function to update the liquidity information after placing a bet for a market
and to return the old and new prices"""
liquidity_amounts = self.shared_state.liquidity_amounts
liquidity_prices = self.shared_state.liquidity_prices
markets = list(liquidity_amounts.keys())
if self.shared_state.mock_data is not None:
question_id = self.shared_state.mock_data.id
else:
raise ValueError("No mocked data information")
if question_id not in markets:
raise ValueError(
f"The market id {question_id} is not at the shared state dictionary"
)

old_liquidity_amounts = liquidity_amounts[question_id]
selected_type_tokens_in_pool = old_liquidity_amounts[vote]
opposite_vote = vote ^ 1
other_tokens_in_pool = old_liquidity_amounts[opposite_vote]
self.context.logger.info(f"Voting for option = {vote}")
if vote == 0:
old_L0, old_L1 = selected_type_tokens_in_pool, other_tokens_in_pool
new_L0, new_L1 = old_L0 + bet_amount, old_L0 * old_L1 / (
old_L0 + bet_amount
)
else:
old_L0, old_L1 = other_tokens_in_pool, selected_type_tokens_in_pool
new_L0, new_L1 = (
old_L0 * old_L1 / (old_L1 + bet_amount),
old_L1 + bet_amount,
)
# new liquidity prices computed from the new amounts
new_p0 = new_L0 / (new_L0 + new_L1)
new_p1 = new_L1 / (new_L0 + new_L1)
liquidity_prices[question_id] = [new_p0, new_p1]
self.context.logger.info(
f"updating liquidity prices for question: {question_id}"
)
self.shared_state.liquidity_prices = liquidity_prices

# updating liquidity amounts
new_amounts = [int(new_L0), int(new_L1)]
liquidity_amounts[question_id] = new_amounts
old_amounts = [old_L0, old_L1]
self.context.logger.info(
f"updating liquidity amounts for question: {question_id}"
)
self.context.logger.info(f"New amounts={new_amounts}")
self.shared_state.liquidity_amounts = liquidity_amounts

return old_amounts, new_amounts

def _is_profitable(
self,
vote: int,
Expand All @@ -281,23 +374,11 @@ def _is_profitable(
confidence: float,
) -> Generator[None, None, Tuple[bool, int]]:
"""Whether the decision is profitable or not."""

bet = (
self.sampled_bet
if not self.benchmarking_mode.enabled
else Bet(
id="",
market="",
title="",
collateralToken="",
creator="",
fee=self.benchmarking_mode.pool_fee,
openingTimestamp=0,
outcomeSlotCount=2,
outcomeTokenAmounts=self.benchmarking_mode.outcome_token_amounts,
outcomeTokenMarginalPrices=self.benchmarking_mode.outcome_token_marginal_prices,
outcomes=["Yes", "No"],
scaledLiquidityMeasure=10,
)
else self._get_mocked_bet()
)
selected_type_tokens_in_pool, other_tokens_in_pool = self._get_bet_sample_info(
bet, vote
Expand Down Expand Up @@ -348,7 +429,12 @@ def _is_profitable(

if self.benchmarking_mode.enabled:
if is_profitable:
self._write_benchmark_results(p_yes, p_no, confidence, bet_amount)
old_amounts, new_amounts = self._update_liquidity_info(
net_bet_amount, vote
)
self._write_benchmark_results(
p_yes, p_no, confidence, bet_amount, old_amounts, new_amounts
)
else:
self._write_benchmark_results(p_yes, p_no, confidence)

Expand Down
50 changes: 40 additions & 10 deletions packages/valory/skills/decision_maker_abci/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@
P_YES_FIELD = "p_yes"
P_NO_FIELD = "p_no"
CONFIDENCE_FIELD = "confidence"
L0_START_FIELD = "l0_start"
L1_START_FIELD = "l1_start"
L0_END_FIELD = "l0_end"
L1_END_FIELD = "l1_end"
INFO_UTILITY_FIELD = "info_utility"


Expand All @@ -88,6 +92,29 @@ class PromptTemplate(Template):
BenchmarkTool = BaseBenchmarkTool


@dataclass
class LiquidityInfo:
"""The structure to have liquidity information before and after a bet is done"""

l0_start: Optional[int] = (
None # Liquidity of tokens for option 0, before placing the bet
)
l1_start: Optional[int] = (
None # Liquidity of tokens for option 1, before placing the bet
)
l0_end: Optional[int] = (
None # Liquidity of tokens for option 0, after placing the bet
)
l1_end: Optional[int] = (
None # Liquidity of tokens for option 1, after placing the bet
)

def update_liquidity_amounts(self, old_amounts: List[int], new_amounts: List[int]):
"""Function to update the liquidity amounts"""
self.l0_start, self.l0_end = old_amounts[0], new_amounts[0]
self.l1_start, self.l1_end = old_amounts[1], new_amounts[1]


@dataclass
class RedeemingProgress:
"""A structure to keep track of the redeeming check progress."""
Expand Down Expand Up @@ -163,6 +190,9 @@ def __init__(self, *args: Any, skill_context: SkillContext, **kwargs: Any) -> No
self.in_flight_req: bool = False
self.req_to_callback: Dict[str, Callable] = {}
self.mock_data: Optional[BenchmarkingMockData] = None
# latest liquidity information
self.liquidity_amounts: Dict[str, List[int]] = {}
self.liquidity_prices: Dict[str, List[float]] = {}

def setup(self) -> None:
"""Set up the model."""
Expand Down Expand Up @@ -300,11 +330,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]] = (
nested_list_todict_workaround(
kwargs,
"file_hash_to_strategies_json",
)
)
self.strategies_kwargs: Dict[str, List[Any]] = nested_list_todict_workaround(
kwargs, "strategies_kwargs"
Expand All @@ -316,11 +346,11 @@ 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,
"mech_to_subscription_params",
self.mech_to_subscription_params: Dict[str, Any] = (
nested_list_todict_workaround(
kwargs,
"mech_to_subscription_params",
)
)
self.service_endpoint = self._ensure("service_endpoint", kwargs, str)
super().__init__(*args, **kwargs)
Expand Down
6 changes: 3 additions & 3 deletions packages/valory/skills/decision_maker_abci/skill.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ fingerprint:
README.md: bafybeia367zzdwndvlhw27rvnwodytjo3ms7gbc3q7mhrrjqjgfasnk47i
__init__.py: bafybeih563ujnigeci2ldzh7hakbau6a222vsed7leg3b7lq32vcn3nm4a
behaviours/__init__.py: bafybeih6ddz2ocvm6x6ytvlbcz6oi4snb5ee5xh5h65nq4w2qf7fd7zfky
behaviours/base.py: bafybeie2a3p2aimyizrofos5y55ha7peyyf657phcknllf7kuv6u6ojgca
behaviours/base.py: bafybeigpy7ru7es6gfbguu66sn4mu6ztsabudk5huzpfmvoeqhnpnlm5e4
behaviours/bet_placement.py: bafybeia62an6dpkf6b46fzc4epcyh3zuvpvoge3ewmussclxbldjf3bdue
behaviours/blacklisting.py: bafybeiascy4axrqofvv3yivpxxdhkkoe2loyidl46el35wqfjbb6lm6hha
behaviours/check_benchmarking.py: bafybeiao2lyj7apezkqrpgsyzb3dwvrdgsrgtprf6iuhsmlsufvxfl5bci
behaviours/claim_subscription.py: bafybeihv5dg74deifzk46ppdwcvz6lgamgl6m7qr6sgqv2zie35j2576ca
behaviours/decision_receive.py: bafybeiggpof3f6b5epdoywyfpi6xhnrdy5brbsjfq2r6bww2cusqcqb7g4
behaviours/decision_receive.py: bafybeif3reiytazss2bwt5xholzmrsmop6bo253j5xs65mkatbd4x7esyy
behaviours/decision_request.py: bafybeiabjzzcwcfbfmtoftjhewmkgbhxfnigbc5cwmmxl6cob5gv64jwwa
behaviours/handle_failed_tx.py: bafybeidxpc6u575ymct5tdwutvzov6zqfdoio5irgldn3fw7q3lg36mmxm
behaviours/order_subscription.py: bafybeibl5ktq5lcwzr3komg77o67yebiokqyii7r3fsshatpww5tr5r3ke
Expand All @@ -32,7 +32,7 @@ fingerprint:
handlers.py: bafybeigod6gbjrxy4mbmulbzsbokeaoycoqys64vqtxnumishfukzf73za
io_/__init__.py: bafybeifxgmmwjqzezzn3e6keh2bfo4cyo7y5dq2ept3stfmgglbrzfl5rq
io_/loader.py: bafybeih3sdsx5dhe4kzhtoafexjgkutsujwqy3zcdrlrkhtdks45bc7exa
models.py: bafybeidkox7gjwvqucyjlxs4z6s32hxzybswxua7krxzacvd4rjyyugcxa
models.py: bafybeiflb2bxnprq6wlrd2zcpyzsbdtkqup2i53et4zoj34csay7dawsmi
payloads.py: bafybeiheazhwvvg4e5p6g32vlawc7imswjznku2i47u5nsruk4agaxtf7m
policy.py: bafybeidbsu5zn456jpku65jajwlxyg5kn2ltlkctkculkj2i2tfmmwm4jq
redeem_info.py: bafybeifiiix4gihfo4avraxt34sfw35v6dqq45do2drrssei2shbps63mm
Expand Down
4 changes: 2 additions & 2 deletions packages/valory/skills/trader_abci/skill.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ skills:
- valory/transaction_settlement_abci:0.1.0:bafybeic3tccdjypuge2lewtlgprwkbb53lhgsgn7oiwzyrcrrptrbeyote
- valory/termination_abci:0.1.0:bafybeif2zim2de356eo3sipkmoev5emwadpqqzk3huwqarywh4tmqt3vzq
- valory/market_manager_abci:0.1.0:bafybeicbvxvjkoksbknujaid5hx7krjlgm6barcjcwo33tdccanrcp674a
- valory/decision_maker_abci:0.1.0:bafybeibt44wsyruovefpezbuean5rnzccd44zwge2xsddpbp6fevphu2ui
- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeiddh2iqcn355syeqalmq2hdpczfcx6wijnvtpfie5gi6hasprstii
- valory/decision_maker_abci:0.1.0:bafybeiagf2jfpabxjkyrjnwfcgda7pbqznqozxcpmo3p7fnpt7spoz32nm
- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeicjkk62en6pt4ox3tbuif44jsngvx4jbkuiez22snupaahlmi4qgm
- valory/staking_abci:0.1.0:bafybeidubhfvlf6x627t4wetc6ran5sb4pttjphyhv6vefp2a4kcuca2be
- valory/check_stop_trading_abci:0.1.0:bafybeie6vnp4oovs3k6qnqjcjcjiok6u2uu4dkyd5gqibu77zxpcmztbnq
- valory/mech_interact_abci:0.1.0:bafybeih2cck5xu6yaibomwtm5zbcp6llghr3ighdnk56fzwu3ihu5xx35e
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ protocols:
- valory/ledger_api:1.0.0:bafybeihdk6psr4guxmbcrc26jr2cbgzpd5aljkqvpwo64bvaz7tdti2oni
skills:
- valory/abstract_round_abci:0.1.0:bafybeiar2yhzxacfe3qqamqhaihtlcimquwedffctw55sowx6rac3cm3ui
- valory/decision_maker_abci:0.1.0:bafybeibt44wsyruovefpezbuean5rnzccd44zwge2xsddpbp6fevphu2ui
- valory/decision_maker_abci:0.1.0:bafybeiagf2jfpabxjkyrjnwfcgda7pbqznqozxcpmo3p7fnpt7spoz32nm
- valory/staking_abci:0.1.0:bafybeidubhfvlf6x627t4wetc6ran5sb4pttjphyhv6vefp2a4kcuca2be
- valory/mech_interact_abci:0.1.0:bafybeih2cck5xu6yaibomwtm5zbcp6llghr3ighdnk56fzwu3ihu5xx35e
behaviours:
Expand Down
Loading