transfer100.pizza#71,216,638brc-20Inscription #70382164#70,382,164webpInscription #70381931#70,381,931webpInscription #70089052#70,089,052htmlInscription #70089051#70,089,051htmlInscription #70089050#70,089,050htmlminting-claim#67,724,724orc-20Inscription #65935542#65,935,542pngInscription #65513239#65,513,239pngdmt-mint.grok42#65,408,875tapdmt-mint.grok42#65,382,104tapdmt-mint.grok42#65,382,103tapdmt-mint.grok42#65,382,102tapdmt-mint.grok42#65,379,945tapdmt-mint.grok42#65,379,944tapdmt-mint.grok42#65,379,943tapInscription #65012491#65,012,491svgInscription #63726677#63,726,677pngInscription #63366013#63,366,013htmlInscription #59905696#59,905,696webpmint1,000.can#59,620,054can-20mint1,000.can#59,620,051can-20#50,198,442vedaInscription #50187022#50,187,022html assert_eq!(hash.len(), 40); "0x" .chars() .chain(address.chars().zip(hash.chars()).map(|(a, h)| match h { '0'..='7' => a, '8'..='9' | 'a'..='f' => a.to_ascii_uppercase(), _ => unreachable!(), })) .collect() } #[cfg(test)] mod tests { use super::*; #[test] fn test_eth_checksum_generation() { // test addresses from https://eips.ethereum.org/EIPS/eip-55 for addr in &[ "0x27b1fdb04752bbc536007a920d24acb045561c26", "0x52908400098527886E0F7030069857D2E4169EE7", "0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed", "0x8617E340B3D01FA5F11F306F4090FD50E238070D", "0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb", "0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB", "0xde709f2102306220921060314715629080e2fb77", "0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359", ] { let lowercased = String::from(&addr[2..]).to_ascii_lowercase(); assert_eq!(addr.to_string(), create_address_with_checksum(&lowercased)); } } #[test] fn test_inscription_id_to_teleburn_address() { #44,997,474textInscription #43881179#43,881,179pngInscription #42460802#42,460,802pngmint1.2214#38,962,127brc-20deploy.2214#38,961,680brc-20mint1.2214#38,950,268brc-20deploy.4476#38,950,075brc-20deploy.5686#38,950,065brc-20deploy.2214#38,948,642brc-20mint1,000,000.piin#38,771,079brc-20mint100.ibtc#35,548,495brc-20mint100.ibtc#35,548,466brc-20mint100.ibtc#35,548,449brc-20mint100.ibtc#35,548,397brc-20mint100.ibtc#35,548,370brc-20mint100.ibtc#35,548,361brc-20mint100.ibtc#35,548,332brc-20mint100.ibtc#35,548,312brc-20mint100.ibtc#35,548,250brc-20mint100.ibtc#35,548,249brc-20mint100,000,000.sats#32,941,555brc-20mint100,000,000.sats#32,941,377brc-20mint100,000,000.sats#32,941,348brc-20mint100,000,000.sats#32,941,176brc-20mint100,000,000.sats#32,940,187brc-20mint100,000,000.sats#32,940,149brc-20mint100,000,000.sats#32,940,013brc-20mint100,000,000.sats#32,939,833brc-20mint100,000,000.sats#32,939,817brc-20mint100,000,000.sats#32,939,814brc-20mint100,000,000.sats#32,939,160brc-20mint100,000,000.sats#32,938,868brc-20mint100,000,000.sats#32,929,030brc-20mint100,000,000.sats#32,925,938brc-20mint100,000,000.sats#32,925,937brc-20347.bitradio#23,034,391text