Hey guys,
I've moved my code from dev into the masterchest library
This includes:
- Code adjustments to apply the transaction processing rules as defined in the amendment
- Support for decoding the new Class B obfuscated keys
- Support for encoding the new Class B obfuscated keys
- Support for ECDSA point validity checking
- Various bugfixes
Masterchest.info has had the new library deployed & the two Class A transactions from the other thread with ambiguous sequence numbers are now interpreted correctly and considered valid
Of the four Class B transactions you guys posted about, masterchest.info sees these as:
95869c648953ee937d1956a62cbde051cedc26c8d33855d951930340e7c45fd0 invalid
7a02df33eddfb9dbcc7988f980630297089454f13a8bd059ada4b7842e2d1615 valid
a67a07f54e80cd77b45e128d6404c6979c84eb39c3026fa707c20c9dbcca1e95 valid
2b488371c4488ee42e35868df29de97023be9624111dfad79a52584cef3469bc valid
I've broadcast a few of my own transactions (I just plugged the new library into my wallet and sent a couple of transactions from it) - yours seems to be spot on Tachikoma & Grazcoin I tried to test against yours but it's not showing any transactions and times out when I try to check a transaction - could you please let me know how your implementation sees these?
5885b1aa8938f234da483a5190084c3c425ab03363810e68b0214d358a8144c6 - should be invalid (no funds at source)
5fe5e0a2c7a4c9ae92708631b0559c32ebad33aa65d12d9d13b23869a1a68cbf - should be invalid (no funds at source)
cca8984303daf2304845b72cfe3b797b391792db7fad28f38cb3d8cb3296908c - should be valid
Bitoy, please feel free to use as you like
You can just import the library (at my github) and use what you need. Some of the extra functions this time round:
Obfuscate a mastercoin packet:
Dim encodedpacket As String = mlib.encryptmastercoinpacket(fromaddress, seqence_number, 31_byte_clear_text_mastercoin_packet)
Check (and fix) ECDSA validity:
Dim valid As Boolean = False
Do While valid = False
Dim rbyte As String = getrandombyte()
encodedpubkey = encodedpubkey.Substring(0, 64) & rbyte
valid = validateecdsa(encodedpubkey)
Loop
Encode a simple send transaction using Class B (requires sufficient fees at from address):
Dim rawhex As String = mlib.encodetx(bitcoin_connection, from_address, to_address, currency, amount)
Thanks!
P.S. Can any of you guys think of any further changes needed to the amendment? Feel free to criticize and suggest changes!