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/daa #239

Merged
merged 17 commits into from
Nov 29, 2024
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ In order to run a local demo service based on the IEKit:
2. Fetch the IEKit.

```bash
autonomy fetch valory/impact_evaluator:0.1.0:bafybeifzeyvfcio7k6izng3y2tn434h26tz2cl27uqwnkgzqk3r23lcngm --service
autonomy fetch valory/impact_evaluator:0.1.0:bafybeiagstbaqjtne235ejgne2s7qat2j24ue4ezdhbhmlipgev3e7dqe4 --service
```

3. Build the Docker image of the service agents
Expand Down
20 changes: 10 additions & 10 deletions packages/packages.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,24 @@
"connection/valory/twitter/0.1.0": "bafybeiankzrpgovfe34wbxxwzmrg6lbdpe2uegcu4ujtswuopr3b7fsqdq",
"connection/valory/openai/0.1.0": "bafybeibsevvadjkf4fdfbw23ett6e5l4whsxbiwzezdgbmlsin2jidbhcu",
"connection/valory/farcaster/0.1.0": "bafybeibbdas7lxbipksodaphjms3uop7vnzjqkroktjq2g6wbvgtlldaxi",
"skill/valory/dynamic_nft_abci/0.1.0": "bafybeiee4rxt3kcdy4xo36micyrlxgil5dufmcnjrnlmcjvoibwjhqh73a",
"skill/valory/twitter_scoring_abci/0.1.0": "bafybeidmuebntwyf653f3k6nfrrtaeh3rlnyulp7gutgs4mmbo5qadr26e",
"skill/valory/dynamic_nft_abci/0.1.0": "bafybeichdqvj7jowsmmkwsh24w2lf4pntgjfcfaconeouwumyjjqh3xhh4",
"skill/valory/twitter_scoring_abci/0.1.0": "bafybeidwoqhgrppbmi25vxgy54gd2ord4ojmcr6b4k7dh4gqju3zy4oeuq",
"skill/valory/ceramic_read_abci/0.1.0": "bafybeibph35jhtvn6kgytj6mqdz4lpjkvtfqd75qorrt4onv6i2trxfttu",
"skill/valory/ceramic_write_abci/0.1.0": "bafybeihez2zrvvt6cyi5vu3fpomjlbo3v4fzyf4buv7ysxzj4dntr2wy3q",
"skill/valory/impact_evaluator_abci/0.1.0": "bafybeibfzbas5e4n253stcei5b5esizm3pw77vtsfvxr55nygz3z2w52dy",
"skill/valory/generic_scoring_abci/0.1.0": "bafybeie7v55simzep52usq6xe7x3basl7gpgkj6s6ye5fjxxwncov2g4pi",
"skill/valory/impact_evaluator_abci/0.1.0": "bafybeibfegizhdnpptdypjevzyqm7zd525rwmalpanu7dfnj4zueapgeti",
"skill/valory/generic_scoring_abci/0.1.0": "bafybeiej5iwzfvoan4kp4erfxva3h5vrrmon6ahbyupa2jdfypy5i25t5y",
"skill/valory/twitter_write_abci/0.1.0": "bafybeig4dc4cereyshk535pfpparvxiuaimdu4lsm3hnl5li7pxafho6lu",
"skill/valory/llm_abci/0.1.0": "bafybeife2ymfi54jtoarjrwm3nszc4scnxfrkmfeo33rjvufyr66auicse",
"skill/valory/decision_making_abci/0.1.0": "bafybeibvhg6nzs7os3c4enox6cc6ey42kkh62jrv5jpb5kpcjmykeblwmi",
"skill/valory/olas_week_abci/0.1.0": "bafybeiecbiznyj7ameijrpajwxcfmwt45edzjkfkrfnnhcwfb4fkdxbsuy",
"skill/valory/decision_making_abci/0.1.0": "bafybeie52kvwrsh4dyt45amlffclkdttclig33dyc4crb425zf2bcot36u",
"skill/valory/olas_week_abci/0.1.0": "bafybeibxaejlnyo5ngrw3mrcr74ca762w7hupfn4ow44fmmvuxefrv664m",
"skill/valory/mech_interact_abci/0.1.0": "bafybeib4vn6m2yumwoclh5aatcdt5yxcjc5owxmxy5o7t3nfzormgwkr64",
"skill/valory/farcaster_write_abci/0.1.0": "bafybeibbbfui3g2s63cg5vsvxqpzzdg2uxhd7a4ikwfo6dy7b2klqthvu4",
"skill/valory/farcaster_test_abci/0.1.0": "bafybeiblauv376hvy7dzi232fxf6iq5nxxnhvk2gy6g7kcsj7a4r2bilqa",
"skill/valory/staking_abci/0.1.0": "bafybeiapp5q6x4mzmqa5l6t6nvnvo6ktoglnhaorncpipv3uxl5reqlwkm",
"agent/valory/impact_evaluator/0.1.0": "bafybeidwu3eh3lyvrisdiq4xcp43xh4pcqo4kbvbyyj3hpdkdfwcm4muw4",
"skill/valory/staking_abci/0.1.0": "bafybeie3wypei4kt35trwpa26ocn3zvxb6a45ch2wzbsaev3fxg6lj7yqm",
"agent/valory/impact_evaluator/0.1.0": "bafybeibwdz36lvhxir7q46l3canspsm56q6dzlfa67ubtw3ddfxxobh3ly",
"agent/valory/farcaster_test/0.1.0": "bafybeig6yilme5s7fvru2b44dtr5xxqz3gf7p56swr7c5hip775l5wally",
"service/valory/impact_evaluator/0.1.0": "bafybeifzeyvfcio7k6izng3y2tn434h26tz2cl27uqwnkgzqk3r23lcngm",
"service/valory/impact_evaluator_local/0.1.0": "bafybeihluhnfjfpov3pzvywiag4c5w5xxcjdpbyrvfegviqzlfwl57eioq"
"service/valory/impact_evaluator/0.1.0": "bafybeiagstbaqjtne235ejgne2s7qat2j24ue4ezdhbhmlipgev3e7dqe4",
"service/valory/impact_evaluator_local/0.1.0": "bafybeihvww5todlcdomnkuqj5rjavakttq4mevfs4mvmwekinscgi666bi"
},
"third_party": {
"protocol/open_aea/signing/1.0.0": "bafybeihv62fim3wl2bayavfcg3u5e5cxu3b7brtu4cn5xoxd6lqwachasi",
Expand Down
14 changes: 7 additions & 7 deletions packages/valory/agents/impact_evaluator/aea-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,22 +46,22 @@ protocols:
skills:
- valory/abstract_abci:0.1.0:bafybeif2naoydlrqkdpnig34uejedwgurjwyvmbpcz53tif7pyukfdophq
- valory/abstract_round_abci:0.1.0:bafybeigjddhk7epta7xpnfvv426xedff5abh4xlkwi6cqgp4vkutgkvydm
- valory/impact_evaluator_abci:0.1.0:bafybeibfzbas5e4n253stcei5b5esizm3pw77vtsfvxr55nygz3z2w52dy
- valory/generic_scoring_abci:0.1.0:bafybeie7v55simzep52usq6xe7x3basl7gpgkj6s6ye5fjxxwncov2g4pi
- valory/twitter_scoring_abci:0.1.0:bafybeidmuebntwyf653f3k6nfrrtaeh3rlnyulp7gutgs4mmbo5qadr26e
- valory/impact_evaluator_abci:0.1.0:bafybeibfegizhdnpptdypjevzyqm7zd525rwmalpanu7dfnj4zueapgeti
- valory/generic_scoring_abci:0.1.0:bafybeiej5iwzfvoan4kp4erfxva3h5vrrmon6ahbyupa2jdfypy5i25t5y
- valory/twitter_scoring_abci:0.1.0:bafybeidwoqhgrppbmi25vxgy54gd2ord4ojmcr6b4k7dh4gqju3zy4oeuq
- valory/ceramic_read_abci:0.1.0:bafybeibph35jhtvn6kgytj6mqdz4lpjkvtfqd75qorrt4onv6i2trxfttu
- valory/ceramic_write_abci:0.1.0:bafybeihez2zrvvt6cyi5vu3fpomjlbo3v4fzyf4buv7ysxzj4dntr2wy3q
- valory/dynamic_nft_abci:0.1.0:bafybeiee4rxt3kcdy4xo36micyrlxgil5dufmcnjrnlmcjvoibwjhqh73a
- valory/dynamic_nft_abci:0.1.0:bafybeichdqvj7jowsmmkwsh24w2lf4pntgjfcfaconeouwumyjjqh3xhh4
- 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/twitter_write_abci:0.1.0:bafybeig4dc4cereyshk535pfpparvxiuaimdu4lsm3hnl5li7pxafho6lu
- valory/decision_making_abci:0.1.0:bafybeibvhg6nzs7os3c4enox6cc6ey42kkh62jrv5jpb5kpcjmykeblwmi
- valory/decision_making_abci:0.1.0:bafybeie52kvwrsh4dyt45amlffclkdttclig33dyc4crb425zf2bcot36u
- valory/llm_abci:0.1.0:bafybeife2ymfi54jtoarjrwm3nszc4scnxfrkmfeo33rjvufyr66auicse
- valory/olas_week_abci:0.1.0:bafybeiecbiznyj7ameijrpajwxcfmwt45edzjkfkrfnnhcwfb4fkdxbsuy
- valory/olas_week_abci:0.1.0:bafybeibxaejlnyo5ngrw3mrcr74ca762w7hupfn4ow44fmmvuxefrv664m
- valory/mech_interact_abci:0.1.0:bafybeib4vn6m2yumwoclh5aatcdt5yxcjc5owxmxy5o7t3nfzormgwkr64
- valory/staking_abci:0.1.0:bafybeiapp5q6x4mzmqa5l6t6nvnvo6ktoglnhaorncpipv3uxl5reqlwkm
- valory/staking_abci:0.1.0:bafybeie3wypei4kt35trwpa26ocn3zvxb6a45ch2wzbsaev3fxg6lj7yqm
default_ledger: ethereum
required_ledgers:
- ethereum
Expand Down
2 changes: 1 addition & 1 deletion packages/valory/services/impact_evaluator/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: bafybeign56hilwuoa6bgos3uqabss4gew4vadkik7vhj3ucpqw6nxtqtpe
fingerprint_ignore_patterns: []
agent: valory/impact_evaluator:0.1.0:bafybeidwu3eh3lyvrisdiq4xcp43xh4pcqo4kbvbyyj3hpdkdfwcm4muw4
agent: valory/impact_evaluator:0.1.0:bafybeibwdz36lvhxir7q46l3canspsm56q6dzlfa67ubtw3ddfxxobh3ly
number_of_agents: 4
deployment:
agent:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ license: Apache-2.0
fingerprint:
README.md: bafybeign56hilwuoa6bgos3uqabss4gew4vadkik7vhj3ucpqw6nxtqtpe
fingerprint_ignore_patterns: []
agent: valory/impact_evaluator:0.1.0:bafybeidwu3eh3lyvrisdiq4xcp43xh4pcqo4kbvbyyj3hpdkdfwcm4muw4
agent: valory/impact_evaluator:0.1.0:bafybeibwdz36lvhxir7q46l3canspsm56q6dzlfa67ubtw3ddfxxobh3ly
number_of_agents: 1
deployment:
agent:
Expand Down
8 changes: 8 additions & 0 deletions packages/valory/skills/decision_making_abci/behaviours.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
from packages.valory.skills.decision_making_abci.tasks.staking import (
StakingActivityPreparation,
StakingCheckpointPreparation,
StakingDAAPreparation,
)
from packages.valory.skills.decision_making_abci.tasks.tweet_validation_preparation import (
TweetValidationPreparation,
Expand Down Expand Up @@ -134,6 +135,10 @@
},
Event.STAKING_CHECKPOINT.value: {
"prev": StakingCheckpointPreparation,
"next": StakingDAAPreparation,
},
Event.STAKING_DAA_UPDATE.value: {
"prev": StakingDAAPreparation,
"next": UpdateCentaursPreparation,
},
Event.UPDATE_CENTAURS.value: {
Expand Down Expand Up @@ -344,6 +349,9 @@ def get_event(self) -> str:
if tx_submitter == "checkpoint_preparation_behaviour":
return Event.POST_TX_CHECKPOINT.value

if tx_submitter == "d_a_a_preparation_behaviour":
return Event.POST_TX_DAA.value

# This is a mech request
return Event.POST_TX_MECH.value

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ alphabet_in:
- NO_MAJORITY
- POST_TX_ACTIVITY_UPDATE
- POST_TX_CHECKPOINT
- POST_TX_DAA
- POST_TX_MECH
- READ_CENTAURS
- READ_CONTRIBUTE_DB
Expand All @@ -18,6 +19,7 @@ alphabet_in:
- SCORE
- STAKING_ACTIVITY
- STAKING_CHECKPOINT
- STAKING_DAA_UPDATE
- TWEET_VALIDATION
- UPDATE_CENTAURS
- WEEK_IN_OLAS_CREATE
Expand All @@ -26,6 +28,7 @@ default_start_state: DecisionMakingRound
final_states:
- FinishedDecisionMakingActivityRound
- FinishedDecisionMakingCheckpointRound
- FinishedDecisionMakingDAARound
- FinishedDecisionMakingDoneRound
- FinishedDecisionMakingLLMRound
- FinishedDecisionMakingReadCentaursRound
Expand All @@ -39,6 +42,7 @@ final_states:
- FinishedDecisionMakingWriteTwitterRound
- FinishedPostActivityUpdateRound
- FinishedPostCheckpointRound
- FinishedPostDAARound
- FinishedPostMechResponseRound
label: DecisionMakingAbciApp
start_states:
Expand All @@ -48,6 +52,7 @@ states:
- DecisionMakingRound
- FinishedDecisionMakingActivityRound
- FinishedDecisionMakingCheckpointRound
- FinishedDecisionMakingDAARound
- FinishedDecisionMakingDoneRound
- FinishedDecisionMakingLLMRound
- FinishedDecisionMakingReadCentaursRound
Expand All @@ -61,6 +66,7 @@ states:
- FinishedDecisionMakingWriteTwitterRound
- FinishedPostActivityUpdateRound
- FinishedPostCheckpointRound
- FinishedPostDAARound
- FinishedPostMechResponseRound
- PostTxDecisionMakingRound
transition_func:
Expand All @@ -80,6 +86,7 @@ transition_func:
(DecisionMakingRound, SCORE): FinishedDecisionMakingScoreRound
(DecisionMakingRound, STAKING_ACTIVITY): FinishedDecisionMakingActivityRound
(DecisionMakingRound, STAKING_CHECKPOINT): FinishedDecisionMakingCheckpointRound
(DecisionMakingRound, STAKING_DAA_UPDATE): FinishedDecisionMakingDAARound
(DecisionMakingRound, TWEET_VALIDATION): DecisionMakingRound
(DecisionMakingRound, UPDATE_CENTAURS): FinishedDecisionMakingUpdateCentaurRound
(DecisionMakingRound, WEEK_IN_OLAS_CREATE): FinishedDecisionMakingWeekInOlasRound
Expand All @@ -88,4 +95,5 @@ transition_func:
(PostTxDecisionMakingRound, NO_MAJORITY): PostTxDecisionMakingRound
(PostTxDecisionMakingRound, POST_TX_ACTIVITY_UPDATE): FinishedPostActivityUpdateRound
(PostTxDecisionMakingRound, POST_TX_CHECKPOINT): FinishedPostCheckpointRound
(PostTxDecisionMakingRound, POST_TX_DAA): FinishedPostDAARound
(PostTxDecisionMakingRound, POST_TX_MECH): FinishedPostMechResponseRound
22 changes: 20 additions & 2 deletions packages/valory/skills/decision_making_abci/rounds.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ class Event(Enum):
POST_TX_MECH = "post_tx_mech"
POST_TX_ACTIVITY_UPDATE = "post_tx_activity_update"
POST_TX_CHECKPOINT = "post_tx_checkpoint"
STAKING_DAA_UPDATE = "staking_daa_update"
POST_TX_DAA = "post_tx_daa"


class SynchronizedData(BaseSynchronizedData):
Expand Down Expand Up @@ -169,7 +171,7 @@ def end_block(self) -> Optional[Tuple[BaseSynchronizedData, Event]]:
# Event.SCHEDULED_TWEET, Event.LLM, Event.DAILY_ORBIS, Event.DAILY_TWEET, Event.NEXT_CENTAUR
# Event.SCORE, Event.READ_CONTRIBUTE_DB, Event.READ_MANUAL_POINTS, Event.WRITE_CONTRIBUTE_DB
# Event.WEEK_IN_OLAS_CREATE, Event.TWEET_VALIDATION, Event.FORCE_DB_UPDATE, Event.CAMPAIGN_VALIDATION
# Event.STAKING_ACTIVITY, Event.STAKING_CHECKPOINT
# Event.STAKING_ACTIVITY, Event.STAKING_CHECKPOINT, Event.STAKING_DAA_UPDATE

payload = json.loads(self.most_voted_payload)
event = Event(payload["event"])
Expand Down Expand Up @@ -211,7 +213,7 @@ def end_block(self) -> Optional[Tuple[BaseSynchronizedData, Event]]:
# We reference all the events here to prevent the check-abciapp-specs tool from complaining
# since this round receives the event via payload
# Event.DONE, Event.NO_MAJORITY
# Event.POST_TX_MECH, Event.POST_TX_ACTIVITY_UPDATE, Event.POST_TX_CHECKPOINT
# Event.POST_TX_MECH, Event.POST_TX_ACTIVITY_UPDATE, Event.POST_TX_CHECKPOINT, Event.POST_TX_DAA

event = Event(self.most_voted_payload)
return self.synchronized_data, event
Expand Down Expand Up @@ -275,6 +277,10 @@ class FinishedDecisionMakingCheckpointRound(DegenerateRound):
"""FinishedDecisionMakingCheckpointRound"""


class FinishedDecisionMakingDAARound(DegenerateRound):
"""FinishedDecisionMakingDAARound"""


class FinishedPostMechResponseRound(DegenerateRound):
"""FinishedPostMechResponseRound"""

Expand All @@ -287,6 +293,10 @@ class FinishedPostCheckpointRound(DegenerateRound):
"""FinishedPostCheckpointRound"""


class FinishedPostDAARound(DegenerateRound):
"""FinishedPostDAARound"""


class DecisionMakingAbciApp(AbciApp[Event]):
"""DecisionMakingAbciApp"""

Expand Down Expand Up @@ -314,11 +324,13 @@ class DecisionMakingAbciApp(AbciApp[Event]):
Event.CAMPAIGN_VALIDATION: DecisionMakingRound,
Event.STAKING_ACTIVITY: FinishedDecisionMakingActivityRound,
Event.STAKING_CHECKPOINT: FinishedDecisionMakingCheckpointRound,
Event.STAKING_DAA_UPDATE: FinishedDecisionMakingDAARound,
},
PostTxDecisionMakingRound: {
Event.POST_TX_MECH: FinishedPostMechResponseRound,
Event.POST_TX_ACTIVITY_UPDATE: FinishedPostActivityUpdateRound,
Event.POST_TX_CHECKPOINT: FinishedPostCheckpointRound,
Event.POST_TX_DAA: FinishedPostDAARound,
Event.DONE: PostTxDecisionMakingRound,
Event.NO_MAJORITY: PostTxDecisionMakingRound,
},
Expand All @@ -338,6 +350,8 @@ class DecisionMakingAbciApp(AbciApp[Event]):
FinishedPostMechResponseRound: {},
FinishedPostActivityUpdateRound: {},
FinishedPostCheckpointRound: {},
FinishedPostDAARound: {},
FinishedDecisionMakingDAARound: {},
}
final_states: Set[AppState] = {
FinishedDecisionMakingReadCentaursRound,
Expand All @@ -356,6 +370,8 @@ class DecisionMakingAbciApp(AbciApp[Event]):
FinishedPostMechResponseRound,
FinishedPostActivityUpdateRound,
FinishedPostCheckpointRound,
FinishedPostDAARound,
FinishedDecisionMakingDAARound,
}
event_to_timeout: EventToTimeout = {
Event.ROUND_TIMEOUT: 30.0,
Expand All @@ -382,4 +398,6 @@ class DecisionMakingAbciApp(AbciApp[Event]):
FinishedPostMechResponseRound: set(),
FinishedPostActivityUpdateRound: set(),
FinishedPostCheckpointRound: set(),
FinishedPostDAARound: set(),
FinishedDecisionMakingDAARound: set(),
}
10 changes: 5 additions & 5 deletions packages/valory/skills/decision_making_abci/skill.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,20 @@ license: Apache-2.0
aea_version: '>=1.0.0, <2.0.0'
fingerprint:
__init__.py: bafybeicq2o3mkcgbmi4hkmpr3c6fieemutea2gxthymxnbhpemrzlcp2la
behaviours.py: bafybeicrecygn3grh42mb6dvjxgul3zvhrqwea4xq5aulcppvycupgjyoe
behaviours.py: bafybeigwtxrg5yz3cth32azgngvofrsvduaownukivld44sea2eqvu5q2i
dialogues.py: bafybeic5nwnax5tz6plxi5rww6davp23vgb6fixnlhzv2isoknuvb2bhye
fsm_specification.yaml: bafybeidw4kakgv56qrlowz4efgtkh6jzopcdnkktjwuyiruaapgxbgw4me
fsm_specification.yaml: bafybeihckbzmtewjwlbdvghzuadspopa25gsvtkgud5v6ymob6bnt4pium
handlers.py: bafybeibo54pwzdc5o4zwsqqaveiebxsfqtk2px5nh662bb5mxydtc2oz5q
models.py: bafybeiatvo5f3kt5euaeddnrhnkjoznarjnnscwn2vgr3hq3qdd5xtwcau
payloads.py: bafybeic6jrms2xs2odykwwngr5yyqm6cus7cyihdbxux26glpq3573q3ay
rounds.py: bafybeigggtlatqsymrvlo522vvmbrq5nz3k7mtkxufj2ltrgbtuqhlyji4
rounds.py: bafybeigzdnn6u6hxjxkdnn4ei77svbml6lwvowzyoh3ttagevpx5ursaba
tasks/campaign_validation_preparation.py: bafybeiafgc7lzgtl6qwo3qsdpskipm4qeby6c5nmltm4x4yp3zcwn5a6z4
tasks/finished_pipeline_preparation.py: bafybeid652b53p7mtsbj3ksko3g2eezvg4nut2vukwvnfhxyfi4zkx3dym
tasks/llm_preparation.py: bafybeigivqniwvqzmhpqytrn5gz3gb5caa6nlvctkbycbk4cmtut6hvuvi
tasks/read_stream_preparation.py: bafybeicmjasiyecopfweobodzbmn3tbluu5q724uzzqkit6urn3lb5q354
tasks/score_preparations.py: bafybeie7cfot24zcyod5becz6t5lasvva77httfkw57qmvgjk35d3qluxa
tasks/signature_validation.py: bafybeihbwrv72hnh3ytko2i5oszqgdky2j6h2wse45wvuhf2j32lo2tsjy
tasks/staking.py: bafybeihmzs7tv4hxie2lia2unbn3y5mbre4dyii2xvns6rzpvz6lpinjby
tasks/staking.py: bafybeihg54pf7ekzzped6tulzfv74vkeyfijlgzsgmlr7ndyq642qtixtu
tasks/task_preparations.py: bafybeihfm3ms665fvz2qwmhmcwgl2ws5mt62pykomowoxpm6a46jlqvsmu
tasks/tweet_validation_preparation.py: bafybeif3wbfskiyuij7unx72euklms7owrzwzgdu462xatvypalm6xrgca
tasks/twitter_preparation.py: bafybeicn7stcvmd6oex55dwptwxpikpssbcwnj2d3xkercikg5nlzqh4k4
Expand Down Expand Up @@ -58,7 +58,7 @@ protocols:
skills:
- valory/abstract_round_abci:0.1.0:bafybeigjddhk7epta7xpnfvv426xedff5abh4xlkwi6cqgp4vkutgkvydm
- valory/ceramic_read_abci:0.1.0:bafybeibph35jhtvn6kgytj6mqdz4lpjkvtfqd75qorrt4onv6i2trxfttu
- valory/staking_abci:0.1.0:bafybeiapp5q6x4mzmqa5l6t6nvnvo6ktoglnhaorncpipv3uxl5reqlwkm
- valory/staking_abci:0.1.0:bafybeie3wypei4kt35trwpa26ocn3zvxb6a45ch2wzbsaev3fxg6lj7yqm
behaviours:
main:
args: {}
Expand Down
44 changes: 40 additions & 4 deletions packages/valory/skills/decision_making_abci/tasks/staking.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,8 @@ def get_epoch_end(
) -> Generator[None, None, Optional[datetime]]:
"""Get the epoch end"""

self.logger.info(f"Getting epoch end for {staking_contract_address}")

contract_api_msg = yield from self.behaviour.get_contract_api_response(
performative=ContractApiMessage.Performative.GET_STATE, # type: ignore
contract_address=staking_contract_address,
Expand All @@ -120,6 +122,7 @@ def get_epoch_end(

epoch_end_ts = contract_api_msg.state.body["epoch_end"]
epoch_end = datetime.fromtimestamp(epoch_end_ts, tz=timezone.utc)
self.logger.info(f"Epoch end is {epoch_end}")
return epoch_end

def is_epoch_ending(self, staking_contract_address) -> Generator[None, None, bool]:
Expand Down Expand Up @@ -332,13 +335,14 @@ def get_activity_updates(
k: v["points"] for k, v in this_epoch_not_counted_tweets.items()
}

(
multisig_to_updates[service_multisig],
user_to_counted_tweets[user_id],
) = group_tweets(
(updates, selected_tweets) = group_tweets(
not_counted_tweet_id_to_points, points_pending_from_previous_run
)

if updates:
multisig_to_updates[service_multisig] = updates
user_to_counted_tweets[user_id] = selected_tweets

self.context.logger.info(f"Calculated activity updates: {multisig_to_updates}")
self.context.logger.info(
f"Tweets included in the potential update: {user_to_counted_tweets}"
Expand Down Expand Up @@ -370,3 +374,35 @@ def check_extra_conditions(self):

self.context.logger.info("Not time to call the checkpoint yet.")
return False


class StakingDAAPreparation(TaskPreparation):
"""StakingDAAPreparation"""

task_name = "staking_daa"
task_event = Event.STAKING_DAA_UPDATE.value

def _pre_task(self):
"""Preparations before running the task"""
yield
updates = {}
return updates, self.task_event

def _post_task(self):
"""Preparations after running the task"""
centaurs_data = self.synchronized_data.centaurs_data
current_centaur = centaurs_data[self.synchronized_data.current_centaur_index]

# Update the last run time
current_centaur["configuration"]["plugins"][self.task_name][
"last_run"
] = self.now_utc.strftime("%Y-%m-%d %H:%M:%S %Z")

updates = {"centaurs_data": centaurs_data, "has_centaurs_changes": True}
yield
return updates, None

def check_extra_conditions(self):
"""Check user staking threshold"""
yield
return True
2 changes: 1 addition & 1 deletion packages/valory/skills/dynamic_nft_abci/skill.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ protocols:
- valory/http:1.0.0:bafybeifugzl63kfdmwrxwphrnrhj7bn6iruxieme3a4ntzejf6kmtuwmae
skills:
- valory/abstract_round_abci:0.1.0:bafybeigjddhk7epta7xpnfvv426xedff5abh4xlkwi6cqgp4vkutgkvydm
- valory/decision_making_abci:0.1.0:bafybeibvhg6nzs7os3c4enox6cc6ey42kkh62jrv5jpb5kpcjmykeblwmi
- valory/decision_making_abci:0.1.0:bafybeie52kvwrsh4dyt45amlffclkdttclig33dyc4crb425zf2bcot36u
behaviours:
main:
args: {}
Expand Down
Loading
Loading