Greg Fitzgerald
3759b0d2a5
Fix Blockstreamer test
2019-03-29 08:25:56 -06:00
Greg Fitzgerald
c4bc710d3a
Use Serde's with
attribute to shorten length encodings in Transaction
2019-03-29 08:25:56 -06:00
Sathish Ambley
857dc2ba47
Remove custom serialization
2019-03-29 08:25:56 -06:00
Tyera Eulberg
37494c67d0
Add pubkey read/write tools
...
Co-authored-by: Tyera Eulberg <tyera@solana.com>
Co-authored-by: Tristan Debrunner <tristan@solana.com>
2019-03-28 20:04:32 -06:00
Greg Fitzgerald
2ab50cbae8
Move untested code out of SDK
...
verify_signature() was only used in a test that was testing
binary layout. It only worked because the test transaction only
had one signature.
from() was only used by verify_signature() and that's something
we'd typically called `pubkey()`.
hash() didn't return the hash of the Transaction, as you might
guess. It's only used for PoH, so move it into Entry.
2019-03-28 14:24:59 -06:00
Greg Fitzgerald
4bca60861e
Specialize GenericInstruction
2019-03-28 05:45:46 -06:00
Greg Fitzgerald
054ae3a3e3
Document current transaction size awkwardness
2019-03-27 14:27:20 -06:00
Greg Fitzgerald
5ce31168ef
Remove Transaction::new_signed
2019-03-26 19:51:16 -07:00
Greg Fitzgerald
b9ff70c8ab
pub Transaction::new_unsigned
...
Offer an incremental path off Transaction::new_unsigned_instructions().
2019-03-26 20:06:05 -06:00
Greg Fitzgerald
77498c6efe
Expose Message via the new default Transaction constructor
2019-03-26 20:06:05 -06:00
Greg Fitzgerald
8c69c40834
Make space for a new Transaction::new
2019-03-26 20:06:05 -06:00
Rob Walker
d497b99abb
use solana_entrypoint directly ( #3518 )
2019-03-26 16:40:34 -07:00
Greg Fitzgerald
ca2ac1e5ea
Remove a mostly unused Transaction constructor
2019-03-26 15:46:58 -07:00
Greg Fitzgerald
df333e8b6e
Move new_move_many to SystemInstruction
2019-03-26 09:22:29 -07:00
Greg Fitzgerald
b61aed7250
Minor cleanup
2019-03-25 20:31:13 -07:00
Rob Walker
34c051f183
add hash_fromstr ( #3476 )
2019-03-25 12:23:19 -07:00
Greg Fitzgerald
5c536e423c
Inline InstructionCompiler
...
The object-oriented paradigm isn't helpful here; go functional.
2019-03-25 12:08:27 -06:00
Greg Fitzgerald
4efa144916
Generate a Message instead of a Transaction
2019-03-25 12:08:27 -06:00
Greg Fitzgerald
f3936c21a3
Add message
2019-03-25 12:08:27 -06:00
Greg Fitzgerald
b53cbdd9e6
Punt on the Script abstraction
...
Low ROI
2019-03-24 14:52:06 -06:00
Greg Fitzgerald
acedf4ca5a
Move Instruction into its own module
2019-03-23 20:31:55 -07:00
Jack May
6505221629
Add exchange program ( #3444 )
2019-03-22 21:07:36 -07:00
Greg Fitzgerald
5f41909098
Stop using VoteTransaction in Vote processor
2019-03-22 14:07:00 -06:00
Greg Fitzgerald
4bb88619fd
Move entrypoint boilerplate into a macro
2019-03-21 15:27:49 -06:00
Greg Fitzgerald
a8095e204f
Cleanup SystemTransaction
2019-03-21 12:41:39 -07:00
Michael Vines
63aadc4905
Turn top-level Cargo.toml into a virtual manifest
2019-03-21 08:47:58 -07:00
Greg Fitzgerald
d2415613de
Migrate loader tests to BankClient
2019-03-21 09:19:24 -06:00
Greg Fitzgerald
58f071b7a0
Migrate loader to high-level instructions
2019-03-21 09:19:24 -06:00
Michael Vines
0dc364c17a
Relocate transaction reference verification to join the other validity checks
2019-03-20 07:46:01 -07:00
Greg Fitzgerald
94b5835738
Make AccountMeta a traditional struct instead of a tuple struct
2019-03-19 17:22:39 -06:00
Greg Fitzgerald
a4652a9aaf
Label tuple with AccountMeta
2019-03-19 17:22:39 -06:00
Pankaj Garg
56fcc93ef5
Schedule node for consecutive slots as leader ( #3353 )
...
* Also tweak epoch and slot duration
* new test for leader schedule
2019-03-19 06:36:45 -07:00
Michael Vines
15aed9f320
Self
2019-03-18 18:34:08 -07:00
Greg Fitzgerald
8d032aba9d
Merge InstructionError and ProgramError
...
From the user's perspective, it's just an instruction error.
For program-specific errors, we still have
InstructionError::CustomError.
2019-03-18 10:39:20 -06:00
Greg Fitzgerald
122c7bc2ef
Rename TransactionCompiler to Script and use it to replace the type alias
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
ae4d14a2ad
Introducing Scripts
...
A sequence of instructions. A client compiles the script and then uses
the compiled script to construction a transaction. Then it adds a
adds a blockhash, signs the transaction, and sends it off for
processing.
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
70b45de012
Get access to runtime errors in Budget unit-tests
2019-03-18 08:22:54 -07:00
Michael Vines
e2c24481e4
wallet/ now only dev-depends on core/
2019-03-16 21:40:39 -07:00
Greg Fitzgerald
a88b36d718
Rename TransactionBuilder to TransactionCompiler
2019-03-15 14:46:44 -06:00
Greg Fitzgerald
24d9138067
Abandon Builder pattern
2019-03-15 14:46:44 -06:00
Greg Fitzgerald
aca739b800
Boot fees from TransactionBuilder
2019-03-15 14:46:44 -06:00
Greg Fitzgerald
e091aa87ea
More precise constructor names
2019-03-15 14:46:44 -06:00
Greg Fitzgerald
968022a1b0
Instruction name swap
...
* Instruction -> GenericInstruction
* Instruction<u8, u8> -> CompiledInstruction
* Instruction<Pubkey, (Pubkey, bool)> -> Instruction
2019-03-15 14:46:44 -06:00
Greg Fitzgerald
4e51a444f4
Simplify TransactionBuilder::new_with_instructions
2019-03-15 09:06:54 -06:00
Greg Fitzgerald
42d5dde5b1
new_singleton -> new_with_instruction
2019-03-15 09:06:54 -06:00
Greg Fitzgerald
36fb0a0aef
Add new preferred transaction constructors
2019-03-15 09:06:54 -06:00
Greg Fitzgerald
4d53be8350
Make it unappealing to build and sign transactions at the same time
...
Use a client to sign transactions. It'll need that keypair anyway
to resign new blockhashes on retries.
2019-03-15 09:06:54 -06:00
Greg Fitzgerald
f8bf9ca218
Make safe transaction signing the default
2019-03-15 09:06:54 -06:00
Greg Fitzgerald
7b4568b9bf
Migrate to sign_checked()
2019-03-15 09:06:54 -06:00
Greg Fitzgerald
bd8502e87e
Implement Transaction::new_unsigned with TransactionBuilder
2019-03-15 09:06:54 -06:00