Skip to content

Commit

Permalink
Add v1 postfix to account methods
Browse files Browse the repository at this point in the history
  • Loading branch information
DelevoXDG committed Jan 17, 2024
1 parent ec00b37 commit 5ab72b8
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 56 deletions.
18 changes: 9 additions & 9 deletions Sources/Starknet/Accounts/StarknetAccount.swift
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public class StarknetAccount: StarknetAccountProtocol {
)
}

public func sign(calls: [StarknetCall], params: StarknetDeprecatedExecutionParams, forFeeEstimation: Bool) throws -> StarknetInvokeTransactionV1 {
public func signV1(calls: [StarknetCall], params: StarknetDeprecatedExecutionParams, forFeeEstimation: Bool) throws -> StarknetInvokeTransactionV1 {
let calldata = starknetCallsToExecuteCalldata(calls: calls, cairoVersion: cairoVersion)

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

public func signDeployAccount(classHash: Felt, calldata: StarknetCalldata, salt: Felt, params: StarknetDeprecatedExecutionParams, forFeeEstimation: Bool) throws -> StarknetDeployAccountTransactionV1 {
public func signDeployAccountV1(classHash: Felt, calldata: StarknetCalldata, salt: Felt, params: StarknetDeprecatedExecutionParams, forFeeEstimation: Bool) throws -> StarknetDeployAccountTransactionV1 {
let transaction = makeDeployAccountTransactionV1(classHash: classHash, salt: salt, calldata: calldata, signature: [], params: params, forFeeEstimation: forFeeEstimation)

let hash = StarknetTransactionHashCalculator.computeHash(of: transaction, chainId: provider.starknetChainId)
Expand All @@ -100,7 +100,7 @@ public class StarknetAccount: StarknetAccountProtocol {
return makeDeployAccountTransactionV3(classHash: classHash, salt: salt, calldata: calldata, signature: signature, params: params, forFeeEstimation: forFeeEstimation)
}

public func execute(calls: [StarknetCall], params: StarknetOptionalDeprecatedExecutionParams) async throws -> StarknetInvokeTransactionResponse {
public func executeV1(calls: [StarknetCall], params: StarknetOptionalDeprecatedExecutionParams) async throws -> StarknetInvokeTransactionResponse {
var nonce: Felt
var maxFee: Felt

Expand All @@ -113,12 +113,12 @@ public class StarknetAccount: StarknetAccountProtocol {
if let paramsMaxFee = params.maxFee {
maxFee = paramsMaxFee
} else {
let feeEstimate = try await estimateFee(calls: calls, nonce: nonce)
let feeEstimate = try await estimateFeeV1(calls: calls, nonce: nonce)
maxFee = estimatedFeeToMaxFee(feeEstimate.overallFee)
}

let signParams = StarknetDeprecatedExecutionParams(nonce: nonce, maxFee: maxFee)
let transaction = try sign(calls: calls, params: signParams, forFeeEstimation: false)
let transaction = try signV1(calls: calls, params: signParams, forFeeEstimation: false)

let result = try await provider.addInvokeTransaction(transaction)

Expand Down Expand Up @@ -150,9 +150,9 @@ public class StarknetAccount: StarknetAccountProtocol {
return result
}

public func estimateFee(calls: [StarknetCall], nonce: Felt, simulationFlags: Set<StarknetSimulationFlagForEstimateFee>) async throws -> StarknetFeeEstimate {
public func estimateFeeV1(calls: [StarknetCall], nonce: Felt, simulationFlags: Set<StarknetSimulationFlagForEstimateFee>) async throws -> StarknetFeeEstimate {
let signParams = StarknetDeprecatedExecutionParams(nonce: nonce, maxFee: .zero)
let transaction = try sign(calls: calls, params: signParams, forFeeEstimation: true)
let transaction = try signV1(calls: calls, params: signParams, forFeeEstimation: true)

return try await provider.estimateFee(for: transaction, simulationFlags: simulationFlags)
}
Expand All @@ -164,9 +164,9 @@ public class StarknetAccount: StarknetAccountProtocol {
return try await provider.estimateFee(for: transaction)
}

public func estimateDeployAccountFee(classHash: Felt, calldata: StarknetCalldata, salt: Felt, nonce: Felt) async throws -> StarknetFeeEstimate {
public func estimateDeployAccountFeeV1(classHash: Felt, calldata: StarknetCalldata, salt: Felt, nonce: Felt) async throws -> StarknetFeeEstimate {
let params = StarknetDeprecatedExecutionParams(nonce: nonce, maxFee: 0)
let signedTransaction = try signDeployAccount(classHash: classHash, calldata: calldata, salt: salt, params: params, forFeeEstimation: true)
let signedTransaction = try signDeployAccountV1(classHash: classHash, calldata: calldata, salt: salt, params: params, forFeeEstimation: true)

return try await provider.estimateFee(for: signedTransaction)
}
Expand Down
64 changes: 32 additions & 32 deletions Sources/Starknet/Accounts/StarknetAccountProtocol.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,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 v1 transaction
func sign(calls: [StarknetCall], params: StarknetDeprecatedExecutionParams, forFeeEstimation: Bool) throws -> StarknetInvokeTransactionV1
func signV1(calls: [StarknetCall], params: StarknetDeprecatedExecutionParams, forFeeEstimation: Bool) throws -> StarknetInvokeTransactionV1

/// Sign list of calls as invoke transaction v3
///
Expand All @@ -33,7 +33,7 @@ public protocol StarknetAccountProtocol {
/// - params: additional params for a given transaction
/// - 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 v1
func signDeployAccount(classHash: Felt, calldata: StarknetCalldata, salt: Felt, params: StarknetDeprecatedExecutionParams, forFeeEstimation: Bool) throws -> StarknetDeployAccountTransactionV1
func signDeployAccountV1(classHash: Felt, calldata: StarknetCalldata, salt: Felt, params: StarknetDeprecatedExecutionParams, forFeeEstimation: Bool) throws -> StarknetDeployAccountTransactionV1

/// Create and sign deploy account transaction v3
///
Expand Down Expand Up @@ -68,7 +68,7 @@ public protocol StarknetAccountProtocol {
/// - params: additional params for a given transaction.
///
/// - Returns: InvokeTransactionResponse, containing transaction hash of submitted transaction.
func execute(calls: [StarknetCall], params: StarknetOptionalDeprecatedExecutionParams) async throws -> StarknetInvokeTransactionResponse
func executeV1(calls: [StarknetCall], params: StarknetOptionalDeprecatedExecutionParams) async throws -> StarknetInvokeTransactionResponse

/// Execute list of calls as invoke transaction v3
///
Expand All @@ -85,7 +85,7 @@ public protocol StarknetAccountProtocol {
/// - calls: list of calls to be executed.
///
/// - Returns: InvokeTransactionResponse, containing transaction hash of submitted transaction.
func execute(calls: [StarknetCall]) async throws -> StarknetInvokeTransactionResponse
func executeV1(calls: [StarknetCall]) async throws -> StarknetInvokeTransactionResponse

/// Execute list of calls as invoke transaction v3
///
Expand All @@ -103,7 +103,7 @@ public protocol StarknetAccountProtocol {
/// - simulationFlags: a set of simulation flags.
///
/// - Returns: struct containing fee estimate
func estimateFee(calls: [StarknetCall], nonce: Felt, simulationFlags: Set<StarknetSimulationFlagForEstimateFee>) async throws -> StarknetFeeEstimate
func estimateFeeV1(calls: [StarknetCall], nonce: Felt, simulationFlags: Set<StarknetSimulationFlagForEstimateFee>) async throws -> StarknetFeeEstimate

/// Estimate fee for a list of calls as invoke transaction v3
///
Expand All @@ -122,7 +122,7 @@ public protocol StarknetAccountProtocol {
/// - calldata: constructor calldata
/// - salt: contract salt
/// - Returns: struct containing fee estimate
func estimateDeployAccountFee(classHash: Felt, calldata: StarknetCalldata, salt: Felt, nonce: Felt) async throws -> StarknetFeeEstimate
func estimateDeployAccountFeeV1(classHash: Felt, calldata: StarknetCalldata, salt: Felt, nonce: Felt) async throws -> StarknetFeeEstimate

func estimateDeployAccountFeeV3(classHash: Felt, calldata: StarknetCalldata, salt: Felt, nonce: Felt) async throws -> StarknetFeeEstimate

Expand All @@ -141,8 +141,8 @@ public extension StarknetAccountProtocol {
/// - params: additional params for a given transaction
///
/// - Returns: Signed invoke transaction v1
func sign(calls: [StarknetCall], params: StarknetDeprecatedExecutionParams) throws -> StarknetInvokeTransactionV1 {
try sign(calls: calls, params: params, forFeeEstimation: false)
func signV1(calls: [StarknetCall], params: StarknetDeprecatedExecutionParams) throws -> StarknetInvokeTransactionV1 {
try signV1(calls: calls, params: params, forFeeEstimation: false)
}

/// Sign list of calls for execution as invoke transaction v3.
Expand All @@ -166,8 +166,8 @@ public extension StarknetAccountProtocol {
/// - salt: contract salt
/// - maxFee: max acceptable fee for the transaction
/// - Returns: Signed deploy account transaction v1
func signDeployAccount(classHash: Felt, calldata: StarknetCalldata, salt: Felt, maxFee: Felt) throws -> StarknetDeployAccountTransactionV1 {
try signDeployAccount(classHash: classHash, calldata: calldata, salt: salt, params: StarknetDeprecatedExecutionParams(nonce: .zero, maxFee: maxFee), forFeeEstimation: false)
func signDeployAccountV1(classHash: Felt, calldata: StarknetCalldata, salt: Felt, maxFee: Felt) throws -> StarknetDeployAccountTransactionV1 {
try signDeployAccountV1(classHash: classHash, calldata: calldata, salt: salt, params: StarknetDeprecatedExecutionParams(nonce: .zero, maxFee: maxFee), forFeeEstimation: false)
}

/// Create and sign deploy account transaction v3
Expand All @@ -191,8 +191,8 @@ public extension StarknetAccountProtocol {
/// - params: additional params for a given transaction
///
/// - Returns: Signed invoke transaction v1
func sign(call: StarknetCall, params: StarknetDeprecatedExecutionParams, forFeeEstimation: Bool = false) throws -> StarknetInvokeTransactionV1 {
try sign(calls: [call], params: params, forFeeEstimation: forFeeEstimation)
func signV1(call: StarknetCall, params: StarknetDeprecatedExecutionParams, forFeeEstimation: Bool = false) throws -> StarknetInvokeTransactionV1 {
try signV1(calls: [call], params: params, forFeeEstimation: forFeeEstimation)
}

/// Sign a call as invoke transaction v3
Expand All @@ -211,8 +211,8 @@ public extension StarknetAccountProtocol {
/// - calls: list of calls to be executed.
///
/// - Returns: InvokeTransactionResponse, containing transaction hash of submitted transaction.
func execute(calls: [StarknetCall]) async throws -> StarknetInvokeTransactionResponse {
try await execute(calls: calls, params: StarknetOptionalDeprecatedExecutionParams())
func executeV1(calls: [StarknetCall]) async throws -> StarknetInvokeTransactionResponse {
try await executeV1(calls: calls, params: StarknetOptionalDeprecatedExecutionParams())
}

/// Execute list of calls using invoke transaction v3
Expand All @@ -232,8 +232,8 @@ public extension StarknetAccountProtocol {
/// - params: additional params for a given transaction
///
/// - Returns: InvokeTransactionResponse, containing transaction hash of submitted transaction.
func execute(call: StarknetCall, params: StarknetOptionalDeprecatedExecutionParams) async throws -> StarknetInvokeTransactionResponse {
try await execute(calls: [call], params: params)
func executeV1(call: StarknetCall, params: StarknetOptionalDeprecatedExecutionParams) async throws -> StarknetInvokeTransactionResponse {
try await executeV1(calls: [call], params: params)
}

/// Execute a call as invoke transaction v3
Expand All @@ -253,8 +253,8 @@ public extension StarknetAccountProtocol {
/// - call: a call to be executed.
///
/// - Returns: InvokeTransactionResponse, containing transaction hash of submitted transaction.
func execute(call: StarknetCall) async throws -> StarknetInvokeTransactionResponse {
try await execute(calls: [call])
func executeV1(call: StarknetCall) async throws -> StarknetInvokeTransactionResponse {
try await executeV1(calls: [call])
}

/// Execute a call as invoke transaction v3
Expand All @@ -274,8 +274,8 @@ public extension StarknetAccountProtocol {
/// - nonce: nonce of the account.

/// - Returns: struct containing fee estimate
func estimateFee(calls: [StarknetCall], nonce: Felt) async throws -> StarknetFeeEstimate {
try await estimateFee(calls: calls, nonce: nonce, simulationFlags: defaultSimulationFlagsForEstimateFee)
func estimateFeeV1(calls: [StarknetCall], nonce: Felt) async throws -> StarknetFeeEstimate {
try await estimateFeeV1(calls: calls, nonce: nonce, simulationFlags: defaultSimulationFlagsForEstimateFee)
}

/// Estimate fee for a list of calls as invoke transaction v3
Expand All @@ -296,9 +296,9 @@ public extension StarknetAccountProtocol {
/// - simulationFlags: set of simulation flags for fee estimation.

/// - Returns: struct containing fee estimate
func estimateFee(calls: [StarknetCall], simulationFlags: Set<StarknetSimulationFlagForEstimateFee>) async throws -> StarknetFeeEstimate {
func estimateFeeV1(calls: [StarknetCall], simulationFlags: Set<StarknetSimulationFlagForEstimateFee>) async throws -> StarknetFeeEstimate {
let nonce = try await getNonce()
return try await estimateFee(calls: calls, nonce: nonce, simulationFlags: simulationFlags)
return try await estimateFeeV1(calls: calls, nonce: nonce, simulationFlags: simulationFlags)
}

/// Estimate fee for a list of calls as invoke transaction v3
Expand All @@ -318,9 +318,9 @@ public extension StarknetAccountProtocol {
/// - Parameters:
/// - calls: list of calls, for which the fee should be estimated.
/// - Returns: struct containing fee estimate
func estimateFee(calls: [StarknetCall]) async throws -> StarknetFeeEstimate {
func estimateFeeV1(calls: [StarknetCall]) async throws -> StarknetFeeEstimate {
let nonce = try await getNonce()
return try await estimateFee(calls: calls, nonce: nonce)
return try await estimateFeeV1(calls: calls, nonce: nonce)
}

/// Estimate fee for a list of calls as invoke transaction v3
Expand All @@ -342,8 +342,8 @@ public extension StarknetAccountProtocol {
/// - simulationFlags: a set of simulation flags.
///
/// - Returns: struct containing fee estimate
func estimateFee(call: StarknetCall, nonce: Felt, simulationFlags: Set<StarknetSimulationFlagForEstimateFee>) async throws -> StarknetFeeEstimate {
try await estimateFee(calls: [call], nonce: nonce, simulationFlags: simulationFlags)
func estimateFeeV1(call: StarknetCall, nonce: Felt, simulationFlags: Set<StarknetSimulationFlagForEstimateFee>) async throws -> StarknetFeeEstimate {
try await estimateFeeV1(calls: [call], nonce: nonce, simulationFlags: simulationFlags)
}

/// Estimate fee for a call as invoke transaction v3
Expand All @@ -365,8 +365,8 @@ public extension StarknetAccountProtocol {
/// - simulationFlags: a set of simulation flags.
///
/// - Returns: struct containing fee estimate
func estimateFee(call: StarknetCall, simulationFlags: Set<StarknetSimulationFlagForEstimateFee>) async throws -> StarknetFeeEstimate {
try await estimateFee(calls: [call], simulationFlags: simulationFlags)
func estimateFeeV1(call: StarknetCall, simulationFlags: Set<StarknetSimulationFlagForEstimateFee>) async throws -> StarknetFeeEstimate {
try await estimateFeeV1(calls: [call], simulationFlags: simulationFlags)
}

/// Estimate fee for a call as invoke transaction v3
Expand All @@ -387,8 +387,8 @@ public extension StarknetAccountProtocol {
/// - nonce: a nonce to be used in a transaction.
///
/// - Returns: struct containing fee estimate
func estimateFee(call: StarknetCall, nonce: Felt) async throws -> StarknetFeeEstimate {
try await estimateFee(calls: [call], nonce: nonce)
func estimateFeeV1(call: StarknetCall, nonce: Felt) async throws -> StarknetFeeEstimate {
try await estimateFeeV1(calls: [call], nonce: nonce)
}

/// Estimate fee for a call as invoke transaction v3
Expand All @@ -408,8 +408,8 @@ public extension StarknetAccountProtocol {
/// - call: a call for which the fee should be estimated.
///
/// - Returns: struct containing fee estimate
func estimateFee(call: StarknetCall) async throws -> StarknetFeeEstimate {
try await estimateFee(calls: [call])
func estimateFeeV1(call: StarknetCall) async throws -> StarknetFeeEstimate {
try await estimateFeeV1(calls: [call])
}

/// Estimate fee for a call as invoke transaction v3
Expand Down
12 changes: 6 additions & 6 deletions Tests/StarknetTests/Accounts/AccountTest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ final class AccountTests: XCTestCase {

let call = StarknetCall(contractAddress: erc20Address, entrypoint: starknetSelector(from: "transfer"), calldata: calldata)

let result = try await account.execute(call: call)
let result = try await account.executeV1(call: call)

try await Self.devnetClient.assertTransactionSucceeded(transactionHash: result.transactionHash)
}
Expand Down Expand Up @@ -87,12 +87,12 @@ final class AccountTests: XCTestCase {
let call = StarknetCall(contractAddress: erc20Address, entrypoint: starknetSelector(from: "transfer"), calldata: calldata)

let nonce = try await account.getNonce()
let feeEstimate = try await account.estimateFee(call: call, nonce: nonce)
let feeEstimate = try await account.estimateFeeV1(call: call, nonce: nonce)
let maxFee = estimatedFeeToMaxFee(feeEstimate.overallFee)

let params = StarknetOptionalDeprecatedExecutionParams(nonce: nonce, maxFee: maxFee)

let result = try await account.execute(call: call, params: params)
let result = try await account.executeV1(call: call, params: params)

try await Self.devnetClient.assertTransactionSucceeded(transactionHash: result.transactionHash)
}
Expand Down Expand Up @@ -137,7 +137,7 @@ final class AccountTests: XCTestCase {
let call1 = StarknetCall(contractAddress: AccountTests.devnetClient.constants.erc20ContractAddress, entrypoint: starknetSelector(from: "transfer"), calldata: calldata1)
let call2 = StarknetCall(contractAddress: AccountTests.devnetClient.constants.erc20ContractAddress, entrypoint: starknetSelector(from: "transfer"), calldata: calldata2)

let result = try await account.execute(calls: [call1, call2])
let result = try await account.executeV1(calls: [call1, call2])

try await Self.devnetClient.assertTransactionSucceeded(transactionHash: result.transactionHash)
}
Expand All @@ -152,12 +152,12 @@ final class AccountTests: XCTestCase {

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

let feeEstimate = try await newAccount.estimateDeployAccountFee(classHash: accountContractClassHash, calldata: [newPublicKey], salt: .zero, nonce: nonce)
let feeEstimate = try await newAccount.estimateDeployAccountFeeV1(classHash: accountContractClassHash, calldata: [newPublicKey], salt: .zero, nonce: nonce)
let maxFee = estimatedFeeToMaxFee(feeEstimate.overallFee)

let params = StarknetDeprecatedExecutionParams(nonce: nonce, maxFee: maxFee)

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

let response = try await provider.addDeployAccountTransaction(deployAccountTransaction)

Expand Down
Loading

0 comments on commit 5ab72b8

Please sign in to comment.