Commit graph

54 commits

Author SHA1 Message Date
DauTT
2897c3cbc1 Implemented crypto opcodes:
1) SHA1
2) SHA256
3) HASH160
4) HASH256
2019-04-04 22:46:06 +02:00
dauTT
045db09af2 Implemented LTE, GTE opcode (#260)
* Implemented LTE, GTE opcode
2019-04-02 23:43:52 +01:00
dauTT
7bf4d691a9 Implemented NUMEQUAL, NUMNOTEQUAL opcode (#256) 2019-03-30 15:01:06 +00:00
dauTT
1fbc0af5db VM: Implement BOOLAND, BOOLOR opcode (#251)
* Implemented BOOLAND, BOOLOR opcode
2019-03-29 21:22:44 +00:00
dauTT
9402540c3a Implemented LT, GT opcode (#259)
* Implemented LT, GT opcode
2019-03-29 19:35:16 +00:00
dauTT
955bb373fc Implemented SHL, SHR opcode (#250) 2019-03-28 22:28:20 +00:00
dauTT
84b4b41288 Implemented DIV, MOD opcode (#237) 2019-03-28 20:32:32 +00:00
dauTT
139b770712 Implemented NZ, MUL opcode (#235) 2019-03-28 19:47:47 +00:00
dauTT
afe670f178 VM: Implement, ABS, NOT opcode (#233)
* Implemented, ABS, NOT opcode
2019-03-28 19:26:55 +00:00
dauTT
14e0ab48dd VM: Implemented SIGN, NEGATE opcode (#232)
* Implemented SIGN, NEGATE opcode
2019-03-28 18:30:36 +00:00
dauTT
d8e399f67d VM: Implement INC, DEC opcode (#231)
[VM]

- Implemented INC, DEC opcode
2019-03-26 23:15:13 +00:00
dauTT
24cd21bd8c VM:Implement THROW opcode (#219)
[VM]

- Changed vmstate from HALT to FAULT in Sub opcode
- Implemented THROW opcode + tests
- Renamed TestSimpleRun test to TestThrowIfNot
2019-03-26 21:19:41 +00:00
BlockChainDev
a2bdc076d2 [VM] fix typo 2019-03-18 21:17:43 +00:00
BlockChainDev
8809be183e [VM]
Add Result stack len check in simple run test
2019-03-18 21:15:40 +00:00
BlockChainDev
da27c2b3f0 [Stack]
- Change RemoveCurrentContext for PopCurrentContext
- Add CopTo method to stack
2019-03-18 21:15:09 +00:00
BlockChainDev
c177e5577e [VM]
refactor handlers to have rstack as argument
2019-03-18 21:14:03 +00:00
BlockChainDev
38ad4572c4 [VM]
Pass ResultStack to the opcode handlers
2019-03-18 21:13:08 +00:00
BlockChainDev
351f0acdfe Add astack 2019-03-17 22:57:36 +00:00
BlockChainDev
9e16bac7d8 clarify vm states 2019-03-17 20:21:48 +00:00
BlockChainDev
231aa29e5a Fix test 2019-03-17 18:38:52 +00:00
BlockChainDev
98096f6c20 golint 2019-03-17 18:31:58 +00:00
BlockChainDev
a7db1ceaa5 minor comment 2019-03-17 18:30:12 +00:00
BlockChainDev
ef364900bb Add basic tests for vm 2019-03-16 22:15:08 +00:00
BlockChainDev
17c53d1081 refactor Add, Sub to return VMSTATE
add popTwoByteArrays helper function
2019-03-16 22:09:34 +00:00
BlockChainDev
c7e32e7eb3 Refactor PushNBytes Opcode 2019-03-16 22:09:23 +00:00
BlockChainDev
7b519eba0d Add RET Opcode 2019-03-16 22:09:04 +00:00
BlockChainDev
79e92d5e14 Add THROWIFNOT Opcode 2019-03-16 22:08:35 +00:00
BlockChainDev
31511e55d0 Add Equal Opcode 2019-03-16 22:06:32 +00:00
BlockChainDev
329f8f388c Add ExecuteOp, Step and Run methods on the VM 2019-03-16 22:05:00 +00:00
BlockChainDev
a7e973030c Remove context_test
rename invocation to invocationstack
export vmstate
2019-03-16 21:52:05 +00:00
BlockChainDev
9eb11d2822 Make Next() method on Context failable
refactor peekContext and Peek
2019-03-16 21:45:48 +00:00
BlockChainDev
48413900ca remove error on NewBoolean
Expose underlying with Getter on Boolean StackItem
Add Equals method for ByteArray
2019-03-16 21:44:03 +00:00
BlockChainDev
80fd427517 - Add Op to handleOP func signature
- Add PushNBytes OPcode
2019-03-15 23:37:54 +00:00
BlockChainDev
9a59755745 Export Context Read methods
- Return errors where failable
2019-03-15 23:21:30 +00:00
BlockChainDev
280d526f41 Add SUB Opcode 2019-03-15 22:55:08 +00:00
BlockChainDev
abc3b46f1c Add popTwoIntegers convenience func 2019-03-15 22:54:52 +00:00
BlockChainDev
baf9d2b768 - Add test for math Add opcode
- basic opcode execution
2019-03-15 22:42:35 +00:00
BlockChainDev
c7fb4c3bdf - Add Add OpCode
- Add Opcode Function map
2019-03-15 22:36:16 +00:00
BlockChainDev
101d48cd27 Move opcode file 2019-03-15 22:35:12 +00:00
BlockChainDev
ce2cad0817 rename testhelper to test_helper 2019-03-15 22:34:04 +00:00
BlockChainDev
f954e6f2ca Add Invocation stack - convenience RAS 2019-03-15 22:33:32 +00:00
BlockChainDev
1ff0caf40e Add Context stack Item 2019-03-15 22:32:08 +00:00
BlockChainDev
04c56b514c Refactor Int, Boolean, ByteArray conversion 2019-03-15 22:30:25 +00:00
BlockChainDev
e2ef6bd2f4 Add Builder 2019-03-15 22:27:34 +00:00
BlockChainDev
f60d65f1a4 - Add guide to stack readme
- Add testReadInt64
2019-02-28 13:51:02 +00:00
BlockChainDev
5789aba4b2 Add instructions file for vm 2019-02-27 22:52:58 +00:00
BlockChainDev
da0a56f922 Add conversions for bytearray and Int stack items 2019-02-27 22:41:46 +00:00
BlockChainDev
8d55ea12f0 VM: removed helper functions from stack_test.go 2019-02-27 21:40:31 +00:00
BlockChainDev
263bc4c1b1 VM: moved test helper functions into separate file 2019-02-27 21:38:39 +00:00
BlockChainDev
64491a4d83 VM: Add Sub, Mul, Mod LSH, RSH 2019-02-27 21:38:11 +00:00