@@ -95,83 +95,71 @@ type Deserialization() =
9595 [<Test>]
9696 member __. ``signed btc transaction import`` () =
9797
98- let deserializedSignedTrans : SignedTransaction < IBlockchainFeeInfo > =
98+ let deserializedSignedTrans : SignedTransaction =
9999 Account.ImportSignedTransactionFromJson
100100 MarshallingData.SignedBtcTransactionExampleInJson
101101
102+ // Validate deserialized SignedTranasction
102103 Assert.That( deserializedSignedTrans, Is.Not.Null)
103104
105+ Assert.That( deserializedSignedTrans.Currency, Is.EqualTo Currency.BTC)
106+ Assert.That( deserializedSignedTrans.FeeCurrency, Is.EqualTo Currency.BTC)
104107 Assert.That( deserializedSignedTrans.RawTransaction,
105- Is.EqualTo " 0200000000010111b6e0460bb810b05744f8d38262f95fbab02b168b070598a6f31fad438fced4000000001716001427c106013c0042da165c082b3870c31fb3ab4683feffffff0200ca9a3b0000000017a914d8b6fcc85a383261df05423ddf068a8987bf0287873067a3fa0100000017a914d5df0b9ca6c0e1ba60a9ff29359d2600d9c6659d870247304402203b85cb05b43cc68df72e2e54c6cb508aa324a5de0c53f1bbfe997cbd7509774d022041e1b1823bdaddcd6581d7cde6e6a4c4dbef483e42e59e04dbacbaf537c3e3e8012103fbbdb3b3fc3abbbd983b20a557445fb041d6f21cc5977d2121971cb1ce5298978c000000" )
106-
107- Assert.That( deserializedSignedTrans.TransactionInfo, Is.Not.Null)
108- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal, Is.Not.Null)
109- Assert.That( deserializedSignedTrans.TransactionInfo.Cache, Is.Not.Null)
110- Assert.That( deserializedSignedTrans.TransactionInfo.Metadata, Is.Not.Null)
111-
112- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.Amount.ValueToSend,
113- Is.EqualTo( 10.01 m))
114- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.Amount.BalanceAtTheMomentOfSending,
115- Is.EqualTo 12.02 m)
116- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.Amount.Currency,
117- Is.EqualTo( Currency.BTC))
118- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.DestinationAddress,
119- Is.EqualTo( " 13jxHQDxGto46QhjFiMb78dZdys9ZD8vW5" ))
120- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.OriginAddress,
121- Is.EqualTo( " 16pKBjGGZkUXo1afyBNf5ttFvV9hauS1kR" ))
122-
123- let btcTxMetadata = deserializedSignedTrans.TransactionInfo.Metadata :?> UtxoCoin.TransactionMetadata
124- Assert.That( btcTxMetadata.Fee.EstimatedFeeInSatoshis, Is.EqualTo 10 )
125- Assert.That( btcTxMetadata.Inputs.Length, Is.EqualTo 1 )
126- Assert.That( deserializedSignedTrans.TransactionInfo.Metadata.FeeEstimationTime,
127- Is.EqualTo MarshallingData.SomeDate)
128-
129- Assert.That( deserializedSignedTrans.TransactionInfo.Cache.Balances.Count,
130- Is.EqualTo 5 )
131- Assert.That( deserializedSignedTrans.TransactionInfo.Cache.UsdPrice.Count,
132- Is.EqualTo 5 )
133-
108+ Is.EqualTo " 01000000000102cd9e4c06746721fe5d0ecdeabe29a0f05cc22bd7013ff76132efe476d9346bdc0000000017160014618869483590d6c1afe51160f244982e055d213ffdffffffef2763e4690975dc9415d36c06361ddee8393e6d9d86edd748ca21f10788fbc30100000017160014618869483590d6c1afe51160f244982e055d213ffdffffff01ba89000000000000220020574712746ca1942b8f0e3d52e4c1fd9406c3e1b602b328a2a77a57c233fed4640247304402206e9359074007c597a8243d4e5bbfb18ccfd83c0206fcbd1fafc02eb4946852f90220566e0d719b48d11f193d5d6d80eccbaaf44ee1771bf9ea7fd3810d41c5cb429f012102b7326aff8f2e56a341c31fbf50d0ce1a641859d837daffd7bf03f1f80a8c5eaa0247304402202fdbb2ea123c1150b26835ecd54cd59a22bca6a47f32167b35f355fbfcc12d22022011b8314e51b229d6d5a5ee216c9e038b5e05d1b5123485b935a1f823f2bf2279012102b7326aff8f2e56a341c31fbf50d0ce1a641859d837daffd7bf03f1f80a8c5eaa00000000" )
109+
110+ // Can't validate proposal because of "unknown origin account" error
111+
112+ let btcTxMetadata =
113+ Account.GetTransactionMetadata deserializedSignedTrans
114+ |> Async.RunSynchronously
115+ :?> UtxoCoin.TransactionMetadata
116+
117+ Assert.That( btcTxMetadata.Fee.EstimatedFeeInSatoshis, Is.EqualTo 980 )
118+ Assert.That( btcTxMetadata.Inputs.Length, Is.EqualTo 2 )
119+
134120 [<Test>]
135121 member __. ``signed ether transaction import`` () =
136122
137- let deserializedSignedTrans : SignedTransaction < IBlockchainFeeInfo > =
123+ let deserializedSignedTrans : SignedTransaction =
138124 Account.ImportSignedTransactionFromJson
139125 MarshallingData.SignedEtherTransactionExampleInJson
140126
127+ // Validate deserialized SignedTransaction
141128 Assert.That( deserializedSignedTrans, Is.Not.Null)
142129
143130 Assert.That( deserializedSignedTrans.RawTransaction,
144- Is.EqualTo( " doijfsoifjdosisdjfomirmjosmi" ))
145-
146- Assert.That( deserializedSignedTrans.TransactionInfo, Is.Not.Null)
147- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal, Is.Not.Null)
148- Assert.That( deserializedSignedTrans.TransactionInfo.Cache, Is.Not.Null)
149- Assert.That( deserializedSignedTrans.TransactionInfo.Metadata, Is.Not.Null)
131+ Is.EqualTo( " f86b0185019d334a3482520894d2fdfa29d5ccbb8168ba248d59ded7a25396f84e87022a8ad81f98768026a06bb7c1f8f2b40ed2bc3a3b572cdde7fddb42a8d43c561c60580183b0ed8c2d9fa035183359feab8789642135a253371f80781f4a870f0cae8a7368c5d7e102a688" ))
150132
151- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.Amount.ValueToSend,
152- Is.EqualTo( 10.01 m))
153- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.Amount.BalanceAtTheMomentOfSending,
154- Is.EqualTo 12.02 m)
155- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.Amount.Currency,
156- Is.EqualTo( Currency.ETC))
157- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.DestinationAddress,
158- Is.EqualTo( " 0xf3j4m0rjxdddud9403j" ))
159- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.OriginAddress,
160- Is.EqualTo( " 0xf3j4m0rjx94sushh03j" ))
133+ Assert.That( deserializedSignedTrans.Currency,
134+ Is.EqualTo( Currency.ETH))
135+
136+ Assert.That( deserializedSignedTrans.FeeCurrency,
137+ Is.EqualTo( Currency.ETH))
161138
162- let etherTxMetadata = deserializedSignedTrans.TransactionInfo.Metadata :?> Ether.TransactionMetadata
163- Assert.That( etherTxMetadata.TransactionCount, Is.EqualTo( 69 ))
139+
140+ // Validate generated proposal
141+ let proposal = Account.GetTransactionProposal deserializedSignedTrans
142+
143+ Assert.That( proposal.Amount.ValueToSend,
144+ Is.EqualTo( 0.000609725773224054 m))
145+ Assert.That( proposal.Amount.Currency,
146+ Is.EqualTo( Currency.ETH))
147+ Assert.That( proposal.DestinationAddress,
148+ Is.EqualTo( " 0xd2FDFA29D5ccbb8168Ba248D59dED7a25396f84E" ))
149+ Assert.That( proposal.OriginAddress,
150+ Is.EqualTo( " 0xc295DDB9B89AFb7B0b23cFb76cb34ce33bc854D5" ))
151+
152+ // Validate generated metadata
153+ let etherTxMetadata =
154+ Account.GetTransactionMetadata deserializedSignedTrans
155+ |> Async.RunSynchronously
156+ :?> Ether.TransactionMetadata
157+
158+ Assert.That( etherTxMetadata.TransactionCount, Is.EqualTo( 1 ))
164159 Assert.That( etherTxMetadata.Fee.Currency,
165- Is.EqualTo( Currency.ETC ))
160+ Is.EqualTo( Currency.ETH ))
166161 Assert.That( etherTxMetadata.Fee.GasPriceInWei,
167- Is.EqualTo( 6969 ))
168- Assert.That( deserializedSignedTrans.TransactionInfo.Metadata.FeeEstimationTime,
169- Is.EqualTo MarshallingData.SomeDate)
170-
171- Assert.That( deserializedSignedTrans.TransactionInfo.Cache.Balances.Count,
172- Is.EqualTo( 2 ))
173- Assert.That( deserializedSignedTrans.TransactionInfo.Cache.UsdPrice.Count,
174- Is.EqualTo( 2 ))
162+ Is.EqualTo( 6932351540 UL))
175163
176164 [<Test>]
177165 member __. ``unsigned SAI transaction import`` () =
@@ -204,46 +192,48 @@ type Deserialization() =
204192 Assert.That( deserializedUnsignedTrans.Cache.UsdPrice.Count, Is.EqualTo( 5 ))
205193
206194 [<Test>]
207- member __. ``signed SAI transaction import`` () =
195+ member __. ``signed DAI transaction import`` () =
208196
209- let deserializedSignedTrans : SignedTransaction < IBlockchainFeeInfo > =
197+ let deserializedSignedTrans : SignedTransaction =
210198 Account.ImportSignedTransactionFromJson
211- MarshallingData.SignedSaiTransactionExampleInJson
199+ MarshallingData.SignedDaiTransactionExampleInJson
212200
201+ // Validate deserialized SignedTransaction
213202 Assert.That( deserializedSignedTrans, Is.Not.Null)
214203
215204 Assert.That( deserializedSignedTrans.RawTransaction,
216- Is.EqualTo( " f8a80784c74d93708291b29489d24a6b4ccb1b6faa2625fe562bdd9a2326035980b844a9059cbb000000000000000000000000db0381b1a380d8db2724a9ca2d33e0c6c044be3b0000000000000000000000000000000000000000000000000de0b6b3a764000026a072cdeb03affd5977c76366efbc1405fbb4fa997ce72c1e4554ba9ec5ef772ddca069d522ea304efebd2537330870bc1ca9e9a6fe3eb5f8d8f66c1b82d9fc27a4bf " ))
205+ Is.EqualTo( " f8a90185016c653675828792946b175474e89094c44da98b954eedeac495271d0f80b844a9059cbb000000000000000000000000d2fdfa29d5ccbb8168ba248d59ded7a25396f84e0000000000000000000000000000000000000000000000000de0b6b3a764000026a0d5c49133f38f3b60aa41747a4b7cc300a6dac87803b82ba23af9a97fd5994c3ea03122864fd6b294a3da2f3827e70fa861838a168f6533e03587358a6bdc594235 " ))
217206
218- Assert.That( deserializedSignedTrans.TransactionInfo, Is.Not.Null)
219- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal, Is.Not.Null)
220- Assert.That( deserializedSignedTrans.TransactionInfo.Cache, Is.Not.Null)
221- Assert.That( deserializedSignedTrans.TransactionInfo.Metadata, Is.Not.Null)
222-
223- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.Amount.ValueToSend,
224- Is.EqualTo( 1 m))
225- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.Amount.BalanceAtTheMomentOfSending,
226- Is.EqualTo 7.08 m)
227- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.Amount.Currency,
228- Is.EqualTo Currency.SAI)
229- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.DestinationAddress,
230- Is.EqualTo( " 0xDb0381B1a380d8db2724A9Ca2d33E0C6C044bE3b" ))
231- Assert.That( deserializedSignedTrans.TransactionInfo.Proposal.OriginAddress,
232- Is.EqualTo( " 0xba766d6d13E2Cc921Bf6e896319D32502af9e37E" ))
233-
234- let etherTxMetadata = deserializedSignedTrans.TransactionInfo.Metadata :?> Ether.TransactionMetadata
235- Assert.That( etherTxMetadata.TransactionCount, Is.EqualTo( 7 ))
207+ Assert.That( deserializedSignedTrans.Currency,
208+ Is.EqualTo Currency.DAI)
209+
210+ Assert.That( deserializedSignedTrans.FeeCurrency,
211+ Is.EqualTo( Currency.ETH))
212+
213+ // Validate generated proposal
214+ let proposal = Account.GetTransactionProposal deserializedSignedTrans
215+
216+ Assert.That( proposal.Amount.ValueToSend,
217+ Is.EqualTo( 1.0 m))
218+ Assert.That( proposal.Amount.Currency,
219+ Is.EqualTo( Currency.DAI))
220+ Assert.That( proposal.DestinationAddress,
221+ Is.EqualTo( " 0xd2FDFA29D5ccbb8168Ba248D59dED7a25396f84E" ))
222+ Assert.That( proposal.OriginAddress,
223+ Is.EqualTo( " 0xc295DDB9B89AFb7B0b23cFb76cb34ce33bc854D5" ))
224+
225+ // Validate generated metadata
226+ let etherTxMetadata =
227+ Account.GetTransactionMetadata deserializedSignedTrans
228+ |> Async.RunSynchronously
229+ :?> Ether.TransactionMetadata
230+
231+ Assert.That( etherTxMetadata.TransactionCount, Is.EqualTo( 1 ))
236232 Assert.That( etherTxMetadata.Fee.Currency,
237233 Is.EqualTo( Currency.ETH))
238234 Assert.That( etherTxMetadata.Fee.GasPriceInWei,
239- Is.EqualTo( 3343750000 L))
240- Assert.That( deserializedSignedTrans.TransactionInfo.Metadata.FeeEstimationTime,
241- Is.EqualTo MarshallingData.SomeDate)
235+ Is.EqualTo( 6113539701 UL))
242236
243- Assert.That( deserializedSignedTrans.TransactionInfo.Cache.Balances.Count,
244- Is.EqualTo 5 )
245- Assert.That( deserializedSignedTrans.TransactionInfo.Cache.UsdPrice.Count,
246- Is.EqualTo( 5 ))
247237
248238 [<Test>]
249239 member __. ``can roundtrip currency`` () =
0 commit comments