Settings

Blockchain
Network
Unit
Language
Theme
Sound New Block

Transaction

c34b60b31ea113dfb4a205e7b10203ba81ee3300660b307cb9521f56dff3bd74
Timestamp (utc)
2022-01-27 20:51:21
Fee Paid
0.00003915 BSV
(
0.01580847 BSV
-
0.01576932 BSV
)
Fee Rate
600 sat/KB
Version
1
Confirmations
257,138
Size Stats
6,525 B

2 Outputs

Total Output:
0.01576932 BSV
  • j!ëFOQê°Z±zìI œˆâkŸE !b"à¥2&7ÜRMadata_basename "$_W_metadatafile") # shellcheck disable=SC1090 . "$_W_metadatafile" # Compute cached and downloadable flags flags="" test "$media" = "download" && winetricks_append_to_flags "$_W_download" winetricks_is_cached "$code" && winetricks_append_to_flags "$_W_cached" test "$flags" && flags="[$flags]" if ! test "$year" && ! test "$publisher"; then printf "%-24s %s %s\\n" "$code" "$title" "$flags" else printf "%-24s %s (%s, %s) %s\\n" "$code" "$title" "$publisher" "$year" "$flags" fi ) done unset _W_cached _W_metadatafile } # Abort if user doesn't own the given directory (or its parent, if it doesn't exist yet) winetricks_die_if_user_not_dirowner() { if test -d "$1"; then _W_checkdir="$1" else # fixme: quoting problem? _W_checkdir=$(dirname "$1") fi _W_nuser=$(id -u) _W_nowner=$(stat -c '%u' "$_W_checkdir") if test x"$_W_nuser" != x"$_W_nowner"; then w_die "You ($(id -un)) don't own $_W_checkdir. Don't run this tool as another user!" fi } # See # https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-119.pdf (iso9660) # https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-167.pdf # http://www.osta.org/specs/pdf/udf102.pdf # https://www.ecma-international.org/publications/techreports/E-TR-071.htm # Usage: read_bytes offset count device winetricks_read_bytes() { dd status=noxfer if="$3" bs=1 skip="$1" count="$2" 2>/dev/null } # Usage: read_hex offset count device winetricks_read_hex() { od -j "$1" -N "$2" -t x1 "$3" | # offset $1, count $2, single byte hex format, file $3 sed 's/^[^ ]* //' | # remove address sed '$d' # remove final line which is just final offset } # Usage: read_decimal offset device # Reads single four byte word, outputs in decimal. # Uses default endianness. # udf uses little endian words, so this only works on little endian machines. winetricks_read_decimal() { od -j "$1" -N 4 -t u4 "$2" | # offset $1, byte count 4, four byte decimal format, file $2 sed 's/^[^ ]* //' | # remove address sed '$d' # remove final line which is just final offset } winetricks_read_udf_volume_name() { # "Anchor volume descriptor pointer" starts at sector 256 # AVDP Layout (ECMA-167 3/10.2): # size offset contents # 16 0 descriptor tag (id = 2) # 16 8 main (primary?) volume descriptor sequence extent # ... # descriptor tag layout (ECMA-167 3/7.2): # size offset contents # 2 0 TagIdentifier # ... # extent layout (ECMA-167 3/7.1): # size offset contents # 4 0 length (in bytes) # 8 4 location (in 2k sectors) # primary volume descriptor layout (ECMA-167 3/10.1): # size offset contents # 16 0 descriptor tag (id = 1) # ... # 32 24 volume identifier (dstring) # 1. check the 16 bit TagIdentifier of the descriptor tag, make sure it's 2 tagid=$(winetricks_read_hex 524288 2 "$1") : echo "tagid is $tagid" case "$tagid" in "02 00") : echo "Found AVDP" ;; *) echo "Did not find AVDP (tagid was $tagid)"; exit 1;; esac # 2. read the location of the main volume descriptor: offset=$(winetricks_read_decimal 524308 "$1") : echo "MVD is at sector $offset" offset=$((offset * 2048)) : echo "MVD is at byte $offset" # 3. check the TagIdentifier of the MVD's descriptor tag, make sure it's 1 tagid=$(winetricks_read_hex $offset 2 "$1") : echo "tagid is $tagid" case "$tagid" in "01 00") : echo Found MVD ;; *) echo Did not find MVD; exit 1;; esac # 4. Read whether the name is in 8 or 16 bit chars offset=$((offset + 24)) width=$(winetricks_read_hex $offset 1 "$1") offset=$((offset + 1)) # 5. Profit! case $width in 08) winetricks_read_bytes $offset 30 "$1" | sed 's/ *$//' ;; 10) winetricks_read_bytes $offset 30 "$1" | tr -d '\000' | sed 's/ *$//' ;; *) echo "Unhandled dvd volname character width '$width'"; exit 1;; esac echo "" } winetricks_read_iso9660_volume_name() { winetricks_read_bytes 32808 30 "$1" | sed 's/ *$//' } winetricks_read_volume_name() { # ECMA-119 says that CD-ROMs have sector size 2k, and at sector 16 have: # size offset contents # 1 0 Volume descriptor type (1 for primary volume descriptor) # 5 1 Standard identifier ("CD001" for iso9660) # ECMA-167, section 9.1.2, has a table of standard identifiers: # "BEA01": ecma-167 9.2, Beginning Extended Area Descriptor # "CD001": ecma-119 # "CDW02": ecma-168 std_id=$(winetricks_read_bytes 32769 5 "$1") : echo "std_id is $std_id" case $std_id in CD001) winetricks_read_iso9660_volume_name "$1" ;; BEA01) winetricks_read_udf_volume_name "$1" ;; *) echo "Unrecognized disk type $std_id"; exit 1 ;; esac } winetricks_volname() { x=$(volname "$1" 2> /dev/null| sed 's/ *$//') if test "x$x" = "x"; then # UDF? See https://bugs.launchpad.net/bugs/678419 x=$(winetricks_read_volume_name "$1") fi echo "$x" } # Really, should take a volume name as argument, and use 'mount' to get # mount point if system automounted it. winetricks_detect_optical_drive() { case "$WINETRICKS_DEV" in "") ;; *) return ;; esac for WINETRICKS_DEV in /dev/cdrom /dev/dvd /dev/sr0; do test -b $WINETRICKS_DEV && break done case "$WINETRICKS_DEV" in "x") w_die "can't find cd/dvd drive" ;; esac } winetricks_cache_iso() { # WINETRICKS_IMG has already been set by w_mount _W_expected_volname="$1" winetricks_die_if_user_not_dirowner "$W_CACHE" winetricks_detect_optical_drive # Horrible hack for Gentoo - make sure we can read from the drive if ! test -r $WINETRICKS_DEV; t@Salted__«[—c6Œ0;î6¦öIøáR›±á1䊘F¬cah˜v•¸GJއ5ièºÚvÒuÄA1-Õ¶oÛÊK­’²ÊN;Ý·±ÛªH:в®U‰’% ôq B‡±qì€k@ŽÔœÀÙ勊æ3Ôßpú-~<w~
    https://whatsonchain.com/tx/c34b60b31ea113dfb4a205e7b10203ba81ee3300660b307cb9521f56dff3bd74