public static async Task <Bundle> PublishWithAreaCodeAsync(this IIotaRepository repository, TryteString message, IotaAreaCode areaCode, Address address = null) { if (address == null) { address = new Address(Seed.Random().Value); } var bundle = new Bundle(); bundle.AddTransfer(new Transfer { Address = address, Message = message, Tag = new Tag(areaCode.Value), Timestamp = Timestamp.UnixSecondsTimestamp }); bundle.Finalize(); bundle.Sign(); var transactionTrytes = await repository.SendTrytesAsync(bundle.Transactions, 2); return(Bundle.FromTransactionTrytes(transactionTrytes, bundle.Hash)); }