import com.dynamic.sdk.android.DynamicSDK
import com.dynamic.sdk.android.Models.BaseWallet
import com.dynamic.sdk.android.Chains.EVM.EthereumTransaction
import com.dynamic.sdk.android.Chains.EVM.convertEthToWei
import kotlinx.coroutines.launch
import java.math.BigInteger
val sdk = DynamicSDK.getInstance()
suspend fun sendTransaction(wallet: BaseWallet, to: String, amountInEth: String) {
try {
val chainId = 1
val client = sdk.evm.createPublicClient(chainId)
val gasPrice = client.getGasPrice()
val maxFeePerGas = gasPrice * BigInteger.valueOf(2)
val maxPriorityFeePerGas = gasPrice
val weiAmount = convertEthToWei(amountInEth)
val transaction = EthereumTransaction(
from = wallet.address,
to = to,
value = weiAmount,
gas = BigInteger.valueOf(21000),
maxFeePerGas = maxFeePerGas,
maxPriorityFeePerGas = maxPriorityFeePerGas
)
val txHash = sdk.evm.sendTransaction(transaction, wallet)
println("Transaction sent!")
println("Hash: $txHash")
} catch (e: Exception) {
println("Transaction failed: ${e.message}")
}
}