Skip to content

Commit

Permalink
Add chainId in StarknetAccount constructor
Browse files Browse the repository at this point in the history
  • Loading branch information
DelevoXDG committed Feb 16, 2024
1 parent 2f74cb4 commit 14de994
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
8 changes: 3 additions & 5 deletions Sources/Starknet/Accounts/StarknetAccount.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,16 @@ public enum CairoVersion: String, Encodable {
public class StarknetAccount: StarknetAccountProtocol {
private let cairoVersion: CairoVersion
public let address: Felt
public let chainId: StarknetChainId

private let signer: StarknetSignerProtocol
private let provider: StarknetProviderProtocol

public init(address: Felt, signer: StarknetSignerProtocol, provider: StarknetProviderProtocol, cairoVersion: CairoVersion) {
public init(address: Felt, signer: StarknetSignerProtocol, provider: StarknetProviderProtocol, chainId: StarknetChainId, cairoVersion: CairoVersion) {
self.address = address
self.signer = signer
self.provider = provider
self.chainId = chainId
self.cairoVersion = cairoVersion
}

Expand All @@ -45,7 +47,6 @@ public class StarknetAccount: StarknetAccountProtocol {

let transaction = makeInvokeTransactionV1(calldata: calldata, signature: [], params: params, forFeeEstimation: forFeeEstimation)

let chainId = try await provider.getChainId()
let hash = StarknetTransactionHashCalculator.computeHash(of: transaction, chainId: chainId)

let signature = try signer.sign(transactionHash: hash)
Expand All @@ -58,7 +59,6 @@ public class StarknetAccount: StarknetAccountProtocol {

let transaction = makeInvokeTransactionV3(calldata: calldata, signature: [], params: params, forFeeEstimation: forFeeEstimation)

let chainId = try await provider.getChainId()
let hash = StarknetTransactionHashCalculator.computeHash(of: transaction, chainId: chainId)

let signature = try signer.sign(transactionHash: hash)
Expand All @@ -69,7 +69,6 @@ public class StarknetAccount: StarknetAccountProtocol {
public func signDeployAccountV1(classHash: Felt, calldata: StarknetCalldata, salt: Felt, params: StarknetDeployAccountParamsV1, forFeeEstimation: Bool) async throws -> StarknetDeployAccountTransactionV1 {
let transaction = makeDeployAccountTransactionV1(classHash: classHash, salt: salt, calldata: calldata, signature: [], params: params, forFeeEstimation: forFeeEstimation)

let chainId = try await provider.getChainId()
let hash = StarknetTransactionHashCalculator.computeHash(of: transaction, chainId: chainId)

let signature = try signer.sign(transactionHash: hash)
Expand All @@ -80,7 +79,6 @@ public class StarknetAccount: StarknetAccountProtocol {
public func signDeployAccountV3(classHash: Felt, calldata: StarknetCalldata, salt: Felt, params: StarknetDeployAccountParamsV3, forFeeEstimation: Bool) async throws -> StarknetDeployAccountTransactionV3 {
let transaction = makeDeployAccountTransactionV3(classHash: classHash, salt: salt, calldata: calldata, signature: [], params: params, forFeeEstimation: forFeeEstimation)

let chainId = try await provider.getChainId()
let hash = StarknetTransactionHashCalculator.computeHash(of: transaction, chainId: chainId)

let signature = try signer.sign(transactionHash: hash)
Expand Down
2 changes: 2 additions & 0 deletions Sources/Starknet/Accounts/StarknetAccountProtocol.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import Foundation
public protocol StarknetAccountProtocol {
/// Address of starknet account.
var address: Felt { get }
/// Chain id of the Starknet provider.
var chainId: StarknetChainId { get }

/// Sign list of calls as invoke transaction v1
///
Expand Down

0 comments on commit 14de994

Please sign in to comment.