Skip to content

Instantly share code, notes, and snippets.

View farukterzioglu's full-sized avatar
🎯
Focusing

Faruk Terzioğlu farukterzioglu

🎯
Focusing
View GitHub Profile
[Test]
public async Task GetEvents_Filtered()
{
string contractAddress = "0xD267808D8fB2F2D6b02074DAC2F00036D5FcB3EE";
var transferEventHandler = _web3.Eth.GetEvent<TransferEventDTO>(contractAddress);
string ownerAddress = "0x228cD92AA7E3e2B4353597ec0B767B856d03E489";
string receiverAddress = "0x576077aCC546d475845a4178ECF0B467CC7D7e10";
var filterAllTransferEvents = transferEventHandler.CreateFilterInput();
Test]
public async Task GetEvents()
{
string contractAddress = "0xD267808D8fB2F2D6b02074DAC2F00036D5FcB3EE";
var transferEventHandler = _web3.Eth.GetEvent<TransferEventDTO>(contractAddress);
var filterAllTransferEvents = transferEventHandler.CreateFilterInput();
var allTransferEvents = await transferEventHandler.GetAllChanges(filterAllTransferEvents);
foreach (var transferEvent in allTransferEvents)
[Event("Transfer")]
public class TransferEventDTO : IEventDTO
{
[Parameter("address", "_from", 1, true)]
public string From { get; set; }
[Parameter("address", "_to", 2, true)]
public string To { get; set; }
[Parameter("uint256", "_value", 3, false)]
[Test]
public async Task Transfer()
{
string contractAddress = "0xD267808D8fB2F2D6b02074DAC2F00036D5FcB3EE";
string ownerAddress = "0x228cD92AA7E3e2B4353597ec0B767B856d03E489";
string receiverAddress = "0x576077aCC546d475845a4178ECF0B467CC7D7e10";
var transferHandler = _web3.Eth.GetContractTransactionHandler<TransferFunction>();
var transfer = new TransferFunction() { To = receiverAddress, TokenAmount = 1 };
await transferHandler.SendRequestAndWaitForReceiptAsync(contractAddress, transfer);
[Function("transfer", "bool")]
public class TransferFunction : FunctionMessage
{
[Parameter("address", "_to", 1)]
public string To { get; set; }
[Parameter("uint256", "_value", 2)]
public BigInteger TokenAmount { get; set; }
}
[Function("balanceOf", "uint256")]
public class BalanceOfFunction : FunctionMessage
{
[Parameter("address", "_owner", 1)]
public string Owner { get; set; }
}
[Test]
public async Task GetBalance()
{
string contractAddress = "0xD267808D8fB2F2D6b02074DAC2F00036D5FcB3EE";
string ownerAddress = "0x228cD92AA7E3e2B4353597ec0B767B856d03E489";
string receiverAddress = "0x576077aCC546d475845a4178ECF0B467CC7D7e10";
var balanceHandler = _web3.Eth.GetContractQueryHandler<BalanceOfFunction>();
var ownerBalance = await balanceHandler.QueryAsync<BigInteger>(contractAddress, new BalanceOfFunction() { Owner = ownerAddress });
Assert.AreEqual(10, (int) ownerBalance);
@farukterzioglu
farukterzioglu / ArticleTest.cs
Last active September 4, 2019 07:29
Erc20-4
[Test]
public async Task DeployContract()
{
var deploymentMessage = new TokenDeployment { TotalSupply = 10 };
var deploymentHandler = _web3.Eth.GetContractDeploymentHandler<TokenDeployment>();
var transactionReceipt = await deploymentHandler.SendRequestAndWaitForReceiptAsync(deploymentMessage);
_contractAddress = transactionReceipt.ContractAddress;
}
#region Assembly Nethereum.Contracts, Version=3.0.0.0, Culture=neutral, PublicKeyToken=8768a594786aba4e
// Nethereum.Contracts.dll
#endregion
using Nethereum.Contracts.CQS;
namespace Nethereum.Contracts
{
public class ContractDeploymentMessage : ContractMessageBase
{
public class TetherTokenDeployment : ContractDeploymentMessage
{
public static string BYTECODE = "0x60606040526040516020806106f5833981016040528080519060200190919050505b80600160005060003373ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060005081905550806000600050819055505b506106868061006f6000396000f360606040523615610074576000357c010000000000000000000000000000000000000000000000000000000090048063095ea7b31461008157806318160ddd146100b657806323b872dd146100d957806370a0823114610117578063a9059cbb14610143578063dd62ed3e1461017857610074565b61007f5b610002565b565b005b6100a060048080359060200190919080359060200190919050506101ad565b6040518082815260200191505060405180910390f35b6100c36004805050610674565b6040518082815260200191505060405180910390f35b6101016004808035906020019091908035906020019091908035906020019091905050610281565b6040518082815260200191505060405180910390f35b61012d600480803590602001909190505061048d565b6040518082815260200191505060405180910390f35b61016260048080359060200190919080359060200190919050