これにより、セールコントラクトの mint 関数が呼び出されます。ユーザーのウォレットアドレスを to パラメータに指定することで、そのユーザーにアイテムがミントされます。ERC1155Sale.cs クラスを使って CallContractFunction を作成し、ユーザーのウォレットからセールコントラクトへトランザクションを送信できます。
class ERC1155SaleState;public async Task<bool> PurchaseAsync(BigInteger tokenId, int amount){ string to = _wallet.GetWalletAddress(); byte[] defaultProof = Array.Empty<byte>(); CallContractFunction contractCall = _saleContract.Mint(to, new[] {tokenId}, new[] {new BigInteger(amount)}, null, PaymentToken, new BigInteger(1), defaultProof); Transaction[] transactions = new Transaction[] { new RawTransaction(contractCall) }; TransactionReturn result = await _wallet.SendTransaction(_chain, transactions); return result is SuccessfulTransactionReturn;}