From 2c82f6155e9cea58566e590fb0fe87c85e20d961 Mon Sep 17 00:00:00 2001 From: Ojuswi Rastogi Date: Mon, 23 Jun 2025 21:49:20 +0530 Subject: [PATCH 1/4] Remove marketplace_demand_alpha from mech staking Signed-off-by: Ojuswi Rastogi --- operate/quickstart/run_service.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/operate/quickstart/run_service.py b/operate/quickstart/run_service.py index 3a7dae2f..1f4c9577 100644 --- a/operate/quickstart/run_service.py +++ b/operate/quickstart/run_service.py @@ -99,8 +99,6 @@ "quickstart_beta_mech_marketplace_expert_8": "trader", "mech_marketplace": "mech", "marketplace_supply_alpha": "mech", - "marketplace_demand_alpha_1": "mech", - "marketplace_demand_alpha_2": "mech", }, Chain.OPTIMISTIC: { "optimus_alpha_2": "optimus", @@ -111,8 +109,6 @@ Chain.BASE: { "meme_base_alpha_2": "memeooorr", "marketplace_supply_alpha": "mech", - "marketplace_demand_alpha_1": "mech", - "marketplace_demand_alpha_2": "mech", "agents_fun_1": "memeooorr", "agents_fun_2": "memeooorr", "agents_fun_3": "memeooorr", From 0388397ad17cde8087b8e0e17d544b19908bfe52 Mon Sep 17 00:00:00 2001 From: Ojuswi Rastogi Date: Mon, 23 Jun 2025 21:49:40 +0530 Subject: [PATCH 2/4] Feat: Support `MECH_REQUEST_PRICE` user input Signed-off-by: Ojuswi Rastogi --- operate/services/utils/mech.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/operate/services/utils/mech.py b/operate/services/utils/mech.py index 199d9424..5ddf5782 100644 --- a/operate/services/utils/mech.py +++ b/operate/services/utils/mech.py @@ -74,9 +74,7 @@ def deploy_mech(sftxb: EthSafeTxBuilder, service: Service) -> Tuple[str, str]: mech_type ] - # 0.01xDAI hardcoded for price - # better to be configurable and part of local config - mech_request_price = unit_to_wei(0.01) + mech_request_price = unit_to_wei(float(service.env_variables.get("MECH_REQUEST_PRICE", {}).get("value", 0.01))) contract = sftxb.ledger_api.api.eth.contract( address=Web3.to_checksum_address(mech_marketplace_address), abi=abi ) From 76fbbec3b120ecd4d7a1ad903f6bb67d8b43568b Mon Sep 17 00:00:00 2001 From: Ojuswi Rastogi Date: Mon, 23 Jun 2025 21:50:24 +0530 Subject: [PATCH 3/4] Fix: Only support 1 number of agents This is because only 1 agent should exist for staking Signed-off-by: Ojuswi Rastogi --- operate/services/manage.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/operate/services/manage.py b/operate/services/manage.py index 1a01b941..b221c19e 100644 --- a/operate/services/manage.py +++ b/operate/services/manage.py @@ -227,7 +227,6 @@ def load_or_create( if not service.keys: service.keys = [ self.keys_manager.get(self.keys_manager.create()) - for _ in range(service.helper.config.number_of_agents) ] service.store() @@ -267,7 +266,6 @@ def create( if not service.keys: service.keys = [ self.keys_manager.get(self.keys_manager.create()) - for _ in range(service.helper.config.number_of_agents) ] service.store() @@ -437,7 +435,7 @@ def _deploy_service_onchain( # pylint: disable=too-many-statements,too-many-loc ocm.mint( package_path=service.package_absolute_path_absolute_path, agent_id=staking_params["agent_ids"][0], - number_of_slots=service.helper.config.number_of_agents, + number_of_slots=1, cost_of_bond=( staking_params["min_staking_deposit"] if user_params.use_staking @@ -709,7 +707,6 @@ def _deploy_service_onchain_from_safe( # pylint: disable=too-many-statements,to ) protocol_asset_requirements[target_staking_params["staking_token"]] = ( target_staking_params["min_staking_deposit"] - * service.helper.config.number_of_agents ) else: protocol_asset_requirements = {} @@ -791,7 +788,7 @@ def _deploy_service_onchain_from_safe( # pylint: disable=too-many-statements,to sftxb.get_mint_tx_data( package_path=service.package_absolute_path, agent_id=agent_id, - number_of_slots=service.helper.config.number_of_agents, + number_of_slots=1, cost_of_bond=( target_staking_params["min_staking_deposit"] if user_params.use_staking @@ -841,7 +838,7 @@ def _deploy_service_onchain_from_safe( # pylint: disable=too-many-statements,to sftxb.get_mint_tx_data( package_path=service.package_absolute_path, agent_id=agent_id, - number_of_slots=service.helper.config.number_of_agents, + number_of_slots=1, cost_of_bond=( target_staking_params["min_staking_deposit"] if user_params.use_staking @@ -2504,7 +2501,7 @@ def _compute_protocol_asset_requirements( # pylint: disable=too-many-locals chain_config = service.chain_configs[chain] user_params = chain_config.chain_data.user_params ledger_config = chain_config.ledger_config - number_of_agents = service.helper.config.number_of_agents + number_of_agents = 1 os.environ["CUSTOM_CHAIN_RPC"] = ledger_config.rpc sftxb = self.get_eth_safe_tx_builder(ledger_config=ledger_config) service_asset_requirements: defaultdict = defaultdict(int) From d55b20ff1bdaf29edb17d20f33cfb1e55de24e35 Mon Sep 17 00:00:00 2001 From: Ojuswi Rastogi Date: Mon, 23 Jun 2025 21:54:47 +0530 Subject: [PATCH 4/4] style: black format Signed-off-by: Ojuswi Rastogi --- operate/services/manage.py | 14 +++++--------- operate/services/utils/mech.py | 4 +++- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/operate/services/manage.py b/operate/services/manage.py index b221c19e..04f6e599 100644 --- a/operate/services/manage.py +++ b/operate/services/manage.py @@ -225,9 +225,7 @@ def load_or_create( ) if not service.keys: - service.keys = [ - self.keys_manager.get(self.keys_manager.create()) - ] + service.keys = [self.keys_manager.get(self.keys_manager.create())] service.store() return service @@ -264,9 +262,7 @@ def create( ) if not service.keys: - service.keys = [ - self.keys_manager.get(self.keys_manager.create()) - ] + service.keys = [self.keys_manager.get(self.keys_manager.create())] service.store() return service @@ -705,9 +701,9 @@ def _deploy_service_onchain_from_safe( # pylint: disable=too-many-statements,to protocol_asset_requirements = self._compute_protocol_asset_requirements( service_config_id, chain ) - protocol_asset_requirements[target_staking_params["staking_token"]] = ( - target_staking_params["min_staking_deposit"] - ) + protocol_asset_requirements[ + target_staking_params["staking_token"] + ] = target_staking_params["min_staking_deposit"] else: protocol_asset_requirements = {} diff --git a/operate/services/utils/mech.py b/operate/services/utils/mech.py index 5ddf5782..f4dc58d7 100644 --- a/operate/services/utils/mech.py +++ b/operate/services/utils/mech.py @@ -74,7 +74,9 @@ def deploy_mech(sftxb: EthSafeTxBuilder, service: Service) -> Tuple[str, str]: mech_type ] - mech_request_price = unit_to_wei(float(service.env_variables.get("MECH_REQUEST_PRICE", {}).get("value", 0.01))) + mech_request_price = unit_to_wei( + float(service.env_variables.get("MECH_REQUEST_PRICE", {}).get("value", 0.01)) + ) contract = sftxb.ledger_api.api.eth.contract( address=Web3.to_checksum_address(mech_marketplace_address), abi=abi )