Skip to content

Commit 5b397f4

Browse files
authored
Drop deploy account transaction v1 support (#735)
* Fix edit_spec_instructions.yml
1 parent 8cfe5b7 commit 5b397f4

File tree

9 files changed

+196
-445
lines changed

9 files changed

+196
-445
lines changed

crates/starknet-devnet-core/src/starknet/add_deploy_account_transaction.rs

Lines changed: 102 additions & 215 deletions
Large diffs are not rendered by default.

crates/starknet-devnet-server/src/api/json_rpc/mod.rs

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1292,13 +1292,30 @@ mod requests_tests {
12921292
"request":[
12931293
{
12941294
"type":"DEPLOY_ACCOUNT",
1295-
"max_fee": "0xA",
1296-
"version": "0x1",
1295+
"resource_bounds": {
1296+
"l1_gas": {
1297+
"max_amount": "0x1",
1298+
"max_price_per_unit": "0x2"
1299+
},
1300+
"l1_data_gas": {
1301+
"max_amount": "0x1",
1302+
"max_price_per_unit": "0x2"
1303+
},
1304+
"l2_gas": {
1305+
"max_amount": "0x1",
1306+
"max_price_per_unit": "0x2"
1307+
}
1308+
},
1309+
"tip": "0xabc",
1310+
"paymaster_data": [],
1311+
"version": "0x100000000000000000000000000000003",
12971312
"signature": ["0xFF", "0xAA"],
12981313
"nonce": "0x0",
12991314
"contract_address_salt": "0x01",
1315+
"class_hash": "0x01",
13001316
"constructor_calldata": ["0x01"],
1301-
"class_hash": "0x01"
1317+
"nonce_data_availability_mode": "L1",
1318+
"fee_data_availability_mode": "L1"
13021319
}
13031320
]
13041321
}
@@ -1431,13 +1448,30 @@ mod requests_tests {
14311448
"params":{
14321449
"deploy_account_transaction":{
14331450
"type":"DEPLOY_ACCOUNT",
1434-
"max_fee": "0xA",
1435-
"version": "0x1",
1451+
"resource_bounds": {
1452+
"l1_gas": {
1453+
"max_amount": "0x1",
1454+
"max_price_per_unit": "0x2"
1455+
},
1456+
"l1_data_gas": {
1457+
"max_amount": "0x1",
1458+
"max_price_per_unit": "0x2"
1459+
},
1460+
"l2_gas": {
1461+
"max_amount": "0x1",
1462+
"max_price_per_unit": "0x2"
1463+
}
1464+
},
1465+
"tip": "0xabc",
1466+
"paymaster_data": [],
1467+
"version": "0x3",
14361468
"signature": ["0xFF", "0xAA"],
14371469
"nonce": "0x0",
14381470
"contract_address_salt": "0x01",
14391471
"class_hash": "0x01",
1440-
"constructor_calldata": ["0x01"]
1472+
"constructor_calldata": ["0x01"],
1473+
"nonce_data_availability_mode": "L1",
1474+
"fee_data_availability_mode": "L1"
14411475
}
14421476
}
14431477
}"#;

crates/starknet-devnet-server/src/api/json_rpc/models.rs

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -368,16 +368,33 @@ mod tests {
368368
]
369369
},
370370
{
371-
"type": "DEPLOY_ACCOUNT",
372-
"max_fee": "0xA",
373-
"version": "0x1",
371+
"type":"DEPLOY_ACCOUNT",
372+
"resource_bounds": {
373+
"l1_gas": {
374+
"max_amount": "0x1",
375+
"max_price_per_unit": "0x2"
376+
},
377+
"l1_data_gas": {
378+
"max_amount": "0x1",
379+
"max_price_per_unit": "0x2"
380+
},
381+
"l2_gas": {
382+
"max_amount": "0x1",
383+
"max_price_per_unit": "0x2"
384+
}
385+
},
386+
"tip": "0xabc",
387+
"paymaster_data": [],
388+
"version": "0x100000000000000000000000000000003",
374389
"signature": ["0xFF", "0xAA"],
375390
"nonce": "0x0",
376391
"contract_address_salt": "0x01",
392+
"class_hash": "0x01",
377393
"constructor_calldata": ["0x01"],
378-
"class_hash": "0x01"
394+
"nonce_data_availability_mode": "L1",
395+
"fee_data_availability_mode": "L1"
379396
}
380-
],
397+
],
381398
"block_id": {
382399
"block_number": 1
383400
},

crates/starknet-devnet-server/src/api/json_rpc/write_endpoints.rs

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -192,19 +192,38 @@ impl JsonRpcHandler {
192192
#[cfg(test)]
193193
mod tests {
194194
use crate::api::json_rpc::models::BroadcastedDeployAccountTransactionEnumWrapper;
195-
use crate::test_utils::deploy_account_str;
196195

197196
#[test]
198197
fn check_correct_deserialization_of_deploy_account_transaction_request() {
199-
test_deploy_account_transaction();
200-
}
201-
202-
fn test_deploy_account_transaction() -> BroadcastedDeployAccountTransactionEnumWrapper {
203-
let json_string = deploy_account_str();
204-
205-
let broadcasted_deploy_account_transaction: BroadcastedDeployAccountTransactionEnumWrapper =
206-
serde_json::from_str(&json_string).unwrap();
207-
208-
broadcasted_deploy_account_transaction
198+
let _: BroadcastedDeployAccountTransactionEnumWrapper = serde_json::from_str(
199+
r#"{
200+
"type":"DEPLOY_ACCOUNT",
201+
"resource_bounds": {
202+
"l1_gas": {
203+
"max_amount": "0x1",
204+
"max_price_per_unit": "0x2"
205+
},
206+
"l1_data_gas": {
207+
"max_amount": "0x1",
208+
"max_price_per_unit": "0x2"
209+
},
210+
"l2_gas": {
211+
"max_amount": "0x1",
212+
"max_price_per_unit": "0x2"
213+
}
214+
},
215+
"tip": "0xabc",
216+
"paymaster_data": [],
217+
"version": "0x3",
218+
"signature": ["0xFF", "0xAA"],
219+
"nonce": "0x0",
220+
"contract_address_salt": "0x01",
221+
"class_hash": "0x01",
222+
"constructor_calldata": ["0x01"],
223+
"nonce_data_availability_mode": "L1",
224+
"fee_data_availability_mode": "L1"
225+
}"#,
226+
)
227+
.unwrap();
209228
}
210229
}

crates/starknet-devnet-server/test_data/rpc/deploy_account.json

Lines changed: 0 additions & 16 deletions
This file was deleted.

crates/starknet-devnet-server/test_data/spec/0.8.0/edit_spec_instructions.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ remove_from_array:
3737
index: 0
3838
- path: components/schemas/TRANSACTION_TRACE/oneOf
3939
index: 3
40-
- path: components/schemas/BROADCASTED_DECLARE_TXN/oneOf
41-
index: 0
4240
- path: components/schemas/TXN/oneOf
4341
index: 3
4442
- path: components/schemas/TXN/oneOf
@@ -49,6 +47,8 @@ remove_from_array:
4947
index: 1
5048
- path: components/schemas/DECLARE_TXN/oneOf
5149
index: 0
50+
- path: components/schemas/DEPLOY_ACCOUNT_TXN/oneOf
51+
index: 0
5252
- path: components/schemas/HINT/oneOf
5353
index: 0
5454

crates/starknet-devnet-types/src/rpc/transactions.rs

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,10 @@ use starknet_rs_core::types::{
2424
use starknet_rs_core::utils::parse_cairo_short_string;
2525

2626
use self::broadcasted_declare_transaction_v3::BroadcastedDeclareTransactionV3;
27-
use self::broadcasted_deploy_account_transaction_v1::BroadcastedDeployAccountTransactionV1;
2827
use self::broadcasted_deploy_account_transaction_v3::BroadcastedDeployAccountTransactionV3;
2928
use self::broadcasted_invoke_transaction_v1::BroadcastedInvokeTransactionV1;
3029
use self::broadcasted_invoke_transaction_v3::BroadcastedInvokeTransactionV3;
3130
use self::declare_transaction_v3::DeclareTransactionV3;
32-
use self::deploy_account_transaction_v1::DeployAccountTransactionV1;
3331
use self::deploy_account_transaction_v3::DeployAccountTransactionV3;
3432
use self::invoke_transaction_v3::InvokeTransactionV3;
3533
use self::l1_handler_transaction::L1HandlerTransaction;
@@ -51,14 +49,12 @@ use crate::{impl_wrapper_deserialize, impl_wrapper_serialize};
5149

5250
pub mod broadcasted_declare_transaction_v2;
5351
pub mod broadcasted_declare_transaction_v3;
54-
pub mod broadcasted_deploy_account_transaction_v1;
5552
pub mod broadcasted_deploy_account_transaction_v3;
5653
pub mod broadcasted_invoke_transaction_v1;
5754
pub mod broadcasted_invoke_transaction_v3;
5855

5956
pub mod declare_transaction_v2;
6057
pub mod declare_transaction_v3;
61-
pub mod deploy_account_transaction_v1;
6258
pub mod deploy_account_transaction_v3;
6359
pub mod deploy_transaction;
6460
pub mod invoke_transaction_v1;
@@ -237,14 +233,12 @@ impl InvokeTransaction {
237233
#[cfg_attr(feature = "testing", derive(Deserialize, PartialEq, Eq))]
238234
#[serde(untagged)]
239235
pub enum DeployAccountTransaction {
240-
V1(Box<DeployAccountTransactionV1>),
241236
V3(Box<DeployAccountTransactionV3>),
242237
}
243238

244239
impl DeployAccountTransaction {
245240
pub fn get_contract_address(&self) -> &ContractAddress {
246241
match self {
247-
DeployAccountTransaction::V1(tx) => tx.get_contract_address(),
248242
DeployAccountTransaction::V3(tx) => tx.get_contract_address(),
249243
}
250244
}
@@ -673,28 +667,24 @@ impl BroadcastedDeclareTransaction {
673667

674668
#[derive(Debug, Clone)]
675669
pub enum BroadcastedDeployAccountTransaction {
676-
V1(BroadcastedDeployAccountTransactionV1),
677670
V3(BroadcastedDeployAccountTransactionV3),
678671
}
679672

680673
impl BroadcastedDeployAccountTransaction {
681674
pub fn is_max_fee_valid(&self) -> bool {
682675
match self {
683-
BroadcastedDeployAccountTransaction::V1(v1) => !v1.common.is_max_fee_zero_value(),
684676
BroadcastedDeployAccountTransaction::V3(v3) => v3.common.are_gas_bounds_valid(),
685677
}
686678
}
687679

688680
pub fn is_deprecated(&self) -> bool {
689681
match self {
690-
BroadcastedDeployAccountTransaction::V1(_) => true,
691682
BroadcastedDeployAccountTransaction::V3(_) => false,
692683
}
693684
}
694685

695686
pub fn is_only_query(&self) -> bool {
696687
match self {
697-
BroadcastedDeployAccountTransaction::V1(tx) => tx.common.is_only_query(),
698688
BroadcastedDeployAccountTransaction::V3(tx) => tx.common.is_only_query(),
699689
}
700690
}
@@ -709,24 +699,6 @@ impl BroadcastedDeployAccountTransaction {
709699
chain_id: &Felt,
710700
) -> DevnetResult<starknet_api::executable_transaction::DeployAccountTransaction> {
711701
let sn_api_transaction = match self {
712-
BroadcastedDeployAccountTransaction::V1(v1) => {
713-
let sn_api_transaction = starknet_api::transaction::DeployAccountTransactionV1 {
714-
max_fee: v1.common.max_fee,
715-
signature: starknet_api::transaction::fields::TransactionSignature(
716-
v1.common.signature.clone(),
717-
),
718-
nonce: starknet_api::core::Nonce(v1.common.nonce),
719-
class_hash: starknet_api::core::ClassHash(v1.class_hash),
720-
contract_address_salt: starknet_api::transaction::fields::ContractAddressSalt(
721-
v1.contract_address_salt,
722-
),
723-
constructor_calldata: starknet_api::transaction::fields::Calldata(Arc::new(
724-
v1.constructor_calldata.clone(),
725-
)),
726-
};
727-
728-
starknet_api::transaction::DeployAccountTransaction::V1(sn_api_transaction)
729-
}
730702
BroadcastedDeployAccountTransaction::V3(v3) => {
731703
let sn_api_transaction = starknet_api::transaction::DeployAccountTransactionV3 {
732704
resource_bounds: (&v3.common.resource_bounds).into(),
@@ -881,12 +853,6 @@ impl<'de> Deserialize<'de> for BroadcastedDeployAccountTransaction {
881853
let value = serde_json::Value::deserialize(deserializer)?;
882854
let version_raw = value.get("version").ok_or(serde::de::Error::missing_field("version"))?;
883855
match version_raw.as_str() {
884-
Some(v) if ["0x1", "0x100000000000000000000000000000001"].contains(&v) => {
885-
let unpacked = serde_json::from_value(value).map_err(|e| {
886-
serde::de::Error::custom(format!("Invalid deploy account transaction v1: {e}"))
887-
})?;
888-
Ok(BroadcastedDeployAccountTransaction::V1(unpacked))
889-
}
890856
Some(v) if ["0x3", "0x100000000000000000000000000000003"].contains(&v) => {
891857
let unpacked = serde_json::from_value(value).map_err(|e| {
892858
serde::de::Error::custom(format!("Invalid deploy account transaction v3: {e}"))

0 commit comments

Comments
 (0)