MCPcopy Create free account
hub / github.com/base/triedb / test_account_leaf_node_serialize

Function test_account_leaf_node_serialize

src/node.rs:857–919  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

855
856 #[test]
857 fn test_account_leaf_node_serialize() {
858 let node = Node::new_leaf(
859 &RawPath::from_nibbles(&[0xa, 0xb]),
860 &TrieValue::Account(Account::new(
861 0,
862 U256::from_be_slice(&[4, 5, 6]),
863 EMPTY_ROOT_HASH,
864 KECCAK_EMPTY,
865 )),
866 )
867 .expect("can create node");
868 let bytes = node.serialize().unwrap();
869 assert_eq!(bytes, hex!("0x0102ab8083040506"));
870
871 let node = Node::new_leaf(
872 &RawPath::from_nibbles(&[0xa, 0xb, 0xc]),
873 &TrieValue::Account(Account::new(
874 0,
875 U256::from_be_slice(&[4, 5, 6, 7]),
876 EMPTY_ROOT_HASH,
877 KECCAK_EMPTY,
878 )),
879 )
880 .expect("can create node");
881 let bytes = node.serialize().unwrap();
882 assert_eq!(bytes, hex!("0x0103abc0808404050607"));
883
884 let node = Node::new_leaf(
885 &RawPath::new(),
886 &TrieValue::Account(Account::new(
887 0,
888 U256::from_be_slice(&[0xf, 0xf, 0xf, 0xf]),
889 EMPTY_ROOT_HASH,
890 b256!("0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef"),
891 )),
892 )
893 .expect("can create node");
894 let bytes = node.serialize().unwrap();
895 assert_eq!(bytes, hex!("0x410080840f0f0f0fdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef"));
896
897 let mut node = Node::new_leaf(
898 &RawPath::new(),
899 &TrieValue::Account(Account::new(
900 0,
901 U256::from_be_slice(&[0xf, 0xf, 0xf, 0xf]),
902 EMPTY_ROOT_HASH,
903 b256!("0xdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef"),
904 )),
905 )
906 .expect("can create node");
907 node.set_child(
908 0,
909 Pointer::new(
910 42.into(),
911 RlpNode::word_rlp(&b256!(
912 "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
913 )),
914 ),

Callers

nothing calls this directly

Calls 3

AccountClass · 0.85
serializeMethod · 0.80
set_childMethod · 0.80

Tested by

no test coverage detected