Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
EDalerInstantPaymentUri.cs
1using System;
2using System.Collections.Generic;
9
11{
16 {
43 Guid Id, decimal Amount, decimal? AmountExtra, string Currency, DateTime Expires, DateTime Created,
51 {
52 }
53
60 public override void AddTransactionParts(List<ITransaction> Subtransactions, bool LocalOnly, LegalComponent Legal)
61 {
62 if (!(this.ContractCondition is null))
63 Subtransactions.Add(new ValidateContractSigned(this, Legal));
64
65 if (this.PrincipalDomain == this.EDaler.Server.Domain)
66 Subtransactions.Add(new LocalSender(this, true));
67 else if (!LocalOnly)
68 this.AddSecondaryDomain(Subtransactions, this, this.PrincipalDomain);
69
70 if (this.SecondaryDomain == this.EDaler.Server.Domain)
71 Subtransactions.Add(new LocalRecipient(this, LocalOnly && (this.PrincipalDomain != this.SecondaryDomain)));
72 else if (!LocalOnly)
73 this.AddSecondaryDomain(Subtransactions, this, this.SecondaryDomain);
74 }
75 }
76}
Contains information about one XMPP address.
Definition: XmppAddress.cs:9
Represents a case-insensitive string.
Manages eDaler on accounts connected to the broker.
Validates a contract has been signed before a transaction can be realized.
eDaler URI representing the instant payment of eDaler from a sender to a receiver.
EDalerInstantPaymentUri(EDalerComponent EDaler, EDalerUriState State, string UriString, Guid Id, decimal Amount, decimal? AmountExtra, string Currency, DateTime Expires, DateTime Created, byte[] Signature, CaseInsensitiveString PrincipalDomain, XmppAddress From, EntityType FromType, byte[] PreSign, CaseInsensitiveString SecondaryDomain, XmppAddress To, EntityType ToType, byte[] EncryptedMessage, byte[] EncryptionPublicKey, CaseInsensitiveString ContractCondition)
eDaler URI representing the instant payment of eDaler from a sender to a receiver.
override void AddTransactionParts(List< ITransaction > Subtransactions, bool LocalOnly, LegalComponent Legal)
Adds subtransaction objects necessary to process the URI.
Abstract base class for eDaler URIs
Definition: EDalerUri.cs:20
CaseInsensitiveString ContractCondition
Optional Contract defining conditions that must be met before payment can be realized....
Definition: EDalerUri.cs:210
EntityType ToType
Type of recipient.
Definition: EDalerUri.cs:191
string UriString
Original URI String.
Definition: EDalerUri.cs:101
void AddSecondaryDomain(List< ITransaction > Subtransactions, EDalerUri Uri, CaseInsensitiveString Domain)
Adds a relay to a secondary domain, if one has not already been added.
Definition: EDalerUri.cs:226
EDalerUriState State
URI State object.
Definition: EDalerUri.cs:173
byte[] PreSign
Binary representation of URI, before appending signature.
Definition: EDalerUri.cs:162
DateTime Created
When URI was created
Definition: EDalerUri.cs:136
CaseInsensitiveString SecondaryDomain
Secondary domain
Definition: EDalerUri.cs:181
byte[] EncryptedMessage
Encrypted message for recipient. If EncryptionPublicKey is null, the message is just UTF-8 encoded.
Definition: EDalerUri.cs:197
CaseInsensitiveString PrincipalDomain
Principal domain (i.e domain controlling the execution of the transaction.)
Definition: EDalerUri.cs:157
byte[] EncryptionPublicKey
Sender public key used to generate the shared secret to encrypt the message for the recipient....
Definition: EDalerUri.cs:204
EntityType
Type of entity referred to in transaction.
Definition: Transaction.cs:15