call Contract
Samples
import com.swmansion.starknet.data.selectorFromName
import com.swmansion.starknet.data.types.*
import com.swmansion.starknet.provider.exceptions.RequestFailedException
import com.swmansion.starknet.provider.exceptions.RpcRequestFailedException
import com.swmansion.starknet.provider.rpc.JsonRpcProvider
import com.swmansion.starknet.service.http.HttpResponse
import com.swmansion.starknet.service.http.HttpService
import org.junit.jupiter.api.AfterAll
import org.junit.jupiter.api.Assertions.*
import org.junit.jupiter.api.BeforeAll
import org.junit.jupiter.api.Test
import org.mockito.kotlin.*
import starknet.utils.DevnetClient
import java.nio.file.Paths
fun main() {
//sampleStart
val call = Call(
contractAddress = balanceContractAddress,
entrypoint = "get_balance",
calldata = emptyList(),
)
val request = provider.callContract(
call = call,
blockTag = BlockTag.LATEST,
)
val response = request.send()
val balance = response.first()
val expectedBalance =
provider.getStorageAt(balanceContractAddress, selectorFromName("balance"), BlockTag.LATEST).send()
assertEquals(expectedBalance, balance)
//sampleEnd
}
Samples
import com.swmansion.starknet.data.selectorFromName
import com.swmansion.starknet.data.types.*
import com.swmansion.starknet.provider.exceptions.RequestFailedException
import com.swmansion.starknet.provider.exceptions.RpcRequestFailedException
import com.swmansion.starknet.provider.rpc.JsonRpcProvider
import com.swmansion.starknet.service.http.HttpResponse
import com.swmansion.starknet.service.http.HttpService
import org.junit.jupiter.api.AfterAll
import org.junit.jupiter.api.Assertions.*
import org.junit.jupiter.api.BeforeAll
import org.junit.jupiter.api.Test
import org.mockito.kotlin.*
import starknet.utils.DevnetClient
import java.nio.file.Paths
fun main() {
//sampleStart
val call = Call(
contractAddress = balanceContractAddress,
entrypoint = "get_balance",
calldata = emptyList(),
)
val blockHash = provider.getBlockHashAndNumber().send().blockHash
val request = provider.callContract(
call = call,
blockHash = blockHash,
)
val response = request.send()
val balance = response.first()
val expectedBalance =
provider.getStorageAt(balanceContractAddress, selectorFromName("balance"), BlockTag.LATEST).send()
assertEquals(expectedBalance, balance)
//sampleEnd
}
Samples
import com.swmansion.starknet.data.selectorFromName
import com.swmansion.starknet.data.types.*
import com.swmansion.starknet.provider.exceptions.RequestFailedException
import com.swmansion.starknet.provider.exceptions.RpcRequestFailedException
import com.swmansion.starknet.provider.rpc.JsonRpcProvider
import com.swmansion.starknet.service.http.HttpResponse
import com.swmansion.starknet.service.http.HttpService
import org.junit.jupiter.api.AfterAll
import org.junit.jupiter.api.Assertions.*
import org.junit.jupiter.api.BeforeAll
import org.junit.jupiter.api.Test
import org.mockito.kotlin.*
import starknet.utils.DevnetClient
import java.nio.file.Paths
fun main() {
//sampleStart
val currentNumber = provider.getBlockNumber().send().value
val call = Call(
contractAddress = balanceContractAddress,
entrypoint = "get_balance",
calldata = emptyList(),
)
val request = provider.callContract(
call = call,
blockNumber = currentNumber,
)
val response = request.send()
val balance = response.first()
val expectedBalance =
provider.getStorageAt(balanceContractAddress, selectorFromName("balance"), BlockTag.LATEST).send()
assertEquals(expectedBalance, balance)
//sampleEnd
}
Calls a contract deployed on Starknet.
Calls a contract deployed on Starknet in the latest block.
Parameters
call
a call to be made
Throws
Request Failed Exception