Commit Graph

663 Commits

Author SHA1 Message Date
Jakub Sztandera
5405a5adc3
Sepearate ComputeGasOutputs into sepearate function, add tests
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-05 02:10:25 +02:00
Jakub Sztandera
5ff12a5d2d
Burn remainder of GasLimit over 1.3*gasUsed
GasToBurn = max(0, GasLimit - GasUsed + (3*GasUsed)/10)

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-08-05 02:10:25 +02:00
Jakub Sztandera
ae29d132ed
Make VerifyPost cheaper
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-31 21:38:23 +02:00
Aayush Rajasekaran
c881f287ad Update specs-actors and chain-val...again 2020-07-31 00:29:44 -04:00
Jakub Sztandera
7f722623ca
Allow messages with not enough funds for transfer to apply
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-30 16:23:30 +02:00
Aayush Rajasekaran
5e485a085a
Merge pull request #2637 from filecoin-project/gas/tag-verify-post
Use scaling VerifyPost cost
2020-07-28 21:22:23 -04:00
Aayush Rajasekaran
b51e2a868b
Merge branch 'next' into feat/cid-builder 2020-07-28 21:02:30 -04:00
Aayush Rajasekaran
890f56ac38 Lock before setting up genesis msigs 2020-07-28 20:35:40 -04:00
Aayush Rajasekaran
0b1d80d3e3 Rename constants to match CE spec 2020-07-28 17:26:55 -04:00
Aayush Rajasekaran
7153bda0be Correct MiningRewardTotal and calculation of filMined 2020-07-28 17:26:55 -04:00
Aayush Rajasekaran
de867d7a9a Correct calculation of TotalCircSupply 2020-07-28 17:26:55 -04:00
Jakub Sztandera
0d169dd947
Use scaling VerifyPost costs
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-28 22:31:43 +02:00
Jakub Sztandera
5d9c6cd02c
Add proof info to gas trace
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-28 22:31:43 +02:00
Steven Allen
bb54dc97b6 Fix incorrect ID CID optimization
Blocks inlined into CIDs can technically contain CIDs themselves. I'm guessing
this check was trying to skip "actor" CIDs (inline cids with raw blocks).
2020-07-23 23:22:44 -07:00
Steven Allen
b7a4dbb07f Support inline CIDs
And use the new CidBuilder from the spec actors.

This patch does not switch over to inline CIDs by default, but paves the way.
2020-07-23 23:12:32 -07:00
Jakub Sztandera
4abff16783
Update storage gas prices
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-23 22:56:32 +02:00
Łukasz Magiera
637ec168df
Merge pull request #2550 from filecoin-project/fix/runtime-logs
fix: correctly pass variadic args from runtime log
2020-07-23 20:42:52 +02:00
frrist
bd2363178d fix: correctly pass variadic args from runtime log 2020-07-23 10:13:16 -07:00
Steven Allen
5fc83f4d05 Refactor to use actor adt types instead of directly using HAMTs and AMTs
This way there's a single source of truth. Preparation for fixing
https://github.com/filecoin-project/specs-actors/issues/517 (requires changing
HAMT parameters).
2020-07-23 09:34:57 -07:00
Łukasz Magiera
d70edbcb7c Set things on syscallShim 2020-07-22 13:35:10 -04:00
Jakub Sztandera
7d83349507
Format FIL as FIL
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-22 17:50:34 +02:00
Jakub Sztandera
b3bac0c9e8
Add better error messages for message pre-execution errors
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-22 17:50:34 +02:00
Jakub Sztandera
e1c9c4297b
use cid for cmp
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-20 15:29:07 +02:00
Łukasz Magiera
0ded061037 Get math to work 2020-07-18 00:15:21 +02:00
Jakub Sztandera
1b5797be9d
Merge pull request #2456 from filecoin-project/feat/increase-cron-gas
Increase cron gas
2020-07-17 20:11:21 +02:00
Jakub Sztandera
aafafce083
Increase cron gas
Make gas check overflow safe
2020-07-17 19:49:55 +02:00
Łukasz Magiera
cb6767a02b Merge remote-tracking branch 'origin/next' into feat/actors-miner-refactor 2020-07-17 15:18:11 +02:00
Peter Rabbitson
e266f3b955 Bump fil-commcid and filecoin-ffi deps
Propagates correct on-chain commX CIDs
2020-07-17 00:38:42 +02:00
Jakub Sztandera
610ed0dc13
Change OnIpldGet
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-15 21:40:49 +02:00
Jakub Sztandera
4dd6f6400c
Make virtual gas real
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-15 20:01:57 +02:00
Jakub Sztandera
c0eb4b39ac
Reorg some gas charges
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-15 20:01:56 +02:00
Raúl Kripalani
0484496d92 Merge branch 'next' into mock-clock 2020-07-14 18:08:26 +01:00
Łukasz Magiera
faebc4c948 WIP Integrating specs-actors with refactored miner state 2020-07-14 13:45:45 +02:00
Łukasz Magiera
a778917806 gofmt 2020-07-13 13:35:10 +02:00
Łukasz Magiera
c1048a0353 vm: Separate logger for actors 2020-07-13 12:29:27 +02:00
Aayush Rajasekaran
eed44d12ba Add log method to Runtime 2020-07-12 00:30:42 -04:00
Raúl Kripalani
13de81b3b2 introduce the ability to mock time. 2020-07-10 15:51:45 +01:00
Aayush Rajasekaran
ad980b4966 VerifyConsensusFault should return an error if no fault is found 2020-07-07 01:29:16 -04:00
Jakub Sztandera
9936439608
Merge remote-tracking branch 'origin/master' into next
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-03 14:56:06 +02:00
Łukasz Magiera
14ae8c7272
Merge pull request #2156 from filecoin-project/fix/bench-analyze
Improve performance of bench import analyze
2020-07-02 19:35:18 +02:00
Jakub Sztandera
567b8082c3
Back to 10 callers
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-02 18:47:35 +02:00
Jakub Sztandera
c4158f12f1
Include proof number as extra in OnVerifyPost
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-02 18:47:35 +02:00
Jakub Sztandera
11dc902d53
Adjust OnMethodInvocation
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-02 18:47:34 +02:00
Jakub Sztandera
9ccd25b072
Update gas values, compute correlation coefficient
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-02 18:47:33 +02:00
Jakub Sztandera
c68a8f802e
Adjust gas
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-02 18:47:33 +02:00
Jakub Sztandera
bc88c632d1
Fix previous commit
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-02 18:47:33 +02:00
Jakub Sztandera
1e17ea3fff
Adjust gas values
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-02 18:47:33 +02:00
Jakub Sztandera
cd2595da67
Adjust gas
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-02 18:47:32 +02:00
Jakub Sztandera
4db61e71da
Reduce caller depth
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-02 18:47:32 +02:00
Jakub Sztandera
a2fd0aad41
More on OnActorExec
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-02 18:47:31 +02:00
Jakub Sztandera
01ac4e5da3
Gas on actor exec
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-07-02 18:47:30 +02:00
whyrusleeping
f8a1fb2321 fix vm abortf log message 2020-07-01 15:51:21 -07:00
Łukasz Magiera
4c422c2d50 specs-actors v0.7.1 2020-07-01 13:47:40 +02:00
Aayush Rajasekaran
1f57d9462c Don't return nil interfaces from runtime.Send() 2020-06-29 01:13:45 -04:00
Łukasz Magiera
a6d1323eba Update specs-actors to v0.7.0; More correct genesis sector import 2020-06-26 15:08:12 +02:00
Jakub Sztandera
10c4fae8c0
Make gas traces smaller, strip callers in import-bench
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-25 16:46:50 +02:00
Jakub Sztandera
b91e7a9860
Update to specs actors with ChargeGas interface
Based on `lotus-0.6.1-chargegas` in specs-actors.

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-17 20:00:30 +02:00
Jeromy
f8c4b64782 improve chain import analyze output, add some rough virtual gas charges 2020-06-15 16:05:29 -07:00
Łukasz Magiera
0230362d33
Merge pull request #2025 from filecoin-project/deps/specs-actors-v0.6
specs-actors v0.6
2020-06-15 21:30:37 +02:00
Jakub Sztandera
8039701f9e
Use extra field in gastrace
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-15 19:52:04 +02:00
Łukasz Magiera
907364ce67 Update deps, fix more tests 2020-06-15 18:30:49 +02:00
Jakub Sztandera
a23a87a17f
Add virtual gas
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-15 16:18:05 +02:00
Jakub Sztandera
91ea039077
Change ellipsis, more accurate timing
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-12 20:46:04 +02:00
Jakub Sztandera
cd69e57a33
Expose more callers, ellipsis unimportant ones
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-12 18:49:29 +02:00
Jakub Sztandera
071ddf6563
Add aggregate number, add number of bytes for storage calls
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-11 22:25:24 +02:00
Jakub Sztandera
c90d35869b
Add gas tracing
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-06-11 21:59:39 +02:00
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
whyrusleeping
767392332e WIP: update sectorbuilder 2020-02-26 14:54:34 -08:00
Łukasz Magiera
ae634ef7df actors: Remove addrass aliases 2020-02-25 21:54:58 +01:00
Łukasz Magiera
cd10a3126b actors: drop a bunch of type aliases 2020-02-25 21:35:15 +01:00
Łukasz Magiera
f1d9033194 Address some minor review nits 2020-02-25 21:25:52 +01:00
Łukasz Magiera
d787aa5007 Merge branch 'testnet/3' into feat/specs-actors 2020-02-24 18:32:02 +01:00
Łukasz Magiera
1d417685d1 Fix Sealing in TestAPIDealFlow 2020-02-23 21:33:10 +01:00
Łukasz Magiera
917df9a5b8 More unified randomness handling 2020-02-23 21:00:47 +01:00
Łukasz Magiera
a82d156ccb Deal flow fixes 2020-02-23 16:50:36 +01:00
Łukasz Magiera
226685dc1c Implement committed capacity sectors 2020-02-23 01:47:47 +01:00
Łukasz Magiera
b8428423a1 get chain to runnable state 2020-02-22 14:10:46 +01:00
Łukasz Magiera
57c43183e6 update specs-actors 2020-02-21 17:57:40 +01:00
Łukasz Magiera
69ec3c205a Merge remote-tracking branch 'origin/master' into testnet/3 2020-02-19 22:10:14 +01:00
Łukasz Magiera
835e3d803f vm: don't follow replica CIDs in copy 2020-02-19 20:39:00 +01:00
Łukasz Magiera
e9019c8bcc Working Genesis Generator 2020-02-18 22:38:08 +01:00
whyrusleeping
6d0eec6395 working towards a working genesis generator 2020-02-17 23:15:30 -08:00
Łukasz Magiera
038582ba44 vm: Fix getActorCode 2020-02-17 22:11:03 +01:00
Łukasz Magiera
140187dc2a vm: Fix Commit 2020-02-17 19:00:20 +01:00
Łukasz Magiera
3e4ebd6c9d actors: fix miner constructor 2020-02-17 18:19:06 +01:00
Łukasz Magiera
4ad63d9b63 update specs-actors; update GetRandomness 2020-02-17 09:46:12 +01:00
Łukasz Magiera
af8c379ac8 vm: More runtime methods 2020-02-17 09:19:54 +01:00
Łukasz Magiera
9f7bd983b3 vm: implement NewActorAddress 2020-02-17 08:59:53 +01:00
Łukasz Magiera
b6354dfb74 vm: Partially fix vm runtime shim 2020-02-16 23:15:12 +01:00
Łukasz Magiera
a92099258b genesis: Register system actor 2020-02-14 22:38:18 +01:00
Łukasz Magiera
c544c2b5c5 Set hamt bitwidth 2020-02-14 15:14:39 +01:00
Łukasz Magiera
0d6cfc879d Use specs-actors ignatures 2020-02-13 00:52:36 +01:00
Jakub Sztandera
5c3ed4d91a
Remove ffi from types package
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-12 18:41:35 +01:00
Łukasz Magiera
0aaf7b25a9 Propagate spec actor types more 2020-02-12 08:44:20 +01:00
Łukasz Magiera
a4f6b739be genesis: Change template types 2020-02-12 01:58:55 +01:00
Łukasz Magiera
91ca4a841a specs-actors: Import miner/power/cron/paych code 2020-02-11 02:43:26 +01:00
Łukasz Magiera
13435aebdc Spec Actors integration 2020-02-08 03:18:32 +01:00
whyrusleeping
0309e2332c add proper signature imports to tests 2020-02-06 23:01:37 -08:00
Łukasz Magiera
72c89ab89b Merge pull request #1223 from filecoin-project/fix/squash-forks
squash forks and use correct amt library everywhere
2020-02-06 20:14:55 +01:00
Łukasz Magiera
cbf63aab1e Merge branch 'master' into testnet/3 2020-02-05 21:27:04 +01:00
whyrusleeping
faf05cafcf squash forks and use correct amt library everywhere 2020-02-04 18:26:42 -08:00
whyrusleeping
028a113737 Make it all build 2020-02-04 14:19:05 -08:00
Jakub Sztandera
5e6ab42cb8
Don't depend on ffi
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-04 15:12:04 +01:00
Jakub Sztandera
54076e9a6b Invoker autoshim
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-02-04 07:46:24 +01:00
whyrusleeping
9cee31193c clean up tests and fix cli commands 2020-02-03 19:37:55 -08:00
whyrusleeping
dfe87c9f6f update to latest hamt changes 2020-02-03 18:52:18 -08:00
whyrusleeping
01b6ddbbd3 add a test to ensure there are no off-by-one errors in fork activation logic 2020-01-31 15:52:39 -08:00
whyrusleeping
dcd01df2d3 wire up tracing into state tree flush, add pprof flag 2020-01-22 11:53:06 -08:00
Łukasz Magiera
62d661f898 chainwatch: Store json states 2020-01-19 22:48:19 +01:00
whyrusleeping
fb173c058e WIP: blizzard fork changes and test utilities 2020-01-16 18:33:43 -08:00
Travis Person
68f8d60323 Adding fields to warning in vm ApplyMessage (#1090)
* Adding fields to warning in vm ApplyMessage
2020-01-16 01:36:16 +01:00
Łukasz Magiera
94a21e3aeb Update deps 2020-01-14 03:05:46 +01:00
Łukasz Magiera
2ca0c152ba Deal tests on mock sectorbuilder 2020-01-14 03:05:46 +01:00
Łukasz Magiera
a2bcc1fec2 Mostly functional mock sectorbuilder 2020-01-14 03:05:35 +01:00
Jakub Sztandera
1ed62628a7
Update go-log to v2
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2020-01-08 20:22:31 +01:00
whyrusleeping
e41dbdad90 reduce most vm errors to non-fatal, explicitly mark disk issues as fatal 2020-01-07 19:46:55 -08:00
hannahhoward
8418464d91 refactor(address): use extracted address library
Switch to using extracted address library
2020-01-07 14:53:27 +01:00
Łukasz Magiera
f7604b84f7
Merge pull request #965 from filecoin-project/feat/no-fatal-serialization
make serialization error non-fatal
2019-12-19 22:04:27 +01:00
Łukasz Magiera
81233b894d Implement 'chain get' for easier ipld digging 2019-12-19 17:58:02 +01:00
whyrusleeping
897d4c7d24 make serialization error non-fatal 2019-12-17 19:41:58 -08:00
Łukasz Magiera
d6f543ce87 gofmt 2019-12-16 13:00:43 +01:00
Whyrusleeping
7293f7415d
Merge pull request #715 from filecoin-project/frrist/chainval-multisig
chainval | multisig tests
2019-12-16 02:58:30 +01:00
Łukasz Magiera
37113aeab1 Final testnet params 2019-12-11 17:27:30 +01:00
whyrusleeping
d2448912a6 Implement basic fault handling
WIP: miner actor tests

working miner actor test

rebase and fix tests
2019-12-09 20:53:43 +01:00
frrist
b6b91372cb add multisig test calls and update to v0.0.3 2019-12-09 09:55:24 -08:00
whyrusleeping
613a0a05a0 more of that sweet staticcheck goodness 2019-12-04 18:04:09 -08:00
frrist
e1e295d47b update to work with chain-validation refactor 2019-12-04 15:28:12 -08:00
Whyrusleeping
dd6e75f49d
Merge pull request #666 from filecoin-project/feat/election-post
Election post restructuring
2019-12-02 15:32:12 -08:00
whyrusleeping
3b533ed76c Genesis miner config actually sets the created miner address now 2019-11-29 22:31:26 -06:00
Łukasz Magiera
367512d067 Some fpost fixes 2019-11-28 19:08:10 +01:00
Łukasz Magiera
aefd432422 actors: Fallback post progress 2019-11-28 13:46:56 +01:00
Łukasz Magiera
96023d415e actors: Implement cron actor 2019-11-22 23:51:44 +01:00
whyrusleeping
cac44367aa add batching to vm Copy call 2019-11-17 11:50:04 -06:00
whyrusleeping
ab2e722811 use fast cbor-gen method for extracting links from objects 2019-11-16 11:24:11 -08:00
Łukasz Magiera
77667d78ff
Merge pull request #586 from filecoin-project/feat/more-tracing-again
more tracing spans
2019-11-13 11:42:36 +01:00
whyrusleeping
9e464a4b90 more tracing spans 2019-11-12 12:42:22 -08:00
frrist
6545c20666 fixup! first pass at integrating chain-validation 2019-11-12 11:23:59 -08:00
Łukasz Magiera
3e515ab24c Merge branch 'feat/interactive-porep' of github.com:filecoin-project/go-lotus into feat/interactive-porep 2019-11-02 15:13:48 +01:00
Łukasz Magiera
be8fe54ea3 Set correct Provider addr in StoreGarbage 2019-11-02 15:13:37 +01:00
whyrusleeping
68de42df8c increase actor error log verbosity 2019-11-01 23:30:06 -07:00
Łukasz Magiera
72af55d067 deals: Price per epoch 2019-10-29 11:01:18 +01:00
Łukasz Magiera
6d766ab241 Set e=3 2019-10-28 19:22:40 +01:00
Łukasz Magiera
eeca3d86df
Merge pull request #415 from filecoin-project/feat/deals-on-chain
On-Chain deals
2019-10-25 17:03:25 +02:00
whyrusleeping
fc7c7ddd97 Initial pass at a peer manager 2019-10-23 12:47:22 +02:00
Łukasz Magiera
46a0333c9c on chain deals: Wip porting deal systems to storagemarket 2019-10-23 12:44:00 +02:00
Łukasz Magiera
c41dd4efeb actora: register storagemarket 2019-10-23 12:44:00 +02:00
waynewyang
fab4777b8f Delete TransferFunds Method 2019-10-23 13:22:03 +08:00
waynewyang
f99c11e048 fix method: VM.send 2019-10-22 20:37:04 +08:00
waynewyang
2d4c5daa93 fix annotation for vm 2019-10-22 16:14:10 +08:00
whyrusleeping
63b81af23e handle changing default address 2019-10-18 20:42:00 +09:00
Jakub Sztandera
1bf713cb0a
Cleanup imports after rename
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-18 13:47:41 +09:00
whyrusleeping
ab6ef85b6d More tracing! 2019-10-16 19:24:33 +09:00
Łukasz Magiera
fb80d75b07 Almost building weight function 2019-10-15 14:31:34 +02:00
Łukasz Magiera
a576b72364 actors: Sync with the new spec, storage actors 2019-10-15 14:31:34 +02:00
whyrusleeping
45737f8a51
add more tracing spans
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-13 03:07:55 +02:00
whyrusleeping
80d306de14 check transfer amounts are positive values 2019-10-12 15:57:49 +09:00
whyrusleeping
a56e786e36 some cleanup of vm transfer logic to make juan happier 2019-10-11 18:13:04 +09:00
whyrusleeping
3f342d7ae2 add some more tracing to chain sync 2019-10-10 20:13:26 +09:00
Jakub Sztandera
991ab167fe
Fix vm log
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
2019-10-04 22:57:59 +02:00
whyrusleeping
f9ac86ab00 the doneset is for dropping sectors 2019-10-04 12:30:30 -06:00
Jakub Sztandera
76ab2e8a7b De-javify
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-09-28 00:02:02 +02:00
Jakub Sztandera
b90f45fa60 Change build params
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-09-27 23:42:12 +02:00
Whyrusleeping
b611637652
Apply suggestions from code review
Co-Authored-By: Łukasz Magiera <magik6k@users.noreply.github.com>
2019-09-27 13:47:10 -07:00
whyrusleeping
639139795b remember why the go big math library works the way it does 2019-09-26 16:09:10 -07:00
Jakub Sztandera
ef5e7674db Use incremental alg for rewards
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-09-27 00:33:38 +02:00
whyrusleeping
2f35a23f0f fix block reward math 2019-09-23 21:15:18 -07:00
whyrusleeping
47d12417b3 working on correct block reward 2019-09-23 21:15:18 -07:00
Łukasz Magiera
5ce15bfaf4 types: Less/GreaterThan for bigints 2019-09-23 19:11:44 +02:00
Łukasz Magiera
f357becc8a statetree: add actor to actcache in SetActor 2019-09-23 11:45:22 +02:00
Łukasz Magiera
4202da62cd
Merge pull request #216 from filecoin-project/feat/consensus-slashing
Feat/consensus slashing
2019-09-20 16:58:03 +02:00
Łukasz Magiera
9d36a499b6 post merge fixes 2019-09-20 14:22:46 +02:00
whyrusleeping
b3a0ec9155 resolve review note 2019-09-19 23:47:09 -07:00
whyrusleeping
fe020d9fd1 implement SlashConsensusFault 2019-09-19 22:23:24 -07:00
whyrusleeping
394edc6317 refactor to use 'randomness' as input to new vm creation 2019-09-19 20:08:44 -07:00
Łukasz Magiera
5fd98b7d27 post: Address review 2019-09-19 22:24:01 +02:00
Łukasz Magiera
839597012d Fix post seed height math 2019-09-19 19:38:56 +02:00
Jakub Sztandera
6fe32f55fc Fix typo
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-09-19 15:37:45 +02:00
Jakub Sztandera
54e076b6f9 Add randomness
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-09-19 15:32:00 +02:00
Łukasz Magiera
0406705490 vm: fix ReadState 2019-09-13 20:16:39 +02:00
whyrusleeping
fe2885382c self review, cleanup 2019-09-10 17:13:46 -07:00
whyrusleeping
a47969c76b finish up making the new serializations work 2019-09-10 16:03:17 -07:00
whyrusleeping
2f019158d0 more switching over to correct cbor marshaling 2019-09-10 12:58:45 -07:00
whyrusleeping
bc7f86ef05 self review, cleanup 2019-09-09 19:14:27 -07:00
whyrusleeping
ed45d1c2b4 refactor state utilities into StateManager package, implement proper election proofs 2019-09-09 19:14:00 -07:00
Jakub Sztandera
e6b83d9428 Charge per byte of object get
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-30 18:05:54 +02:00
Jakub Sztandera
a8e03d8a69 Charge gas per msg byte
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-29 20:34:53 +02:00
Jakub Sztandera
5c31b81701 Charge per byte of storage
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-29 20:34:53 +02:00
Jakub Sztandera
24fb5ca624
Merge pull request #160 from filecoin-project/feat/gas3
Charge per put and get
2019-08-27 22:45:38 +02:00
Jakub Sztandera
494ed768ba Cleanup lint
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-27 22:40:30 +02:00
Jakub Sztandera
8557505cbd Charge per put and get
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-27 17:01:17 +02:00
whyrusleeping
ccdc1575d6 add signatures to blocks 2019-08-26 17:46:39 -07:00
Jakub Sztandera
0c3e8949c1 Introduce gas tracking in harness
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-21 23:29:47 +02:00
whyrusleeping
b2d425b891 TEMP: accept miner address from cli 2019-08-16 12:39:13 -07:00
whyrusleeping
5a7f59498e Wire up more proper ticket generation and verification logic 2019-08-16 12:39:12 -07:00
whyrusleeping
e9d1f3e7c9 WIP: base mining on power and VRFs 2019-08-16 12:39:12 -07:00
Jakub Sztandera
5d7c20c0b1
Merge pull request #142 from filecoin-project/feat/gas
Initial gas charning
2019-08-16 15:29:05 +02:00
Jakub Sztandera
f6387da969 Fix misspell
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-16 14:46:42 +02:00
Łukasz Magiera
77c9112b10 invoker: sort imports 2019-08-16 14:11:57 +02:00
Łukasz Magiera
1e9898f844 gofmt 2019-08-16 04:34:23 +02:00
Łukasz Magiera
3327781e60 chain: Better ReadState 2019-08-16 04:33:59 +02:00
Jakub Sztandera
27057ee222 initial gas charning
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-15 18:24:06 +02:00