Jakub Sztandera
6acc9a62f8
Split gas internally into compute gas and storage gas
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-11 20:37:14 +02:00
Łukasz Magiera
c8046f4597
Merge branch 'next' of github.com:filecoin-project/go-lotus into next
2020-06-11 18:24:51 +02:00
waynewyang
8354bd91db
fix:the condition of time-offset mining fault
2020-06-11 23:52:44 +08:00
Jakub Sztandera
c3f23ddce8
Refactor ExecutionResult to ExecutionTrace
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-11 15:53:47 +02:00
Jeromy
512270593b
clean up some of the more spammy logs
2020-06-11 12:31:29 +02:00
Jeromy
51f1712564
add a simple semaphore to batch verify seals
2020-06-05 10:47:49 -07:00
Jakub Sztandera
673a972fe9
Merge remote-tracking branch 'origin/master' into next
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-02 22:49:27 +02:00
Jeromy
9b867a221a
add subcall timing to compute state output
2020-06-02 12:53:24 -07:00
Jakub Sztandera
5605aae269
Fix even more lint warnings
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-02 16:29:39 +02:00
Aayush Rajasekaran
7dd25c3ac5
Correctly handle transfers with sender = receiver
2020-05-29 12:15:41 -04:00
Łukasz Magiera
785eeb1eee
Merge pull request #1850 from filecoin-project/chore/lint
...
Cleanup many lint warnings
2020-05-29 18:06:06 +02:00
Jeromy
e2a554c2e6
update specs actors to version with batch porep verification
2020-05-28 13:19:18 -07:00
Jakub Sztandera
d6615b6286
Cleanup many lint warnings
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-05-27 22:53:20 +02:00
Jeromy
646800b8a8
update to latest ffi
2020-05-22 09:26:14 -07:00
frrist
9165f14693
feedback: fatal errors in vm.transfer
2020-05-18 12:00:52 -07:00
frrist
9305eca97c
don't ignore transfer error in delete actor
2020-05-18 12:00:52 -07:00
frrist
0c2e4e2d4f
return correct exitcodes from vm transfer
2020-05-18 12:00:52 -07:00
Aayush Rajasekaran
aec168e05f
Update specs-actors, re-enable full chain validation
2020-05-12 19:52:33 -04:00
Aayush Rajasekaran
46fb5f8602
update CV, skip nested sends test
2020-05-12 14:14:00 -04:00
Łukasz Magiera
4ea021d151
Merge pull request #1701 from filecoin-project/asr/syncvalidity
...
Message validation changes
2020-05-12 13:48:33 +02:00
Aayush Rajasekaran
6bf2dcd97c
Message validation changes
2020-05-11 21:54:44 -04:00
Łukasz Magiera
ec83b9cf7c
Fix tests post specs-actors update
2020-05-11 23:26:33 +02:00
Aayush Rajasekaran
dd79c66d41
Update and re-enable chain-validation
2020-05-06 21:44:09 -04:00
Whyrusleeping
97130684a2
Merge pull request #1680 from filecoin-project/deps/faster-publish-deals
...
update to specs-actors code with faster publish deals
2020-05-06 14:45:17 -07:00
Aayush Rajasekaran
187e386740
Bugfix: Correctly transfer gas when failing to charge for retValue
2020-05-06 16:53:32 -04:00
Jeromy
fa59cdc2ad
update to specs-actors code with faster publish deals
2020-05-05 17:06:32 -07:00
Aayush Rajasekaran
8a9862bdb4
The VerifySig syscall should verify sigs
2020-05-05 15:26:34 -04:00
Jeromy
a553d438c0
dont override exit codes for actor creation failure
2020-05-04 16:31:26 -07:00
Łukasz Magiera
ed500dbbdf
Merge remote-tracking branch 'origin/testnet/3' into asr/createactor
2020-04-30 21:29:04 +02:00
Aayush Rajasekaran
a047e158ed
Add some validity checks to runtime.CreateActor()
2020-04-30 14:21:29 -04:00
Aayush Rajasekaran
bd1ac4d91b
Only charge for actor creation after making a meaningful state change
2020-04-30 14:18:26 -04:00
Aayush Rajasekaran
d9a1d912fd
Elevate an actor construction fail-case to fatal
2020-04-30 13:46:33 -04:00
frrist
c66415ae4c
fix: insufficient gas remaining to cover retval
...
proceed as in the case of method execution failure.
2020-04-29 16:38:34 -07:00
Łukasz Magiera
89b19af43f
specs-actors v0.3
2020-04-29 20:06:05 +02:00
Whyrusleeping
cd5cbcfe4f
Merge pull request #1627 from filecoin-project/fix/safe-actor-serialization
...
vm: Don't treat actor state serialization errors as fatal
2020-04-28 10:50:53 -07:00
Łukasz Magiera
9dcb42328e
gofmt
2020-04-28 19:27:13 +02:00
Łukasz Magiera
c760a88c22
vm: don't treat actor state serialization errors as fatal
2020-04-28 15:21:31 +02:00
Aayush Rajasekaran
5900d765fd
caller must be validated exactly once
2020-04-28 00:07:47 -04:00
Whyrusleeping
e65d293ba4
Merge pull request #1607 from filecoin-project/feat/chainwatch-updates
...
chainwatch: Record drand entries
2020-04-27 16:23:47 -07:00
Aayush Rajasekaran
e46c4652a5
Forbid internal message in State Transaction()
2020-04-25 02:01:26 -04:00
Aayush Rajasekaran
832657edfb
Eliminate use of SysErrInternal, some interop changes
2020-04-25 01:55:59 -04:00
Łukasz Magiera
e38484a109
Merge remote-tracking branch 'origin/testnet/3' into feat/chainwatch-updates
2020-04-25 00:27:59 +02:00
Łukasz Magiera
0522af155d
chainwatch: Record drand entries
2020-04-25 00:25:33 +02:00
Frrist
0f0589bcf5
Update validation driver to match latest in chain-validation ( #1532 )
...
* update driver to match new chain-validation interfaces
* update chain-validation
* update filecoin-ffi
* gofmt
* update chain-validation again
2020-04-24 15:08:16 -07:00
Jeromy
7ee42e61d5
add command to analyze import bench output
2020-04-23 16:48:54 -07:00
Jeromy
24b7661837
fix up some tests
2020-04-17 13:44:13 -07:00
Łukasz Magiera
93b2b6d65d
Merge branch 'testnet/3' into feat/windowed-post
2020-04-17 18:38:20 +02:00
Jeromy
4153f128ef
a more betterer supply impl
2020-04-16 16:03:38 -07:00
Łukasz Magiera
706c0b8d3a
Stub syscalls.TotalFilCircSupply
2020-04-17 00:19:54 +02:00
Whyrusleeping
0db5fc422a
Merge pull request #1534 from filecoin-project/patch/syscalls
...
VerifyConsensusFault syscall impl
2020-04-16 13:33:58 -07:00
Henri S
8594af970f
fix typo:
2020-04-16 15:52:49 -04:00
Aayush Rajasekaran
6a8e4bf87e
Lower a log level
2020-04-16 15:34:01 -04:00
Aayush Rajasekaran
14ad808a00
Remove unused fields from VM
2020-04-16 15:34:01 -04:00
Łukasz Magiera
8338be3a6e
Fix genesis creation
2020-04-16 19:17:56 +02:00
Łukasz Magiera
98f3cab24e
Update specs-actors
2020-04-16 18:41:45 +02:00
Henri S
a4cdfe89fd
fix parent grinding check
2020-04-13 15:55:53 -04:00
Henri S
23dc776bd1
finalize logic, still need to import appropriate fields to the shim
2020-04-13 15:55:53 -04:00
Henri S
aa5cec39ca
first stab
2020-04-13 15:55:53 -04:00
Łukasz Magiera
a2554952d1
Some electionPoSt -> winningPoSt renaming
2020-04-11 00:22:45 +02:00
Łukasz Magiera
072dd8b744
Merge remote-tracking branch 'origin/testnet/3' into feat/windowed-post
2020-04-10 20:38:25 +02:00
Łukasz Magiera
b0fe8b8b4c
v25: get bench to almost work
2020-04-10 14:19:06 +02:00
Łukasz Magiera
70d654e4a6
Merge pull request #1527 from filecoin-project/feat/drand
...
Initial randomness beacon implementation
2020-04-09 19:48:09 +02:00
Aayush Rajasekaran
17e9feb633
Sever the API's dependency on VM
2020-04-08 18:27:31 -04:00
Jeromy
8e0ca306d2
more wiring up of drandomness
2020-04-08 08:11:42 -07:00
Jeromy
ab51501849
remove todo
2020-04-03 15:50:52 -07:00
Jeromy
2d5becaaba
further removals
2020-04-03 15:05:59 -07:00
Jeromy
4c6fa1b2c0
handle some runtime error edge cases
2020-04-03 14:38:11 -07:00
Jeromy
212c346c21
avoid flushing disk when doing state tree snapshots
2020-04-02 17:18:25 -07:00
Łukasz Magiera
11777c5f24
Merge pull request #1502 from filecoin-project/feat/import-bench
...
add a command to lotus-bench to benchmark importing and validating
2020-04-03 01:30:12 +02:00
Jeromy
beaa3dffab
add a command to lotus-bench to benchmark importing and validating a chain
2020-04-02 16:18:38 -07:00
Jeromy
8a265a0e8d
use exitcode type from specs actors instead of byte
2020-04-02 11:24:38 -07:00
Jakub Sztandera
013f441658
Fix charge gas in case of overcharge
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-04-01 22:55:10 +02:00
Łukasz Magiera
95ee1c1cde
Extract sector-storage
2020-03-28 01:32:39 +01:00
Łukasz Magiera
de1f2be505
Merge pull request #1458 from filecoin-project/feat/merge-sectorbuilder
...
Merge sectorbuilder into sectorstorage
2020-03-27 18:53:58 +01:00
Jeromy
97a7b449e6
use charge gas safe in places we return errors
2020-03-27 10:11:21 -07:00
Jeromy
672956af5d
addressing review
2020-03-26 20:13:32 -07:00
Jeromy
1b50be09af
dont use fatal errors in the vm
2020-03-26 20:03:04 -07:00
Travis Person
090261f304
Revert gas exhausted exit code to SysErrOutOfGas
2020-03-27 00:19:34 +00:00
Jakub Sztandera
06cfbf5742
Switch exitcodes
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-26 22:11:06 +01:00
Łukasz Magiera
e050e0307e
Cleanup after dropping sectorbuilder
2020-03-26 20:35:16 +01:00
Łukasz Magiera
4be54a976c
Merge sectorbuilder into sectorstorage
2020-03-26 03:51:06 +01:00
Jakub Sztandera
300c89f541
Update to new sepcs actors, more debug
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-26 01:02:13 +01:00
Jeromy
088d693eea
code review changes
2020-03-25 12:13:09 -07:00
Aayush Rajasekaran
7b9872c473
don't skip any tests
2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
ebcefa80e3
provide msg length to vm::ApplyMessage
2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
490f85e690
Send implicit messages for block rewards, cron ticks, state calls, and genesis setup
2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
ad15750be3
Charge sender no gas, and penalise miner for certain invalid messages
2020-03-25 08:25:03 -04:00
Aayush Rajasekaran
09a46e5d80
fix some gas charge bugs, and make our new account actor creation follow GFC
2020-03-25 08:25:03 -04:00
Łukasz Magiera
201d0a4b19
Merge remote-tracking branch 'origin/testnet/3' into feat/new-workers
2020-03-25 01:02:23 +01:00
Jeromy
ec0d0a51db
chain validation nil return values should be []byte{}
2020-03-24 13:09:04 -07:00
Łukasz Magiera
66a682b55d
Merge remote-tracking branch 'origin/testnet/3' into feat/new-workers
2020-03-24 19:09:02 +01:00
Aayush Rajasekaran
d5b1bfe197
only skip one test
2020-03-24 04:44:50 -04:00
Aayush Rajasekaran
df13cfa52b
Only resolve origin to pubkey address when creating a new account actor
2020-03-24 04:43:09 -04:00
Aayush Rajasekaran
753e8ff7f5
Award gas fees to miners correctly
2020-03-24 03:35:58 -04:00
Aayush Rajasekaran
9ccc02d664
Load actor states afresh before making state changes
...
- Not doing this is causing bugs when reverting, since the actor cache gets reset
2020-03-24 03:33:22 -04:00
Jeromy
14591e718d
skip tests so we can get this merged in
2020-03-23 18:52:39 -07:00
Jeromy
2228f13f99
a couple vm fixes
2020-03-23 18:50:58 -07:00
Jeromy
6fe245a278
use proper exitcodes for caller validation
2020-03-23 18:50:28 -07:00
Aayush Rajasekaran
066b755b6a
set up initial account state of new Secp accounts
2020-03-23 18:50:28 -07:00
Aayush Rajasekaran
72c6552b0b
Allow invocation of account actor methods
2020-03-23 18:50:28 -07:00
Aayush Rajasekaran
05d43af3fc
Only try to resolve origin address during top-level invocation
2020-03-23 18:50:28 -07:00
Jeromy
8bc4195b7a
WIP: updating and getting chainval tests passing
2020-03-23 18:50:18 -07:00
Łukasz Magiera
eeec5a1bba
Merge pull request #1274 from filecoin-project/feat/doc/actors
...
doc: add comments related to actor code review
2020-03-23 12:49:41 +01:00
Łukasz Magiera
e6aa01653a
Merge remote-tracking branch 'origin/testnet/3' into feat/new-workers
2020-03-20 23:42:46 +01:00
Whyrusleeping
a3fd1d4b51
Merge pull request #1401 from filecoin-project/fix/nonce-miss-no-gas
...
Missmatching nonce does not charge gas
2020-03-20 14:56:33 -07:00
whyrusleeping
84fd969710
take snapshot after gas transfer so its not reverted on method failure
2020-03-20 13:50:46 -07:00
Jakub Sztandera
4ba4de3379
Missmatching nonce does not charge gas
...
It should charge miner but we don't have that mechanism yet.
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-20 20:44:45 +01:00
Aayush Rajasekaran
ef288b8a6c
Calculate new actor addresses as per updated spec
2020-03-20 15:43:08 -04:00
Whyrusleeping
7b69697439
Merge pull request #1434 from filecoin-project/feat/more-gas
...
Rework gas charging
2020-03-20 12:18:18 -07:00
frrist
100fc47812
print chain-validation test name when running
...
- makes debugging easier
2020-03-20 10:35:59 -07:00
Jakub Sztandera
ac09a6432c
Skip failing tests, update chain-validation
...
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-20 18:21:13 +01:00
Jakub Sztandera
ae40654907
Rework gas charging
2020-03-20 03:26:40 -04:00
Łukasz Magiera
1ed7779701
Merge remote-tracking branch 'origin/testnet/3' into feat/new-workers
2020-03-19 03:28:55 +01:00
Lucas Molas
d21cb96ddb
doc: add comments related to actor code review
2020-03-18 16:43:58 -07:00
whyrusleeping
ddf1beac6c
change gas limit to be a normal int64
2020-03-18 13:45:37 -07:00
Aayush Rajasekaran
f22f427cde
Put the correct error into ExecutionResult
2020-03-18 02:57:11 -04:00
Aayush Rajasekaran
51cf5d5f1b
New Actor Addresses should be generated as per spec
...
- The pubkey address address of the sender should be used, not the ID address
- We should use the internal callSeqNum as input (was hard-coded to zero)
- The external message nonce should be used, not the actor's nonce in the post-increment state
2020-03-18 02:57:11 -04:00
Łukasz Magiera
e6ec20b4ca
Merge branch 'testnet/3' into feat/new-workers
2020-03-13 17:58:13 +01:00
Frrist
7371274ea7
update chain-validation: adds miner workflow test ( #1403 )
...
* update chain-validation. adds miner workflow test
* replace real sealing with mocked impl
2020-03-12 10:22:45 -07:00
Łukasz Magiera
eb61a36fd7
workers: RPC scaffolding
2020-03-11 02:58:02 +01:00
Jakub Sztandera
f3c4288311
Check for correct nonce before taking gas
...
Otherwise as a miner you are able to include an invalid message forever
and get whole GasLimit of gas from it every time.
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-03-10 21:14:50 +01:00
whyrusleeping
1beab85d61
Drop debug messages
2020-03-09 23:46:13 -07:00
whyrusleeping
85e17fa5b0
fix state cid accounting after 'Transaction' calls
2020-03-09 22:20:46 -07:00
whyrusleeping
114cb2d2aa
squash the spec shim and the vmcontext into the new runtime type
2020-03-09 21:44:29 -07:00
whyrusleeping
bf6948f8d6
update to latest specs-actors
2020-03-08 21:21:46 -07:00
whyrusleeping
24bf720a9a
Merge branch 'master' into testnet/3
2020-03-07 16:46:12 -08:00
whyrusleeping
34ad13fc22
fix initial reward actor balance
2020-03-06 17:33:24 -08:00
Aayush Rajasekaran
340afc3503
Add information about internal message executions to SimulationResult
...
- The VM now tracks a list of ExecutionResults to keep track of internal messages
2020-03-06 11:11:06 -08:00
Łukasz Magiera
e51fa5c9ac
libs: Use zerocomm from sectorbuilder
2020-03-06 19:50:41 +01:00
whyrusleeping
16096e2c71
some go vet fixes
2020-03-05 22:46:07 -08:00
whyrusleeping
8a7f249aaa
update to latest specs-actors
2020-03-05 16:20:57 -08:00
frrist
b8394c3573
update, you guessed it, chain-validation
2020-03-05 13:41:35 -08:00
frrist
f4b07a7293
enable multisig tests
2020-03-05 13:41:35 -08:00
frrist
a34a6c65e7
fix gas limit check in apply message
2020-03-05 13:41:35 -08:00
frrist
4e41479464
bls key deterministic, enable paych test
2020-03-05 13:41:35 -08:00
Frrist
e4728eb719
update chain-val with latest tests ( #1325 )
...
* update chain-val with latest tests
2020-03-05 13:39:28 -08:00
whyrusleeping
4e9e3f3dc3
make state tree snapshots properly stack based
2020-03-04 17:19:15 -08:00
whyrusleeping
5076b2b950
fix reward actor and block reward application
2020-03-04 13:21:24 -08:00
whyrusleeping
0da2f81252
get most of the chain validation tests passing
2020-03-03 16:06:41 -08:00
frrist
1c864d1eef
fixs after rebase
2020-03-03 16:06:41 -08:00
whyrusleeping
8657b4698f
fix invoker tests
2020-03-03 16:06:41 -08:00
frrist
dfad346cff
add test skipper and update chain-validation
2020-03-03 16:06:41 -08:00
frrist
0de43748f7
better test name
2020-03-03 16:06:41 -08:00
frrist
b60458d236
implement chain-validation driver
2020-03-03 16:06:41 -08:00
whyrusleeping
c7508a0512
self review fixes
2020-02-28 18:02:40 -08:00
whyrusleeping
1a07cb7bbf
a few more fixes
2020-02-28 17:12:47 -08:00
whyrusleeping
713059275d
progress is made incrementally
2020-02-28 14:00:34 -08:00
whyrusleeping
5b657a2905
pass on proper sector types
2020-02-28 12:52:14 -08:00
whyrusleeping
0945d8725e
fixing miner logic to make more tests pass
2020-02-28 11:31:28 -08:00
whyrusleeping
6c12068fb7
more fixes for random garbage
2020-02-26 16:42:39 -08:00