//Sample of new features / requests public IEnumerator GetArrayUInt256() { var url = "http://localhost:8545"; var privateKey = "0xb5b1870957d373ef0eeffecc6e4812c0fd08f554b37b233526acc331bf1544f7"; var account = "0x12890d2cce102216644c59daE5baed380d84830c"; //initialising the transaction request sender var transactionRequest = new TransactionSignedUnityRequest(url, privateKey, account); //deploy the contract and True indicates we want to estimate the gas yield return(transactionRequest.SignAndSendDeploymentContractTransaction <ArrayUint256DynamicDeployment>()); if (transactionRequest.Exception != null) { Debug.Log(transactionRequest.Exception.Message); yield break; } var transactionHash = transactionRequest.Result; //create a poll to get the receipt when mined var transactionReceiptPolling = new TransactionReceiptPollingRequest(url); //checking every 2 seconds for the receipt yield return(transactionReceiptPolling.PollForReceipt(transactionHash, 2)); var deploymentReceipt = transactionReceiptPolling.Result; //Query request using our acccount and the contracts address (no parameters needed and default values) var queryRequest = new QueryUnityRequest <GiveMeTheArrayFunction, GiveMeTheArrayOutputDTO>(url, account); yield return(queryRequest.Query(deploymentReceipt.ContractAddress)); //Getting the dto response already decoded var dtoResult = queryRequest.Result; Debug.Log(dtoResult.Result [0]); Debug.Log(dtoResult.Result [1]); }
//Sample of new features / requests public IEnumerator DeployAndTransferToken() { var url = "http://localhost:8545"; var privateKey = "0xb5b1870957d373ef0eeffecc6e4812c0fd08f554b37b233526acc331bf1544f7"; var account = "0x12890d2cce102216644c59daE5baed380d84830c"; //initialising the transaction request sender var transactionRequest = new TransactionSignedUnityRequest(url, privateKey); var deployContract = new EIP20Deployment() { InitialAmount = 10000, FromAddress = account, TokenName = "TST", TokenSymbol = "TST" }; //deploy the contract and True indicates we want to estimate the gas yield return(transactionRequest.SignAndSendDeploymentContractTransaction <EIP20DeploymentBase>(deployContract)); if (transactionRequest.Exception != null) { Debug.Log(transactionRequest.Exception.Message); yield break; } var transactionHash = transactionRequest.Result; Debug.Log("Deployment transaction hash:" + transactionHash); //create a poll to get the receipt when mined var transactionReceiptPolling = new TransactionReceiptPollingRequest(url); //checking every 2 seconds for the receipt yield return(transactionReceiptPolling.PollForReceipt(transactionHash, 2)); var deploymentReceipt = transactionReceiptPolling.Result; Debug.Log("Deployment contract address:" + deploymentReceipt.ContractAddress); //Query request using our acccount and the contracts address (no parameters needed and default values) var queryRequest = new QueryUnityRequest <BalanceOfFunction, BalanceOfFunctionOutput>(url, account); yield return(queryRequest.Query(new BalanceOfFunction() { Owner = account }, deploymentReceipt.ContractAddress)); //Getting the dto response already decoded var dtoResult = queryRequest.Result; Debug.Log(dtoResult.Balance); var transactionTransferRequest = new TransactionSignedUnityRequest(url, privateKey); var newAddress = "0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe"; var transactionMessage = new TransferFunction { FromAddress = account, To = newAddress, Value = 1000, }; yield return(transactionTransferRequest.SignAndSendTransaction(transactionMessage, deploymentReceipt.ContractAddress)); var transactionTransferHash = transactionTransferRequest.Result; Debug.Log("Transfer txn hash:" + transactionHash); transactionReceiptPolling = new TransactionReceiptPollingRequest(url); yield return(transactionReceiptPolling.PollForReceipt(transactionTransferHash, 2)); var transferReceipt = transactionReceiptPolling.Result; var transferEvent = transferReceipt.DecodeAllEvents <TransferEventDTO>(); Debug.Log("Transferd amount from event: " + transferEvent[0].Event.Value); var getLogsRequest = new EthGetLogsUnityRequest(url); var eventTransfer = TransferEventDTO.GetEventABI(); yield return(getLogsRequest.SendRequest(eventTransfer.CreateFilterInput(deploymentReceipt.ContractAddress, account))); var eventDecoded = getLogsRequest.Result.DecodeAllEvents <TransferEventDTO>(); Debug.Log("Transferd amount from get logs event: " + eventDecoded[0].Event.Value); }
//Sample of new features / requests public IEnumerator DeployAndTransferToken() { var url = "https://ropsten.infura.io/v3/4394d608f8694f62ac54a673f7940e11"; var privateKey = "622bdcf3915f11859a8657af0aa0dea840fbbf52c9fb9607adfa156f18f734e1"; var account = "0x88144534Bd291b9c3D7BDB9A92D7270566f5622d"; //initialising the transaction request sender var transactionRequest = new TransactionSignedUnityRequest(url, privateKey); var deployContract = new Eip20Deployment() { InitialAmount = 100000, FromAddress = account, TokenName = "GameBank", TokenSymbol = "GB" }; //deploy the contract yield return(transactionRequest.SignAndSendDeploymentContractTransaction <Eip20DeploymentBase>(deployContract)); if (transactionRequest.Exception != null) { Debug.Log(transactionRequest.Exception.Message); yield break; } var transactionHash = transactionRequest.Result; Debug.Log("Deployment transaction hash:" + transactionHash); //create a poll to get the receipt when mined var transactionReceiptPolling = new TransactionReceiptPollingRequest(url); //checking every 2 seconds for the receipt yield return(transactionReceiptPolling.PollForReceipt(transactionHash, 2)); var deploymentReceipt = transactionReceiptPolling.Result; Debug.Log("Deployment contract address:" + deploymentReceipt.ContractAddress); //Query request using our acccount and the contracts address (no parameters needed and default values) var queryRequest = new QueryUnityRequest <BalanceOfFunction, BalanceOfFunctionOutput>(url, account); yield return(queryRequest.Query(new BalanceOfFunction() { Owner = account }, deploymentReceipt.ContractAddress)); //Getting the dto response already decoded var dtoResult = queryRequest.Result; Debug.Log(dtoResult.Balance); /*var transactionTransferRequest = new TransactionSignedUnityRequest(url, privateKey); * var newAddress = "0x88144534Bd291b9c3D7BDB9A92D7270566f5622d"; * * * var transactionMessage = new TransferFunction * { * FromAddress = account, * To = newAddress, * Value = 100000, * }; * * yield return transactionTransferRequest.SignAndSendTransaction(transactionMessage, deploymentReceipt.ContractAddress); * var transactionTransferHash = transactionTransferRequest.Result; * * Debug.Log("Transfer txn hash:" + transactionHash); * * transactionReceiptPolling = new TransactionReceiptPollingRequest(url); * yield return transactionReceiptPolling.PollForReceipt(transactionTransferHash, 2); * var transferReceipt = transactionReceiptPolling.Result; * * var transferEvent = transferReceipt.DecodeAllEvents<TransferEventDto>(); * Debug.Log("Transferd amount from event: " + transferEvent[0].Event.Value); * * var getLogsRequest = new EthGetLogsUnityRequest(url); * var eventTransfer = TransferEventDto.GetEventABI(); * yield return getLogsRequest.SendRequest(eventTransfer.CreateFilterInput(deploymentReceipt.ContractAddress, account)); * * var eventDecoded = getLogsRequest.Result.DecodeAllEvents<TransferEventDto>(); * Debug.Log("Transferd amount from get logs event: " + eventDecoded[0].Event.Value);*/ }
//Sample of new features / requests public IEnumerator DeployAndTransferToken() { var url = "http://localhost:8545"; var privateKey = "0xa5ca770c997e53e182c5015bcf1b58ba5cefe358bf217800d8ec7d64ca919edd"; var account = "0x47E95DCdb798Bc315198138bC930758E6f399f81"; //initialising the transaction request sender var transactionRequest = new TransactionSignedUnityRequest(url, privateKey, account); var deployContract = new EIP20Deployment() { InitialAmount = 10000, FromAddress = account, TokenName = "TST", TokenSymbol = "TST" }; //deploy the contract and True indicates we want to estimate the gas yield return(transactionRequest.SignAndSendDeploymentContractTransaction <EIP20DeploymentBase>(deployContract)); if (transactionRequest.Exception != null) { Debug.Log(transactionRequest.Exception.Message); yield break; } var transactionHash = transactionRequest.Result; Debug.Log("Deployment transaction hash:" + transactionHash); //create a poll to get the receipt when mined var transactionReceiptPolling = new TransactionReceiptPollingRequest(url); //checking every 2 seconds for the receipt yield return(transactionReceiptPolling.PollForReceipt(transactionHash, 2)); var deploymentReceipt = transactionReceiptPolling.Result; Debug.Log("Deployment contract address:" + deploymentReceipt.ContractAddress); //Query request using our acccount and the contracts address (no parameters needed and default values) var queryRequest = new QueryUnityRequest <BalanceOfFunction, BalanceOfFunctionOutput>(url, account); yield return(queryRequest.Query(new BalanceOfFunction() { Owner = account }, deploymentReceipt.ContractAddress)); //Getting the dto response already decoded var dtoResult = queryRequest.Result; Debug.Log(dtoResult.Balance); var transactionTransferRequest = new TransactionSignedUnityRequest(url, privateKey, account); var newAddress = "0x4e70A9177Aff5077217f069E582992f7F9bec945"; var transactionMessage = new TransferFunction { FromAddress = account, To = newAddress, Value = 1000, }; yield return(transactionTransferRequest.SignAndSendTransaction(transactionMessage, deploymentReceipt.ContractAddress)); var transactionTransferHash = transactionTransferRequest.Result; Debug.Log("Transfer txn hash:" + transactionHash); transactionReceiptPolling = new TransactionReceiptPollingRequest(url); yield return(transactionReceiptPolling.PollForReceipt(transactionTransferHash, 2)); var transferReceipt = transactionReceiptPolling.Result; var transferEvent = transferReceipt.DecodeAllEvents <TransferEventDTO>(); Debug.Log("Transferd amount from event: " + transferEvent[0].Event.Value); var getLogsRequest = new EthGetLogsUnityRequest(url); var eventTransfer = TransferEventDTO.GetEventABI(); yield return(getLogsRequest.SendRequest(eventTransfer.CreateFilterInput(deploymentReceipt.ContractAddress, account))); var eventDecoded = getLogsRequest.Result.DecodeAllEvents <TransferEventDTO>(); Debug.Log("Transferd amount from get logs event: " + eventDecoded[0].Event.Value); }