Skip to content

Commit

Permalink
Remove v3 postfix from v3 params
Browse files Browse the repository at this point in the history
  • Loading branch information
DelevoXDG committed Jan 23, 2024
1 parent e6da91b commit e257da3
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 26 deletions.
16 changes: 8 additions & 8 deletions Sources/Starknet/Accounts/StarknetAccount.swift
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ public class StarknetAccount: StarknetAccountProtocol {
StarknetInvokeTransactionV1(senderAddress: address, calldata: calldata, signature: signature, maxFee: params.maxFee, nonce: params.nonce, forFeeEstimation: forFeeEstimation)
}

private func makeInvokeTransactionV3(calldata: StarknetCalldata, signature: StarknetSignature, params: StarknetInvokeParamsV3, forFeeEstimation: Bool = false) -> StarknetInvokeTransactionV3 {
private func makeInvokeTransactionV3(calldata: StarknetCalldata, signature: StarknetSignature, params: StarknetInvokeParams, forFeeEstimation: Bool = false) -> StarknetInvokeTransactionV3 {
StarknetInvokeTransactionV3(senderAddress: address, calldata: calldata, signature: signature, l1ResourceBounds: params.resourceBounds.l1Gas, nonce: params.nonce, forFeeEstimation: forFeeEstimation)
}

private func makeDeployAccountTransactionV1(classHash: Felt, salt: Felt, calldata: StarknetCalldata, signature: StarknetSignature, params: StarknetDeprecatedExecutionParams, forFeeEstimation: Bool) -> StarknetDeployAccountTransactionV1 {
StarknetDeployAccountTransactionV1(signature: signature, maxFee: params.maxFee, nonce: params.nonce, contractAddressSalt: salt, constructorCalldata: calldata, classHash: classHash, forFeeEstimation: forFeeEstimation)
}

private func makeDeployAccountTransactionV3(classHash: Felt, salt: Felt, calldata: StarknetCalldata, signature: StarknetSignature, params: StarknetDeployAccountParamsV3, forFeeEstimation: Bool) -> StarknetDeployAccountTransactionV3 {
private func makeDeployAccountTransactionV3(classHash: Felt, salt: Felt, calldata: StarknetCalldata, signature: StarknetSignature, params: StarknetDeployAccountParams, forFeeEstimation: Bool) -> StarknetDeployAccountTransactionV3 {
StarknetDeployAccountTransactionV3(signature: signature, l1ResourceBounds: params.resourceBounds.l1Gas, nonce: params.nonce, contractAddressSalt: salt, constructorCalldata: calldata, classHash: classHash, forFeeEstimation: forFeeEstimation)
}

Expand All @@ -52,7 +52,7 @@ public class StarknetAccount: StarknetAccountProtocol {
return makeInvokeTransactionV1(calldata: calldata, signature: signature, params: params, forFeeEstimation: forFeeEstimation)
}

public func signV3(calls: [StarknetCall], params: StarknetInvokeParamsV3, forFeeEstimation: Bool) throws -> StarknetInvokeTransactionV3 {
public func signV3(calls: [StarknetCall], params: StarknetInvokeParams, forFeeEstimation: Bool) throws -> StarknetInvokeTransactionV3 {
let calldata = starknetCallsToExecuteCalldata(calls: calls, cairoVersion: cairoVersion)

let transaction = makeInvokeTransactionV3(calldata: calldata, signature: [], params: params, forFeeEstimation: forFeeEstimation)
Expand All @@ -74,7 +74,7 @@ public class StarknetAccount: StarknetAccountProtocol {
return makeDeployAccountTransactionV1(classHash: classHash, salt: salt, calldata: calldata, signature: signature, params: params, forFeeEstimation: forFeeEstimation)
}

public func signDeployAccountV3(classHash: Felt, calldata: StarknetCalldata, salt: Felt, params: StarknetDeployAccountParamsV3, forFeeEstimation: Bool) throws -> StarknetDeployAccountTransactionV3 {
public func signDeployAccountV3(classHash: Felt, calldata: StarknetCalldata, salt: Felt, params: StarknetDeployAccountParams, forFeeEstimation: Bool) throws -> StarknetDeployAccountTransactionV3 {
let transaction = makeDeployAccountTransactionV3(classHash: classHash, salt: salt, calldata: calldata, signature: [], params: params, forFeeEstimation: forFeeEstimation)

let hash = StarknetTransactionHashCalculator.computeHash(of: transaction, chainId: provider.starknetChainId)
Expand Down Expand Up @@ -107,7 +107,7 @@ public class StarknetAccount: StarknetAccountProtocol {
return try await provider.addInvokeTransaction(signedTransaction)
}

public func executeV3(calls: [StarknetCall], params: StarknetOptionalInvokeParamsV3) async throws -> StarknetInvokeTransactionResponse {
public func executeV3(calls: [StarknetCall], params: StarknetOptionalInvokeParams) async throws -> StarknetInvokeTransactionResponse {
var nonce: Felt
var resourceBounds: StarknetResourceBoundsMapping

Expand All @@ -124,7 +124,7 @@ public class StarknetAccount: StarknetAccountProtocol {
resourceBounds = feeEstimate.toResourceBounds()
}

let params = StarknetInvokeParamsV3(nonce: nonce, l1ResourceBounds: resourceBounds.l1Gas)
let params = StarknetInvokeParams(nonce: nonce, l1ResourceBounds: resourceBounds.l1Gas)
let signedTransaction = try signV3(calls: calls, params: params, forFeeEstimation: false)

return try await provider.addInvokeTransaction(signedTransaction)
Expand All @@ -138,7 +138,7 @@ public class StarknetAccount: StarknetAccountProtocol {
}

public func estimateFeeV3(calls: [StarknetCall], nonce: Felt, skipValidate: Bool) async throws -> StarknetFeeEstimate {
let params = StarknetInvokeParamsV3(nonce: nonce, l1ResourceBounds: .zero)
let params = StarknetInvokeParams(nonce: nonce, l1ResourceBounds: .zero)
let signedTransaction = try signV3(calls: calls, params: params, forFeeEstimation: true)

return try await provider.estimateFee(for: signedTransaction, simulationFlags: skipValidate ? [.skipValidate] : [])
Expand All @@ -152,7 +152,7 @@ public class StarknetAccount: StarknetAccountProtocol {
}

public func estimateDeployAccountFeeV3(classHash: Felt, calldata: StarknetCalldata, salt: Felt, nonce: Felt, skipValidate: Bool) async throws -> StarknetFeeEstimate {
let params = StarknetDeployAccountParamsV3(nonce: nonce, l1ResourceBounds: .zero)
let params = StarknetDeployAccountParams(nonce: nonce, l1ResourceBounds: .zero)
let signedTransaction = try signDeployAccountV3(classHash: classHash, calldata: calldata, salt: salt, params: params, forFeeEstimation: true)

return try await provider.estimateFee(for: signedTransaction, simulationFlags: skipValidate ? [.skipValidate] : [])
Expand Down
16 changes: 8 additions & 8 deletions Sources/Starknet/Accounts/StarknetAccountProtocol.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public protocol StarknetAccountProtocol {
/// - forFeeEstimation: Flag indicating whether the different version of transaction should be used; such transaction can only be used for fee estimation
///
/// - Returns: Signed invoke v3 transaction
func signV3(calls: [StarknetCall], params: StarknetInvokeParamsV3, forFeeEstimation: Bool) throws -> StarknetInvokeTransactionV3
func signV3(calls: [StarknetCall], params: StarknetInvokeParams, forFeeEstimation: Bool) throws -> StarknetInvokeTransactionV3

/// Create and sign deploy account transaction v1
///
Expand All @@ -46,7 +46,7 @@ public protocol StarknetAccountProtocol {
/// - forFeeEstimation: Flag indicating whether the different version of transaction should be used; such transaction can only be used for fee estimation
///
/// - Returns: Signed deploy account transaction v3
func signDeployAccountV3(classHash: Felt, calldata: StarknetCalldata, salt: Felt, params: StarknetDeployAccountParamsV3, forFeeEstimation: Bool) throws -> StarknetDeployAccountTransactionV3
func signDeployAccountV3(classHash: Felt, calldata: StarknetCalldata, salt: Felt, params: StarknetDeployAccountParams, forFeeEstimation: Bool) throws -> StarknetDeployAccountTransactionV3

/// Sign TypedData for off-chain usage with this account's privateKey.
///
Expand Down Expand Up @@ -81,7 +81,7 @@ public protocol StarknetAccountProtocol {
/// - params: additional params for a given transaction.
///
/// - Returns: InvokeTransactionResponse, containing transaction hash of submitted transaction.
func executeV3(calls: [StarknetCall], params: StarknetOptionalInvokeParamsV3) async throws -> StarknetInvokeTransactionResponse
func executeV3(calls: [StarknetCall], params: StarknetOptionalInvokeParams) async throws -> StarknetInvokeTransactionResponse

/// Execute list of calls as invoke transaction v1
///
Expand Down Expand Up @@ -170,7 +170,7 @@ public extension StarknetAccountProtocol {
/// - params: additional params for a given transaction
///
/// - Returns: Signed invoke transaction v3
func signV3(calls: [StarknetCall], params: StarknetInvokeParamsV3) throws -> StarknetInvokeTransactionV3 {
func signV3(calls: [StarknetCall], params: StarknetInvokeParams) throws -> StarknetInvokeTransactionV3 {
try signV3(calls: calls, params: params, forFeeEstimation: false)
}

Expand Down Expand Up @@ -199,7 +199,7 @@ public extension StarknetAccountProtocol {
///
/// - Returns: Signed deploy account transaction v3
func signDeployAccountV3(classHash: Felt, calldata: StarknetCalldata, salt: Felt, l1ResourceBounds: StarknetResourceBounds) throws -> StarknetDeployAccountTransactionV3 {
try signDeployAccountV3(classHash: classHash, calldata: calldata, salt: salt, params: StarknetDeployAccountParamsV3(nonce: .zero, l1ResourceBounds: l1ResourceBounds), forFeeEstimation: false)
try signDeployAccountV3(classHash: classHash, calldata: calldata, salt: salt, params: StarknetDeployAccountParams(nonce: .zero, l1ResourceBounds: l1ResourceBounds), forFeeEstimation: false)
}

/// Sign a call as invoke transaction v1
Expand All @@ -221,7 +221,7 @@ public extension StarknetAccountProtocol {
/// - forFeeEstimation: Flag indicating whether the different version of transaction should be used; such transaction can only be used for fee estimation
///
/// - Returns: Signed invoke transaction v3
func signV3(call: StarknetCall, params: StarknetInvokeParamsV3, forFeeEstimation: Bool = false) throws -> StarknetInvokeTransactionV3 {
func signV3(call: StarknetCall, params: StarknetInvokeParams, forFeeEstimation: Bool = false) throws -> StarknetInvokeTransactionV3 {
try signV3(calls: [call], params: params, forFeeEstimation: forFeeEstimation)
}

Expand All @@ -242,7 +242,7 @@ public extension StarknetAccountProtocol {
///
/// - Returns: InvokeTransactionResponse, containing transaction hash of submitted transaction.
func executeV3(calls: [StarknetCall]) async throws -> StarknetInvokeTransactionResponse {
try await executeV3(calls: calls, params: StarknetOptionalInvokeParamsV3())
try await executeV3(calls: calls, params: StarknetOptionalInvokeParams())
}

/// Execute a call as invoke transaction v1
Expand All @@ -263,7 +263,7 @@ public extension StarknetAccountProtocol {
/// - params: additional params for a given transaction
///
/// - Returns: InvokeTransactionResponse, containing transaction hash of submitted transaction.
func executeV3(call: StarknetCall, params: StarknetOptionalInvokeParamsV3) async throws -> StarknetInvokeTransactionResponse {
func executeV3(call: StarknetCall, params: StarknetOptionalInvokeParams) async throws -> StarknetInvokeTransactionResponse {
try await executeV3(calls: [call], params: params)
}

Expand Down
6 changes: 3 additions & 3 deletions Sources/Starknet/Data/Execution.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public struct StarknetCall: Codable, Equatable {
}
}

public struct StarknetInvokeParamsV3 {
public struct StarknetInvokeParams {
public let nonce: Felt
public let resourceBounds: StarknetResourceBoundsMapping
public let tip: UInt64AsHex
Expand All @@ -44,7 +44,7 @@ public struct StarknetInvokeParamsV3 {
}
}

public struct StarknetOptionalInvokeParamsV3 {
public struct StarknetOptionalInvokeParams {
public let nonce: Felt?
public let resourceBounds: StarknetResourceBoundsMapping?
public let tip: UInt64AsHex
Expand All @@ -65,7 +65,7 @@ public struct StarknetOptionalInvokeParamsV3 {
}
}

public struct StarknetDeployAccountParamsV3 {
public struct StarknetDeployAccountParams {
public let nonce: Felt
public let resourceBounds: StarknetResourceBoundsMapping
public let tip: UInt64AsHex
Expand Down
4 changes: 2 additions & 2 deletions Tests/StarknetTests/Accounts/AccountTest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ final class AccountTests: XCTestCase {
let feeEstimate = try await account.estimateFeeV3(call: call, nonce: nonce, skipValidate: false)
let resourceBounds = feeEstimate.toResourceBounds()

let params = StarknetOptionalInvokeParamsV3(nonce: nonce, l1ResourceBounds: resourceBounds.l1Gas)
let params = StarknetOptionalInvokeParams(nonce: nonce, l1ResourceBounds: resourceBounds.l1Gas)

let result = try await account.executeV3(calls: [call], params: params)

Expand Down Expand Up @@ -180,7 +180,7 @@ final class AccountTests: XCTestCase {

let feeEstimate = try await newAccount.estimateDeployAccountFeeV3(classHash: accountContractClassHash, calldata: [newPublicKey], salt: .zero, nonce: nonce)

let params = StarknetDeployAccountParamsV3(nonce: nonce, l1ResourceBounds: feeEstimate.toResourceBounds().l1Gas)
let params = StarknetDeployAccountParams(nonce: nonce, l1ResourceBounds: feeEstimate.toResourceBounds().l1Gas)

let deployAccountTransaction = try newAccount.signDeployAccountV3(classHash: accountContractClassHash, calldata: [newPublicKey], salt: .zero, params: params, forFeeEstimation: false)

Expand Down
10 changes: 5 additions & 5 deletions Tests/StarknetTests/Providers/ProviderTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -223,10 +223,10 @@ final class ProviderTests: XCTestCase {
let call = StarknetCall(contractAddress: contractAddress, entrypoint: starknetSelector(from: "increase_balance"), calldata: [1000])
let call2 = StarknetCall(contractAddress: contractAddress, entrypoint: starknetSelector(from: "increase_balance"), calldata: [100_000_000_000])

let params1 = StarknetInvokeParamsV3(nonce: nonce, l1ResourceBounds: .zero)
let params1 = StarknetInvokeParams(nonce: nonce, l1ResourceBounds: .zero)
let tx1 = try account.signV3(calls: [call], params: params1, forFeeEstimation: true)

let params2 = StarknetInvokeParamsV3(nonce: Felt(nonce.value + 1)!, l1ResourceBounds: .zero)
let params2 = StarknetInvokeParams(nonce: Felt(nonce.value + 1)!, l1ResourceBounds: .zero)
let tx2 = try account.signV3(calls: [call, call2], params: params2, forFeeEstimation: true)

let _ = try await provider.estimateFee(for: [tx1, tx2], simulationFlags: [])
Expand Down Expand Up @@ -268,7 +268,7 @@ final class ProviderTests: XCTestCase {

let nonce = await (try? newAccount.getNonce()) ?? .zero

let params = StarknetDeployAccountParamsV3(nonce: nonce, l1ResourceBounds: .zero)
let params = StarknetDeployAccountParams(nonce: nonce, l1ResourceBounds: .zero)

// let tx = try newAccount.signDeployAccountV3(classHash: accountContractClassHash, calldata: [newPublicKey], salt: .zero, params: params, forFeeEstimation: true)
let tx = try newAccount.signDeployAccountV3(classHash: accountContractClassHash, calldata: [newPublicKey], salt: .zero, params: params, forFeeEstimation: true)
Expand Down Expand Up @@ -351,7 +351,7 @@ final class ProviderTests: XCTestCase {

try await Self.devnetClient.prefundAccount(address: account.address, amount: 5_000_000_000_000_000_000, unit: .fri)
let invokeL1Gas = StarknetResourceBounds(maxAmount: 500_000, maxPricePerUnit: 100_000_000_000)
let params = StarknetInvokeParamsV3(nonce: nonce, l1ResourceBounds: invokeL1Gas)
let params = StarknetInvokeParams(nonce: nonce, l1ResourceBounds: invokeL1Gas)

let invokeTx = try account.signV3(calls: [call], params: params, forFeeEstimation: false)

Expand All @@ -364,7 +364,7 @@ final class ProviderTests: XCTestCase {
try await Self.devnetClient.prefundAccount(address: newAccountAddress, amount: 5_000_000_000_000_000_000, unit: .fri)

let deployAccountL1Gas = StarknetResourceBounds(maxAmount: 500_000, maxPricePerUnit: 100_000_000_000)
let newAccountParams = StarknetDeployAccountParamsV3(nonce: 0, l1ResourceBounds: deployAccountL1Gas)
let newAccountParams = StarknetDeployAccountParams(nonce: 0, l1ResourceBounds: deployAccountL1Gas)
let deployAccountTx = try newAccount.signDeployAccountV3(classHash: accountClassHash, calldata: [newPublicKey], salt: .zero, params: newAccountParams, forFeeEstimation: false)

let simulations = try await provider.simulateTransactions([invokeTx, deployAccountTx], at: .tag(.pending), simulationFlags: [])
Expand Down

0 comments on commit e257da3

Please sign in to comment.