git.delta.rocks / unique-network / refs/commits / 20c99441bd57

difftreelog

Merge pull request #707 from UniqueNetwork/feature/add_test-abi--test--encode_decode_vec_tuple_string_bytes

Yaroslav Bolyukin2022-11-09parents: #1139d7d #97b5811.patch.diff
in: master
add test abi::test::encode_decode_vec_tuple_string_bytes

2 files changed

modifiedcrates/evm-coder/src/abi.rsdiffbeforeafterboth
--- a/crates/evm-coder/src/abi.rs
+++ b/crates/evm-coder/src/abi.rs
@@ -808,6 +808,67 @@
 		)
 	);
 
+	test_impl!(
+		vec_tuple_string_bytes,
+		Vec<(string, bytes)>,
+		0xdeadbeef,
+		vec![
+			(
+				"Test URI 0".to_string(),
+				bytes(vec![
+					0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+					0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+					0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+					0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11
+				])
+			),
+			(
+				"Test URI 1".to_string(),
+				bytes(vec![
+					0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
+					0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
+					0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
+					0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22
+				])
+			),
+			("Test URI 2".to_string(), bytes(vec![0x33, 0x33])),
+		],
+		&hex!(
+			"
+				deadbeef
+				0000000000000000000000000000000000000000000000000000000000000020
+				0000000000000000000000000000000000000000000000000000000000000003
+				
+				0000000000000000000000000000000000000000000000000000000000000060
+				0000000000000000000000000000000000000000000000000000000000000140
+				0000000000000000000000000000000000000000000000000000000000000220
+
+				0000000000000000000000000000000000000000000000000000000000000040
+				0000000000000000000000000000000000000000000000000000000000000080
+				000000000000000000000000000000000000000000000000000000000000000a
+				5465737420555249203000000000000000000000000000000000000000000000
+				0000000000000000000000000000000000000000000000000000000000000030
+				1111111111111111111111111111111111111111111111111111111111111111
+				1111111111111111111111111111111100000000000000000000000000000000
+
+				0000000000000000000000000000000000000000000000000000000000000040
+				0000000000000000000000000000000000000000000000000000000000000080
+				000000000000000000000000000000000000000000000000000000000000000a
+				5465737420555249203100000000000000000000000000000000000000000000
+				000000000000000000000000000000000000000000000000000000000000002f
+				2222222222222222222222222222222222222222222222222222222222222222
+				2222222222222222222222222222220000000000000000000000000000000000
+
+				0000000000000000000000000000000000000000000000000000000000000040
+				0000000000000000000000000000000000000000000000000000000000000080
+				000000000000000000000000000000000000000000000000000000000000000a
+				5465737420555249203200000000000000000000000000000000000000000000
+				0000000000000000000000000000000000000000000000000000000000000002
+				3333000000000000000000000000000000000000000000000000000000000000
+			"
+		)
+	);
+
 	#[test]
 	fn dynamic_after_static() {
 		let mut encoder = AbiWriter::new();
modifiedcrates/evm-coder/src/lib.rsdiffbeforeafterboth
163 #[cfg(feature = "std")]163 #[cfg(feature = "std")]
164 define_simple_type!(type string = ::std::string::String);164 define_simple_type!(type string = ::std::string::String);
165165
166 #[derive(Default, Debug)]166 #[derive(Default, Debug, PartialEq)]
167 pub struct bytes(pub Vec<u8>);167 pub struct bytes(pub Vec<u8>);
168 impl Signature for bytes {168 impl Signature for bytes {
169 const SIGNATURE: SignatureUnit = make_signature!(new fixed("bytes"));169 const SIGNATURE: SignatureUnit = make_signature!(new fixed("bytes"));