Skip to content

Commit

Permalink
Remove useless data (neo-project#1946)
Browse files Browse the repository at this point in the history
  • Loading branch information
shargon authored and Shawn committed Jan 8, 2021
1 parent aa954d4 commit 9ca1690
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 15 deletions.
4 changes: 1 addition & 3 deletions src/neo/Wallets/SQLite/VerificationContract.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,10 @@ namespace Neo.Wallets.SQLite
{
public class VerificationContract : SmartContract.Contract, IEquatable<VerificationContract>, ISerializable
{
public int Size => 20 + ParameterList.GetVarSize() + Script.GetVarSize();
public int Size => ParameterList.GetVarSize() + Script.GetVarSize();

public void Deserialize(BinaryReader reader)
{
reader.ReadSerializable<UInt160>();
ParameterList = reader.ReadVarBytes().Select(p =>
{
var ret = (ContractParameterType)p;
Expand Down Expand Up @@ -42,7 +41,6 @@ public override int GetHashCode()

public void Serialize(BinaryWriter writer)
{
writer.Write(new UInt160());
writer.WriteVarBytes(ParameterList.Select(p => (byte)p).ToArray());
writer.WriteVarBytes(Script);
}
Expand Down
20 changes: 8 additions & 12 deletions tests/neo.UnitTests/Wallets/SQLite/UT_VerificationContract.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Neo.IO;
using Neo.SmartContract;
using Neo.Wallets;
using Neo.Wallets.SQLite;
Expand Down Expand Up @@ -113,18 +114,13 @@ public void TestSerialize()
Script = Neo.SmartContract.Contract.CreateSignatureRedeemScript(key.PublicKey),
ParameterList = new[] { ContractParameterType.Signature }
};
MemoryStream stream = new MemoryStream();
BinaryWriter writer = new BinaryWriter(stream);
contract1.Serialize(writer);
stream.Seek(0, SeekOrigin.Begin);
byte[] byteArray = new byte[stream.Length];
stream.Read(byteArray, 0, (int)stream.Length);
byte[] byteArray = contract1.ToArray();
byte[] script = Neo.SmartContract.Contract.CreateSignatureRedeemScript(key.PublicKey);
byte[] result = new byte[64];
result[20] = 0x01;
result[21] = (byte)ContractParameterType.Signature;
result[22] = 0x29;
Array.Copy(script, 0, result, 23, 41);
byte[] result = new byte[44];
result[0] = 0x01;
result[1] = (byte)ContractParameterType.Signature;
result[2] = 0x29;
Array.Copy(script, 0, result, 3, 41);
CollectionAssert.AreEqual(result, byteArray);
}

Expand All @@ -142,7 +138,7 @@ public void TestGetSize()
Script = Neo.SmartContract.Contract.CreateSignatureRedeemScript(key.PublicKey),
ParameterList = new[] { ContractParameterType.Signature }
};
Assert.AreEqual(64, contract1.Size);
Assert.AreEqual(44, contract1.Size);
}
}
}

0 comments on commit 9ca1690

Please sign in to comment.