I believe the intention of your push_int(1) is to add SIGHASH_ALL to the transaction.
However, one of Script's many needless inflexibilities is that the sighash flag actually needs to be part of the signature itself, rather than as a separate stack element in the script.
This means that you need to take the Vec<u8> returned from Signature::...
It's most likely because nLocktime is based on the "mediantime" of the previous block... not "exact" unix time.
Due to delays in finding a new block, it is not unusual for "mediantime" and "current time" to end up out of sync by quite a significant amount (1+ hr).
If you don't have access to a Bitcoin Node to check the ...
The referenced outputs are P2PK
createOutputScript(fromAddress) implies P2PKH
P2PKH scriptSig doesn't match with P2PK pubkeyscript
Resources used to write this three-line answer:
Use 30 GB bandwidth to download the blockchain
Two-three hours of time
but I'm happy to help more if this isn't enough.
This is a P2PKH (Pay-to-public-key-hash) address which means a2fd2e039a86dbcf0e1a664729e09e8007f89510 is the hash of your public key. Here is a step by step guide on how to go from public key to address