Skip to content

Commit

Permalink
Clean up tests; Add strk contract address to devnet constants
Browse files Browse the repository at this point in the history
  • Loading branch information
DelevoXDG committed Jan 17, 2024
1 parent 5ab72b8 commit bc0bbda
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 14 deletions.
20 changes: 10 additions & 10 deletions Tests/StarknetTests/Accounts/AccountTest.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@ import XCTest

@testable import Starknet

let erc20Address: Felt = "0x49D36570D4E46F48E99674BD3FCC84644DDD6B96F7C741B1562B82F9E004DC7"

final class AccountTests: XCTestCase {
static var devnetClient: DevnetClientProtocol!

var provider: StarknetProviderProtocol!
var signer: StarknetSignerProtocol!
var account: StarknetAccountProtocol!
var accountContractClassHash: Felt!
var ethContractAddress: Felt!

override func setUp() async throws {
try await super.setUp()
Expand All @@ -20,8 +19,9 @@ final class AccountTests: XCTestCase {
}

provider = StarknetProvider(starknetChainId: .testnet, url: Self.devnetClient.rpcUrl)!
accountContractClassHash = AccountTests.devnetClient.constants.accountContractClassHash
let accountDetails = AccountTests.devnetClient.constants.predeployedAccount1
accountContractClassHash = Self.devnetClient.constants.accountContractClassHash
ethContractAddress = Self.devnetClient.constants.ethErc20ContractAddress
let accountDetails = Self.devnetClient.constants.predeployedAccount1
signer = StarkCurveSigner(privateKey: accountDetails.privateKey)!
account = StarknetAccount(address: accountDetails.address, signer: signer, provider: provider, cairoVersion: .zero)
}
Expand Down Expand Up @@ -52,7 +52,7 @@ final class AccountTests: XCTestCase {
0,
]

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

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

Expand All @@ -68,7 +68,7 @@ final class AccountTests: XCTestCase {
0,
]

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

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

Expand All @@ -84,7 +84,7 @@ final class AccountTests: XCTestCase {
0,
]

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

let nonce = try await account.getNonce()
let feeEstimate = try await account.estimateFeeV1(call: call, nonce: nonce)
Expand All @@ -106,7 +106,7 @@ final class AccountTests: XCTestCase {
0,
]

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

let nonce = try await account.getNonce()
let feeEstimate = try await account.estimateFeeV3(call: call, nonce: nonce)
Expand Down Expand Up @@ -134,8 +134,8 @@ final class AccountTests: XCTestCase {
0,
]

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 call1 = StarknetCall(contractAddress: ethContractAddress, entrypoint: starknetSelector(from: "transfer"), calldata: calldata1)
let call2 = StarknetCall(contractAddress: AccountTests.devnetClient.constants.ethErc20ContractAddress, entrypoint: starknetSelector(from: "transfer"), calldata: calldata2)

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

Expand Down
2 changes: 1 addition & 1 deletion Tests/StarknetTests/Devnet/DevnetClientTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ final class DevnetClientTests: XCTestCase {
1000,
0,
]
let invokeResult = try await client.invokeContract(contractAddress: client.constants.erc20ContractAddress, function: "transfer", calldata: calldata)
let invokeResult = try await client.invokeContract(contractAddress: client.constants.ethErc20ContractAddress, function: "transfer", calldata: calldata)
try await client.assertTransactionSucceeded(transactionHash: invokeResult.transactionHash)
}
}
5 changes: 3 additions & 2 deletions Tests/StarknetTests/Providers/ProviderTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ final class ProviderTests: XCTestCase {
var signer: StarknetSignerProtocol!
var account: StarknetAccountProtocol!
var accountContractClassHash: Felt!
var ethContractAddress: Felt!

override class func setUp() {
super.setUp()
Expand All @@ -28,7 +29,7 @@ final class ProviderTests: XCTestCase {
}

provider = makeStarknetProvider(url: Self.devnetClient.rpcUrl)

ethContractAddress = Self.devnetClient.constants.ethErc20ContractAddress
accountContractClassHash = Self.devnetClient.constants.accountContractClassHash
let accountDetails = Self.devnetClient.constants.predeployedAccount2
signer = StarkCurveSigner(privateKey: accountDetails.privateKey)!
Expand Down Expand Up @@ -90,7 +91,7 @@ final class ProviderTests: XCTestCase {
}

func testGetClassHash() async throws {
let classHash = try await provider.getClassHashAt(erc20Address)
let classHash = try await provider.getClassHashAt(ethContractAddress)

print(classHash)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ enum DevnetClientConstants {
// Source: https://github.com/0xSpaceShard/starknet-devnet-rs/blob/323f907bc3e3e4dc66b403ec6f8b58744e8d6f9a/crates/starknet/src/constants.rs
static let accountContractClassHash: Felt = "0x4d07e40e93398ed3c76981e72dd1fd22557a78ce36c0515f679e27f0bb5bc5f"
static let erc20ContractClassHash: Felt = "0x6a22bf63c7bc07effa39a25dfbd21523d211db0100a0afd054d172b81840eaf"
static let erc20ContractAddress: Felt = "0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"
static let ethErc20ContractAddress: Felt = "0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"
static let strkErc20ContractAddress: Felt = "0x4718f5a0fc34cc1af16a1cdee98ffb20c31f5cd61d6ab07201858f4287c938d"
static let udcContractClassHash: Felt = "0x7b3e05f48f0c69e4a65ce5e076a66271a527aff2c34ce1083ec6e1526997a69"
static let udcContractAddress: Felt = "0x41a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf"
// Source: starknet-devnet-rs cli
Expand Down

0 comments on commit bc0bbda

Please sign in to comment.