Skip to content

Commit c164d5d

Browse files
authored
Account ordering now matches web3.js (#405)
* Account ordering now matches web3.js * Revemod a oopsie.
1 parent e61b309 commit c164d5d

File tree

4 files changed

+70
-88
lines changed

4 files changed

+70
-88
lines changed

SharedBuildProperties.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<PropertyGroup>
44
<Product>Solnet</Product>
5-
<Version>6.0.14</Version>
5+
<Version>6.1.0</Version>
66
<Copyright>Copyright 2022 &#169; Solnet</Copyright>
77
<Authors>blockmountain</Authors>
88
<PublisherName>blockmountain</PublisherName>

src/Solnet.Rpc/Models/AccountKeysList.cs

+11-18
Original file line numberDiff line numberDiff line change
@@ -21,30 +21,23 @@ internal List<AccountMeta> AccountList
2121
{
2222
get
2323
{
24-
List<AccountMeta> res = new(_accounts.Count);
25-
for (int i = 0; i < _accounts.Count; i++)
26-
{
27-
if (_accounts[i].IsSigner)
28-
{
29-
res.Add(_accounts[i]);
30-
}
31-
}
24+
List<AccountMeta> res = _accounts.Select(acc => acc).ToList();
3225

33-
for (int i = 0; i < _accounts.Count; i++)
26+
res.Sort((x, y) =>
3427
{
35-
if (!_accounts[i].IsSigner && _accounts[i].IsWritable)
28+
if (x.IsSigner != y.IsSigner)
3629
{
37-
res.Add(_accounts[i]);
30+
// Signers always come before non-signers
31+
return x.IsSigner ? -1 : 1;
3832
}
39-
}
40-
41-
for (int i = 0; i < _accounts.Count; i++)
42-
{
43-
if (!_accounts[i].IsSigner && !_accounts[i].IsWritable)
33+
if (x.IsWritable != y.IsWritable)
4434
{
45-
res.Add(_accounts[i]);
35+
// Writable accounts always come before read-only accounts
36+
return x.IsWritable ? -1 : 1;
4637
}
47-
}
38+
// Otherwise, sort by pubkey, stringwise.
39+
return x.PublicKey.CompareTo(y.PublicKey);
40+
});
4841

4942
return res;
5043
}

test/Solnet.Rpc.Test/TransactionBuilderTest.cs

+18-12
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,19 @@ public class TransactionBuilderTest
3434
"bnmzhen0yUOsH2zbbgICAgABDAIAAACAlpgAAAAAAAMBABVIZWxsbyBmcm9tIFNvbC5OZXQgOik=";
3535

3636
private const string ExpectedTransactionHashCreateInitializeAndMintTo =
37-
"A5X22for3AxcX09IKX5Cbrpvv4k/1TcdTY2wf6vkq7Wcb/3fwMjA0vCshKkBG0EXQM2oKanIaQilKC/L" +
38-
"KLmTYwc2yOVXu0TZCGwraCrxf4Pr8KpvTZZcUz/s4sls3VzGRqQmIhR3nXBR/O3\u002B4ZdICd8hYXb" +
39-
"USqUBE\u002B4qCwpbC7gLlVo1ErARFL9csoTPvxA3/00wTxbs01sXlAH5t\u002ByAiwlan7B24Za3d" +
40-
"CYydaczAOenGVU0nxBrz/gdFZgCJArZAAMABAdHaauXIEuoP7DK7hf3ho8eB05SFYGg2J2UN52qZbcXs" +
41-
"k\u002BnIqdN4P6YFyTS64cak6Wd2hx9Qsbwf4gfPc5VPJvFTT4lvYz77q8imSqvzO/5qiFW9tKqfO4l5F" +
42-
"KhFh6lZQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAan1RcZLFxRIYzJTD1K8X9Y2u4Im6H9" +
43-
"ROPb2YoAAAAABt324ddloZPZy\u002BFGzut5rBy0he1fWzeROoz1hX7/AKkFSlNQ\u002BF3IgtYUpVZye" +
44-
"Iopbd8eq6vQpgZ4iEky9O72oOD/Y3arpTMrvjv2uP0ZD3LVkDTmRAfOpQ603IYXOGjCBgMCAAE0AAAAAGBN" +
45-
"FgAAAAAAUgAAAAAAAAAG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqQUCAQRDAAJHaauXIEuoP7DK" +
46-
"7hf3ho8eB05SFYGg2J2UN52qZbcXsgFHaauXIEuoP7DK7hf3ho8eB05SFYGg2J2UN52qZbcXsgMCAAI0AAAA" +
47-
"APAdHwAAAAAApQAAAAAAAAAG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqQUEAgEABAEBBQMBAgA" +
48-
"JB6hhAAAAAAAABgECEkhlbGxvIGZyb20gU29sLk5ldA==";
37+
"A056qhN8bf9baCZ6SwzUlM6ge4X19TzoKANpDjg9CUGQTvIOYu27MvTcscgGov0aMkuiM9N8g" +
38+
"1D2bMJSvYBpWwi2IP+9oPzCj4b0AWm6uLxLv+JrMwVB8gJBYf4JtXotWDY504QIm9IqEemgUK" +
39+
"vWkb+9dNatYsR3d9xcqxQ14mAEAq147oIAH+FQbHj2PhdP61KXqTN7T0EclKQMJLyhkqeyREF" +
40+
"10Ttg99bcwTuXMxfR5rstI/kg/0Cagr/Ua+SoAQMABAdHaauXIEuoP7DK7hf3ho8eB05SFYGg" +
41+
"2J2UN52qZbcXsk0+Jb2M++6vIpkqr8zv+aohVvbSqnzuJeRSoRYepWULT6cip03g/pgXJNLrh" +
42+
"xqTpZ3aHH1CxvB/iB89zlU8m8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVKU1" +
43+
"D4XciC1hSlVnJ4iilt3x6rq9CmBniISTL07vagBqfVFxksXFEhjMlMPUrxf1ja7gibof1E49v" +
44+
"ZigAAAAAG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqeD/Y3arpTMrvjv2uP0ZD3LV" +
45+
"kDTmRAfOpQ603IYXOGjCBgMCAAI0AAAAAGBNFgAAAAAAUgAAAAAAAAAG3fbh12Whk9nL4UbO6" +
46+
"3msHLSF7V9bN5E6jPWFfv8AqQYCAgVDAAJHaauXIEuoP7DK7hf3ho8eB05SFYGg2J2UN52qZb" +
47+
"cXsgFHaauXIEuoP7DK7hf3ho8eB05SFYGg2J2UN52qZbcXsgMCAAE0AAAAAPAdHwAAAAAApQA" +
48+
"AAAAAAAAG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqQYEAQIABQEBBgMCAQAJB6hh" +
49+
"AAAAAAAABAEBEkhlbGxvIGZyb20gU29sLk5ldA==";
4950

5051
private const string Nonce = "2S1kjspXLPs6jpNVXQfNMqZzzSrKLbGdr9Fxap5h1DLN";
5152

@@ -179,6 +180,11 @@ public void CreateInitializeAndMintToTest()
179180
.AddInstruction(MemoProgram.NewMemo(initialAccount, "Hello from Sol.Net"))
180181
.Build(new List<Account> { ownerAccount, mintAccount, initialAccount });
181182

183+
var tx2 = Transaction.Deserialize(tx);
184+
var msg = tx2.CompileMessage();
185+
186+
Assert.IsTrue(tx2.Signatures[0].PublicKey.Verify(msg, tx2.Signatures[0].Signature));
187+
182188
Assert.AreEqual(ExpectedTransactionHashCreateInitializeAndMintTo, Convert.ToBase64String(tx));
183189
}
184190

test/Solnet.Rpc.Test/TransactionTest.cs

+40-57
Original file line numberDiff line numberDiff line change
@@ -47,52 +47,35 @@ public class TransactionTest
4747

4848
private static byte[] CraftTransactionBytes =
4949
{
50-
3, 39, 133, 112, 132, 32, 126, 228, 126, 162, 203, 140, 203, 161, 134, 191, 186, 195, 40, 66, 175, 125,
51-
129, 149, 141, 94, 83, 223, 88, 37, 237, 88, 160, 147, 101, 191, 50, 230, 58, 245, 82, 5, 23, 44, 122,
52-
79, 224, 190, 225, 206, 132, 15, 138, 137, 143, 17, 148, 250, 111, 164, 35, 208, 194, 9, 2, 18, 107, 39,
53-
21, 58, 29, 82, 145, 91, 70, 215, 39, 5, 18, 104, 69, 228, 20, 179, 207, 44, 0, 143, 140, 164, 142, 97,
54-
61, 34, 203, 104, 86, 167, 132, 38, 160, 245, 146, 209, 198, 46, 113, 162, 37, 33, 79, 154, 9, 84, 215,
55-
138, 178, 241, 209, 128, 108, 251, 109, 233, 117, 140, 30, 19, 1, 10, 137, 215, 161, 51, 158, 235, 5,
56-
105, 100, 174, 155, 117, 233, 203, 245, 129, 157, 103, 245, 180, 60, 238, 83, 84, 195, 60, 30, 27, 245,
57-
172, 26, 8, 40, 74, 196, 187, 184, 163, 152, 209, 104, 65, 214, 173, 26, 102, 193, 86, 155, 75, 39, 49,
58-
253, 178, 64, 41, 155, 43, 230, 220, 207, 157, 0, 3, 0, 4, 7, 71, 105, 171, 151, 32, 75, 168, 63, 176,
59-
202, 238, 23, 247, 134, 143, 30, 7, 78, 82, 21, 129, 160, 216, 157, 148, 55, 157, 170, 101, 183, 23,
60-
178, 215, 137, 216, 107, 200, 181, 124, 152, 190, 73, 13, 182, 204, 46, 141, 8, 127, 222, 225, 79, 199,
61-
135, 152, 53, 129, 239, 152, 82, 141, 143, 98, 133, 205, 251, 13, 211, 102, 148, 169, 147, 62, 156, 122,
62-
35, 98, 20, 157, 88, 150, 56, 27, 74, 223, 168, 25, 163, 120, 95, 11, 3, 42, 184, 239, 59, 0, 0, 0, 0,
63-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 167, 213, 23, 25,
64-
44, 92, 81, 33, 140, 201, 76, 61, 74, 241, 127, 88, 218, 238, 8, 155, 161, 253, 68, 227, 219, 217, 138,
65-
0, 0, 0, 0, 6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133,
66-
237, 95, 91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169, 5, 74, 83, 80, 248, 93, 200, 130, 214, 20,
67-
165, 86, 114, 120, 138, 41, 109, 223, 30, 171, 171, 208, 166, 6, 120, 136, 73, 50, 244, 238, 246, 160,
68-
206, 78, 169, 189, 0, 235, 196, 10, 163, 190, 178, 243, 194, 80, 1, 89, 248, 166, 252, 150, 61, 65, 187,
69-
142, 133, 205, 198, 253, 19, 241, 15, 248, 6, 3, 2, 0, 1, 52, 0, 0, 0, 0, 96, 77, 22, 0, 0, 0, 0, 0, 82,
70-
0, 0, 0, 0, 0, 0, 0, 6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28,
71-
180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169, 5, 2, 1, 4, 67, 0, 2, 71, 105, 171,
72-
151, 32, 75, 168, 63, 176, 202, 238, 23, 247, 134, 143, 30, 7, 78, 82, 21, 129, 160, 216, 157, 148, 55,
73-
157, 170, 101, 183, 23, 178, 1, 71, 105, 171, 151, 32, 75, 168, 63, 176, 202, 238, 23, 247, 134, 143,
74-
30, 7, 78, 82, 21, 129, 160, 216, 157, 148, 55, 157, 170, 101, 183, 23, 178, 3, 2, 0, 2, 52, 0, 0, 0, 0,
75-
240, 29, 31, 0, 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 6, 221, 246, 225, 215, 101, 161, 147, 217, 203,
76-
225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169, 5,
77-
4, 2, 1, 0, 4, 1, 1, 5, 3, 1, 2, 0, 9, 7, 64, 66, 15, 0, 0, 0, 0, 0, 6, 1, 2, 18, 72, 101, 108, 108,
78-
111, 32, 102, 114, 111, 109, 32, 83, 111, 108, 46, 78, 101, 116
79-
};
50+
3, 230, 155, 244, 7, 138, 48, 69, 134, 17, 31, 188, 153, 121, 114, 199, 185, 236, 232, 115, 176, 139,
51+
150, 72, 167, 98, 110, 93, 170, 237, 95, 49, 204, 1, 100, 43, 189, 169, 146, 230, 50, 24, 217, 145, 178,
52+
114, 72, 186, 85, 3, 184, 2, 122, 27, 231, 100, 58, 113, 159, 65, 161, 136, 77, 147, 5, 232, 59, 124,
53+
162, 191, 129, 233, 0, 130, 46, 252, 112, 3, 165, 31, 143, 210, 206, 153, 164, 16, 118, 173, 237, 141,
54+
185, 150, 235, 248, 205, 254, 173, 217, 139, 60, 16, 35, 126, 75, 111, 138, 38, 150, 13, 120, 180, 170,
55+
187, 63, 131, 238, 189, 66, 63, 145, 33, 121, 136, 174, 102, 31, 66, 104, 13, 213, 251, 200, 222, 131, 69,
56+
208, 88, 110, 109, 2, 115, 201, 248, 97, 158, 253, 222, 194, 201, 191, 121, 216, 69, 235, 79, 220, 19, 22,
57+
172, 232, 229, 3, 76, 93, 12, 158, 231, 28, 107, 148, 8, 177, 6, 237, 80, 176, 106, 121, 65, 72, 91, 223,
58+
34, 14, 213, 247, 191, 254, 72, 195, 99, 4, 13, 3, 0, 4, 7, 71, 105, 171, 151, 32, 75, 168, 63, 176, 202,
59+
238, 23, 247, 134, 143, 30, 7, 78, 82, 21, 129, 160, 216, 157, 148, 55, 157, 170, 101, 183, 23, 178, 205,
60+
251, 13, 211, 102, 148, 169, 147, 62, 156, 122, 35, 98, 20, 157, 88, 150, 56, 27, 74, 223, 168, 25, 163,
61+
120, 95, 11, 3, 42, 184, 239, 59, 215, 137, 216, 107, 200, 181, 124, 152, 190, 73, 13, 182, 204, 46, 141,
62+
8, 127, 222, 225, 79, 199, 135, 152, 53, 129, 239, 152, 82, 141, 143, 98, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0,
63+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 74, 83, 80, 248, 93, 200, 130, 214,
64+
20, 165, 86, 114, 120, 138, 41, 109, 223, 30, 171, 171, 208, 166, 6, 120, 136, 73, 50, 244, 238, 246, 160,
65+
6, 167, 213, 23, 25, 44, 92, 81, 33, 140, 201, 76, 61, 74, 241, 127, 88, 218, 238, 8, 155, 161, 253, 68, 227,
66+
219, 217, 138, 0, 0, 0, 0, 6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28,
67+
180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169, 206, 78, 169, 189, 0, 235, 196, 10, 163,
68+
190, 178, 243, 194, 80, 1, 89, 248, 166, 252, 150, 61, 65, 187, 142, 133, 205, 198, 253, 19, 241, 15, 248, 6,
69+
3, 2, 0, 2, 52, 0, 0, 0, 0, 96, 77, 22, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 6, 221, 246, 225, 215, 101,
70+
161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133, 126,
71+
255, 0, 169, 6, 2, 2, 5, 67, 0, 2, 71, 105, 171, 151, 32, 75, 168, 63, 176, 202, 238, 23, 247, 134, 143, 30,
72+
7, 78, 82, 21, 129, 160, 216, 157, 148, 55, 157, 170, 101, 183, 23, 178, 1, 71, 105, 171, 151, 32, 75, 168,
73+
63, 176, 202, 238, 23, 247, 134, 143, 30, 7, 78, 82, 21, 129, 160, 216, 157, 148, 55, 157, 170, 101, 183,
74+
23, 178, 3, 2, 0, 1, 52, 0, 0, 0, 0, 240, 29, 31, 0, 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 6, 221, 246, 225,
75+
215, 101, 161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245,
76+
133, 126, 255, 0, 169, 6, 4, 1, 2, 0, 5, 1, 1, 6, 3, 2, 1, 0, 9, 7, 64, 66, 15, 0, 0, 0, 0, 0, 4, 1, 1, 18,
77+
72, 101, 108, 108, 111, 32, 102, 114, 111, 109, 32, 83, 111, 108, 46, 78, 101, 116
8078

81-
private static readonly byte[] Base64MessageBytes =
82-
{
83-
2, 0, 4, 6, 103, 132, 83, 145, 168, 194, 85, 123, 82, 13, 216, 210, 8, 202, 191, 237, 245, 126, 242,
84-
121, 138, 175, 133, 11, 234, 99, 249, 185, 73, 124, 75, 186, 215, 144, 108, 229, 90, 58, 154, 117, 217,
85-
94, 248, 119, 229, 66, 230, 78, 27, 114, 135, 1, 252, 199, 48, 228, 240, 40, 6, 168, 29, 72, 75, 41,
86-
139, 31, 75, 78, 123, 162, 191, 215, 73, 252, 141, 86, 38, 131, 208, 130, 205, 241, 73, 237, 15, 207,
87-
180, 165, 130, 89, 152, 200, 252, 194, 65, 137, 6, 167, 213, 23, 25, 44, 92, 81, 33, 140, 201, 76, 61,
88-
74, 241, 127, 88, 218, 238, 8, 155, 161, 253, 68, 227, 219, 217, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
89-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 221, 246, 225, 215, 101,
90-
161, 147, 217, 203, 225, 70, 206, 235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133,
91-
126, 255, 0, 169, 226, 31, 67, 54, 250, 17, 27, 252, 75, 96, 42, 63, 121, 41, 168, 87, 181, 174, 19,
92-
162, 241, 175, 42, 248, 122, 1, 229, 159, 248, 89, 71, 226, 2, 4, 2, 0, 1, 52, 0, 0, 0, 0, 240, 29, 31,
93-
0, 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, 0, 6, 221, 246, 225, 215, 101, 161, 147, 217, 203, 225, 70, 206,
94-
235, 121, 172, 28, 180, 133, 237, 95, 91, 55, 145, 58, 140, 245, 133, 126, 255, 0, 169, 5, 4, 1, 2, 0,
95-
3, 1, 1
9679
};
9780

9881
private const string InvalidBase64Transaction =
@@ -107,13 +90,13 @@ public class TransactionTest
10790
"AAABVED1IAMQCS8bANVPk3JwnUUDkIwVnTMaKQLYx1FS5TAgMDAgQABAQAAAADAgABDAIAAAAAypo7AAAAAA==";
10891

10992
private const string Base64Message =
110-
"AwAEB0dpq5cgS6g/sMruF/eGjx4HTlIVgaDYnZQ3napltxey14nYa8i1fJi+SQ22zC6NCH/e4U/Hh5g1ge+YUo2PYoXN+w3TZpSp" +
111-
"kz6ceiNiFJ1YljgbSt+oGaN4XwsDKrjvOwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqfVFxksXFEhjMlMPUrxf1j" +
112-
"a7gibof1E49vZigAAAAAG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqQVKU1D4XciC1hSlVnJ4iilt3x6rq9CmBniIST" +
113-
"L07vag08KSJSZSZjfxTEKmUU+9fVdZry+IheZu/BJgfwylBe0GAwIAATQAAAAAYE0WAAAAAABSAAAAAAAAAAbd9uHXZaGT2cvh" +
114-
"Rs7reawctIXtX1s3kTqM9YV+/wCpBQIBBEMAAkdpq5cgS6g/sMruF/eGjx4HTlIVgaDYnZQ3napltxeyAUdpq5cgS6g/sMruF/" +
115-
"eGjx4HTlIVgaDYnZQ3napltxeyAwIAAjQAAAAA8B0fAAAAAAClAAAAAAAAAAbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+" +
116-
"/wCpBQQCAQAEAQEFAwECAAkHQEIPAAAAAAAGAQISSGVsbG8gZnJvbSBTb2wuTmV0";
93+
"AwAEB0dpq5cgS6g/sMruF/eGjx4HTlIVgaDYnZQ3napltxeyzfsN02aUqZM+nHojYhSdWJY4G0rfqBmjeF8LAyq47zvXidhry" +
94+
"LV8mL5JDbbMLo0If97hT8eHmDWB75hSjY9ihQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUpTUPhdyILWFKVWcn" +
95+
"iKKW3fHqur0KYGeIhJMvTu9qAGp9UXGSxcUSGMyUw9SvF/WNruCJuh/UTj29mKAAAAAAbd9uHXZaGT2cvhRs7reawctIXtX1s" +
96+
"3kTqM9YV+/wCpzk6pvQDrxAqjvrLzwlABWfim/JY9QbuOhc3G/RPxD/gGAwIAAjQAAAAAYE0WAAAAAABSAAAAAAAAAAbd9uHX" +
97+
"ZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpBgICBUMAAkdpq5cgS6g/sMruF/eGjx4HTlIVgaDYnZQ3napltxeyAUdpq5cgS" +
98+
"6g/sMruF/eGjx4HTlIVgaDYnZQ3napltxeyAwIAATQAAAAA8B0fAAAAAAClAAAAAAAAAAbd9uHXZaGT2cvhRs7reawctIXtX1" +
99+
"s3kTqM9YV+/wCpBgQBAgAFAQEGAwIBAAkHQEIPAAAAAAAEAQESSGVsbG8gZnJvbSBTb2wuTmV0";
117100

118101
private const string PopulatedBase64MessageTx =
119102
"AywGaWtisQ1ssPzJjYz4MfsQYxFabAmqBN5ikzhLIVyI/78SFuYDjqcppmaVXUT7e5G0ibfcw566OrktXauH+wjrzZ7AK9Ct0hm" +
@@ -195,14 +178,14 @@ public void PopulateTest()
195178
{
196179
Transaction tx = Transaction.Populate(Base64Message, new List<byte[]>()
197180
{
198-
Encoders.Base58.DecodeData("t3zuom7qpa4XQ2WxDTZPFcWjhPuB3uKJDzKSsnawyoHohFrgmfGWWPwB8VkZSMexTVWPQLd4fWLmRdt8CAW49yH"),
199-
Encoders.Base58.DecodeData("5iSSyXbaYgBB1QUuHip6M3syLz4kg8PYmX6233XbJz7VJoTeTgRWThKvoXrTr638eXK4kEYo7ejMT1axmW8PvRnr"),
200-
Encoders.Base58.DecodeData("3GaoLXHf563Si8jypoBYhNP7Mx8winbcgHcNxByuK6tnndKVGUQ4ByqTnM5Y3thsmgX87W16Yw5cb6cobwDW7ucC"),
181+
Encoders.Base58.DecodeData("5cR7atqKv6zc73VFCK5iF58ytoaGMa9fFrY1JG95yn5QyyFPDxCtBmuBLvpZXF5o79YZ1phSoDD4ELqnJy468Ktg"),
182+
Encoders.Base58.DecodeData("5eJHTqGiAq4AGdJDT35A8zxJv9FjYfFd4YM1KivWYxxSVUmc9f5iFLbGbJiup7EhuMuYRHNXuV12BbWe1bcivLKN"),
183+
Encoders.Base58.DecodeData("5H8vKk6PGJKJxYxFfRkUnNwwJv9HaaZzmPfBSxJkvMpAgknm3JakR77WchVfHMTCHdG9mCWULjc8jEvHJb7wwXQG"),
201184
});
202185

203186
byte[] txBytes = tx.Serialize();
204187

205-
Assert.AreEqual(PopulatedBase64MessageTx, Convert.ToBase64String(txBytes));
188+
CollectionAssert.AreEqual(CraftTransactionBytes, txBytes);
206189
}
207190

208191
[TestMethod]
@@ -361,7 +344,7 @@ public void PartialSignTest()
361344
tx.AddSignature(initialAccount.PublicKey, initialAccount.Sign(txBytes));
362345

363346
byte[] serializedBytes = tx.Serialize();
364-
347+
365348
CollectionAssert.AreEqual(CraftTransactionBytes, serializedBytes);
366349
}
367350
}

0 commit comments

Comments
 (0)