Commit Graph

2202 Commits (28cce2fccc82f2fe57f698d8fc8df07884b7d924)

Author SHA1 Message Date
vzotova a81f8b4edf Updates max allowed stake size in economics 2020-05-12 15:36:30 +03:00
vzotova 79ef05bbbb Fixes rest tests after changes in economics 2020-05-12 15:36:30 +03:00
vzotova 926f942961 Updated `token_supply_at_period` for two phases and fixed some tests
Co-Authored-By: Arjun Hassard <arjunhassard@gmail.com>
2020-05-12 15:36:29 +03:00
vzotova 5ddc2a60db Update list of constructor parameters in deployers and other places 2020-05-12 15:36:29 +03:00
vzotova 98e06c56c2 Update BaseEconomics and draft of StandardTokenEconomics with new two-phase model
Co-Authored-By: Arjun Hassard <arjunhassard@gmail.com>
2020-05-12 15:36:29 +03:00
vzotova c958b52570 Issuer: two-phase issuance 2020-05-12 15:36:28 +03:00
Kieran Prasch 90d4c6ae94 Control mock registry source for mock testerchain; Test touch ups. 2020-05-08 19:20:54 -07:00
Kieran Prasch c177d2dca1 Introduce mock interfaces module 2020-05-08 19:20:54 -07:00
Kieran Prasch 1b49236deb Handle registry source manager via mock testerchain 2020-05-08 19:20:54 -07:00
Kieran Prasch 066f778dda Restore allocation handling in fixtures 2020-05-08 19:20:54 -07:00
Kieran Prasch 0ac64930d9 Exert a bit more control over mock testerchain blocktime in worklock testing 2020-05-08 19:20:54 -07:00
Kieran Prasch e8fbd5956a Handle token economics and mock testerchain compadibility with the larger test suite as a whole. 2020-05-08 19:20:54 -07:00
Kieran R. Prasch ab3e588c1e Setup a mock section in sandbox constants 2020-05-08 19:20:54 -07:00
Kieran R. Prasch bc2564cd36 Reintroduce keystore cli test as an e2e integration via testerchain 2020-05-08 19:20:54 -07:00
Kieran R. Prasch 1164db20f4 Intro MockPolicyManagerAgent 2020-05-08 19:20:54 -07:00
Kieran R. Prasch a58af7daf3 Mock and functional-scoped test grouping (fixtures) 2020-05-08 19:20:54 -07:00
Kieran R. Prasch cab7b1dced Adjust eth tester client to handle the mock backend accounts as well as teserchain accounts. 2020-05-08 19:20:54 -07:00
Kieran Prasch d7f99e7a53 Introduce MockBlockchain; pytestfixture tweaks. 2020-05-08 19:20:54 -07:00
Kieran Prasch 7f67226fe3 Detailing worklock functionality test assertions with new agent mocking API 2020-05-08 19:20:54 -07:00
Kieran Prasch 83d847c4ab Tight spy based test on worklock bidding CLI 2020-05-08 19:20:54 -07:00
Kieran R. Prasch c8bf00cd69 Spy on mocked transactions and calls through mock agents 2020-05-08 19:20:54 -07:00
Kieran R. Prasch 6aec7c634d Mock at the ContractAgent level while preserving agent routing 2020-05-08 19:20:54 -07:00
Kieran Prasch 5c6f2a5e8c Transaction and call mocking scheme implmentation 2020-05-08 19:20:54 -07:00
Kieran Prasch 570e656a17 Complete example of mocking at the agent layer 2020-05-08 19:20:54 -07:00
Kieran Prasch 0c2f684d71 Neat layout for agent mocking and cli unit testing 2020-05-08 19:20:54 -07:00
Kieran R. Prasch cf1c40c919 Proof of Concept fast CLI test. 2020-05-08 19:20:54 -07:00
Kieran Prasch 923832b3c5 Hack and slash with mock web3 backend 2020-05-08 19:20:54 -07:00
Kieran Prasch 2c9467ad7f
Try harder to ensure mixed config tests start with no known nodes... 2020-05-08 18:08:31 -07:00
Kieran R. Prasch 83bfefc9a1
Use pathlib in test mixed configuration cli test 2020-05-08 15:29:40 -07:00
Kieran Prasch 31e3a1afbe
Fixes mixed configuration test innacuracy. 2020-05-08 14:02:04 -07:00
K Prasch 6e1ae2fe8f
Merge pull request #1964 from KPrasch/squash
Bug Fixes: WSS Provider, Keystore file Handling
2020-05-08 09:59:27 -07:00
David Núñez 9c152e68ec Improve preprocessing and code organization in Allocator 2020-05-08 01:07:48 +02:00
Kieran Prasch 8b6e932837
Adjust keyfile reader mock to reflect filesystem walking. 2020-05-07 10:51:30 -07:00
Kieran Prasch 20358ae9a2
Dont add test account twice in tests. 2020-05-07 10:10:34 -07:00
Kieran R. Prasch 9051bf31a7 Fixes #1962 - Keystore path management bugfix 2020-05-06 19:10:42 -07:00
David Núñez ee54fcbbeb Allows to transfer ownership of StakingInterfaceRouter
* Fixes #1488
* Removes method to transfer ownership of all contracts at once.
2020-05-06 03:49:28 +02:00
David Núñez c820e124f6 Transferring ownership of proxied contracts should only affect the proxy
Fixes #1818
2020-05-06 01:29:42 +02:00
David Núñez 2aef36c7b0 Use estimateGas() instead of call() when trying to optimize batch deposits
Since estimateGas() with a provided gas limit doesn't fail in some backends (like eth tester), we always raise then the resulting TX is above the limit
2020-05-06 01:29:42 +02:00
David Núñez 6e0e9cf4dd Adapt tests to no allocations with PreallocationEscrow contracts 2020-05-06 01:29:42 +02:00
David Núñez 2423063541 Changes to allocations in CLI and actor levels
* Uses a helper actor called Allocator
* CLI tests
2020-05-06 01:29:42 +02:00
David Núñez d180d81c8a Batch deposit methods in StakingEscrowAgent and unit tests 2020-05-05 20:06:16 +02:00
David Núñez ec3b27d95a Extend gas estimation script for other batch deposit scenarios
For stakers with 24 substakes, gas cost per batch deposit is 850,000*N + 69,000
2020-05-05 20:06:16 +02:00
Kieran R. Prasch b209636081 unset monkey patch and recognition of block unil ready bug 2020-04-30 15:38:32 -07:00
Kieran R. Prasch c8a39cbb45 Keystore signer integration test 2020-04-30 15:23:24 -07:00
Kieran R. Prasch c99e69e794 Baseline pytests for keystore signer 2020-04-30 15:20:37 -07:00
K Prasch 3c3f23ea46
Merge pull request #1891 from KPrasch/milestoning
Verify consistent ownership during deployment; Handle Insufficient funds TX failure.
2020-04-28 09:25:34 -07:00
David Núñez a713d44f03 Parametrize test_snapshot with values covering different byte ranges 2020-04-28 00:25:32 +02:00
David Núñez 5c22845d9e Additional checks for setting flags in StakingEscrow 2020-04-28 00:25:32 +02:00
David Núñez 44b8127407 Tests balance snapshots in StakingEscrow
Note that we're even testing the actual storage content
2020-04-28 00:25:32 +02:00
David Núñez 94a2480416 Introduce some basic test utilities for Solidity and TesterBlockchain
The interesting utils are the ones to compute location of mapping entries and array data, as they will allow us to further improve our Solidity unit tests
2020-04-28 00:25:32 +02:00
David Núñez 2a6a5597d0 Include snapshots flag in output of StakingEscrow.getFlags() 2020-04-28 00:25:32 +02:00
David Núñez 590acf564c Print main contract sizes in gas estimation script 2020-04-27 02:37:22 +02:00
David Núñez e1dbef3a0a Unit tests for Snapshot library 2020-04-27 02:37:22 +02:00
David Núñez 420f061d6e Small reorder in estimage_gas.py script 2020-04-27 02:37:22 +02:00
vzotova 1457e97ca8 Apply suggestions from code review for #1915
Co-Authored-By: David Núñez <david@nucypher.com>
Co-Authored-By: MacLane S Wilkison <maclane@nucypher.com>
2020-04-26 18:56:00 +03:00
vzotova 7377e013ad Dispatcher: support for ERC897 2020-04-24 17:40:30 +03:00
vzotova 4431d9fa98 PolicyManager: reorganize state layout, decrease size of some reward fields to uint128 to put state in fewer slots 2020-04-24 15:57:45 +03:00
vzotova bbed659567 StakingEscrow: unifying all flags into one field to make more space for future slots 2020-04-24 15:57:44 +03:00
David Núñez 66c705154b StakingEscrow: storage optimization for substakes, use uint128 to store NU amounts
Co-Authored-By: vzotova <vikki.zta@gmail.com>
2020-04-24 15:57:44 +03:00
vzotova 32acc0a62a WorkLock: minor changes in restrictions 2020-04-24 15:57:44 +03:00
vzotova 261932125c Issuer: combine currentSupply1 and currentSupply2 in one slot to remove optimization code and increase readability 2020-04-24 15:57:43 +03:00
vzotova 5361b1b545 Small refactoring for gas estimation script to separate several cases 2020-04-24 15:57:43 +03:00
vzotova 4edb5441f7 Enable winding down in gas estimation script to measure worst case 2020-04-24 15:57:43 +03:00
vzotova c9ea0088d3 Upgradeable: stub slot for slot separation 2020-04-24 15:57:42 +03:00
K Prasch 14fe3d0232
Merge pull request #1892 from derekpierre/worklock-doc-update
Documentation to incorporate WorkLock v4 updates
2020-04-22 12:32:44 -07:00
derekpierre af7ca0c2c5 Modify worklock output for bidder depending on whether tokens have been already claimed or not
Cleanup output of refunds
Update docs to reflect updated output
Add tests for base deposit and refund rate methods added to WorkLockAgent
2020-04-20 11:52:11 -04:00
Kieran Prasch a347926970
Formalize TransactionFailed API; Some careful integration with interfaces. 2020-04-18 12:46:32 -07:00
jMyles 163e679dd2 Since we are getting lazier and lazier about maturing nodes, we need a bit of compatibility logic in the tests here. 2020-04-15 18:32:37 -07:00
Kieran Prasch 9116e2035e
Single contract deployment test touch up. 2020-04-15 12:50:55 -07:00
Kieran Prasch d162792495
Pretty formatting for deployment heads ups 2020-04-15 12:50:55 -07:00
Kieran Prasch fd3e289ef3
Fixes #1209 - Ensure StakingEscrow agent can accept token deposits from 3rd party addresses on behalf of another staker address. 2020-04-15 12:50:55 -07:00
Kieran Prasch 56ee8d0de0
Deprecation of --poa from CLI tests. 2020-04-15 12:50:55 -07:00
Kieran Prasch 08708f3d84
Fixes #1799 - Allow --ignore-deployed to be used for all types of contract creation. 2020-04-15 12:50:55 -07:00
Kieran Prasch c7541df6a8
Fixes #1765 - Deprecates Seeder Contract. 2020-04-15 12:50:53 -07:00
David Núñez 7230aeac41 Move NULL_ADDRESS constant from BlockchainInterface to the eth.constants module 2020-04-15 02:42:25 +02:00
David Núñez d3a88dc205 First test for Trustee: proposing MultiSig management operations 2020-04-15 02:36:22 +02:00
David Núñez 1da7d97acb Add a getter for the number of owners of the MultiSig contract 2020-04-15 02:36:22 +02:00
David Núñez 7d6402b686
Merge pull request #1875 from vzotova/immutable
Immutable fields in contracts
2020-04-15 00:55:00 +02:00
vzotova e527858b6d Solidity: immutable fields 2020-04-10 17:54:41 +03:00
David Núñez 38c9238e48 Removing secretHash in Upgradeable shifted all slots in test contract
secretHash itself occupied a slot, but in addition, it was in between an address and an uint8, which now fit together in a single slot, so all slots of this test contract have moved 2 places.
2020-04-09 23:36:39 +02:00
David Núñez e1dc124317 Adapt everything else to no secrets: deployers, tests, CLI, docs, etc 2020-04-09 17:59:56 +02:00
David Núñez 00c449fac5 Remove secret deployment hash from proxy contracts 2020-04-09 14:47:54 +02:00
K Prasch d28041da5c
Merge pull request #1850 from cygnusv/fix-954
Test ReEncryptionValidator library constants
2020-04-08 14:09:14 -07:00
David Núñez abdc5e76fb Finally, Solidity 0.6 now allows to test library constants (Fixes #954) 2020-04-06 22:09:11 +02:00
Kieran Prasch 93ca641441
Respond to RFCs; Sensor -> Tracker; Testing touch up/follow up. 2020-04-06 12:14:06 -07:00
vzotova 0b2d0000b9 WorkLock: make some fields immutable 2020-04-06 18:24:58 +03:00
vzotova aa208533e7 Solidity: change string signatures to bytes selectors 2020-04-03 15:32:50 +03:00
vzotova c89e539761 Update solidity version in contracts 0.5.3 -> 0.6.1 2020-04-03 15:31:43 +03:00
David Núñez 5874779a9f
Merge pull request #1788 from vzotova/staking-contracts-updates
Staking contracts updates
2020-04-01 21:55:52 +02:00
K Prasch 9bc98a0384
Merge pull request #1800 from vepkenez/upload-limits-1743
Limit data size posted to Nucypher nodes to 50k
2020-04-01 09:28:20 -07:00
vzotova 48379354bc Apply suggestions from code review #1788
Co-Authored-By: Derek Pierre <derek.pierre@gmail.com>
2020-04-01 16:31:06 +03:00
vzotova 69d535ef21 StakingContracts: refactoring for tests 2020-04-01 16:31:06 +03:00
vzotova 65c0b3ec1e StakingContracts: move some logic from PreallocationEscrow to AbstractStakingContract 2020-04-01 16:31:05 +03:00
vzotova 7e01311e1f Refactoring for intercontract test 2020-04-01 16:31:05 +03:00
vzotova ce684cce54 StakingInterface: worklock commands 2020-04-01 16:31:05 +03:00
vzotova d8faa0be47 StakingContracts: anyone can send ETH to StakingContract, withdrawal policy fees to StakingContract to more control on on financial flows 2020-04-01 16:31:04 +03:00
Kieran Prasch 8ed44d60b8
Cleanup Ursula stopping services, prevent halting of reactor via health checks in test; test touch ups. 2020-03-31 11:18:39 -07:00
Kieran Prasch 651a471ff0
Dont assume the pruning task in running in tests; Keep initial impression of fleet state in Ursula Init. 2020-03-31 11:05:25 -07:00
Kieran Prasch 285715e290
Respond to RFCs in PR #1462; Implement RestMiddleware client for self-health checks. 2020-03-31 11:05:25 -07:00
Kieran R. Prasch f4895ae1e9
Network level availability score testing; Exception handling for status flow control. Make Excuses.
Co-authored-by: derekpierre <derek.pierre@gmail.com>
2020-03-31 11:05:25 -07:00
Kieran R. Prasch 64786b572d
Allow opt-out for uptime checks via configuration and disable it during tests by default. 2020-03-31 11:05:25 -07:00
Kieran R. Prasch d6df4af401
Passing tests with @michwill's scoring suggestions. 2020-03-31 11:05:25 -07:00
Kieran R. Prasch e02628b032
Understand 1.0 to indicate higher availability. 2020-03-31 11:05:25 -07:00
Kieran R. Prasch b055d40c4f
Building on threaded tests for self-checks. Fixes several design bugs caught in-test on AvailabilitySensor. 2020-03-31 11:05:25 -07:00
Kieran R. Prasch 5c9fb6823f
Demonstrates a method to test self-availablity checks in successful conditions 2020-03-31 11:05:25 -07:00
Kieran R. Prasch 2b8533abb8
Sheepish attempt at threading availability loop tests. 2020-03-31 11:05:25 -07:00
David Núñez e0233dc8ac
Merge pull request #1764 from vzotova/se-pre-allocation
StakingEscrow pre-allocations
2020-03-31 02:55:44 +02:00
vzotova 6b97e4e330 StakingEscrow: multiple sub-stakes for multiple stakers in batch deposit 2020-03-27 19:29:33 +03:00
vzotova 3449c2f873 StakingEscrow: batch deposit with one sub-stake 2020-03-27 19:29:33 +03:00
vzotova 272764e5dc StakingEscrow: refactoring of life cycle to allow deposit before initialization 2020-03-27 19:29:32 +03:00
vzotova 47725576e1 WorkLock: manual shutdown 2020-03-27 19:28:47 +03:00
Kieran Prasch a26daf57b5
Renames TransactingPower init kwarg to account. 2020-03-26 14:55:38 -07:00
Kieran Prasch 16de6ffa56
Web3Client -> EthereumClient 2020-03-26 14:55:38 -07:00
Kieran Prasch 4e17bbe70b
Test implementing mocked HW wallet via Web3 signer; Cleanup. 2020-03-26 14:55:38 -07:00
Kieran Prasch 9c1aec73af
refining tpower and signer exception handling, in tandem. 2020-03-26 14:55:38 -07:00
Kieran R. Prasch 4e972b994e
Use signer on character.init and web3signer as TPower default. 2020-03-26 14:55:36 -07:00
Kieran R. Prasch 027adbfdc7
Implements extracted signers in Character configuration and init, tests to follow. 2020-03-26 14:53:40 -07:00
Kieran R. Prasch 1685c37407
Moving TPower in a single account signer-based backend. 2020-03-26 14:53:40 -07:00
damon 7b492a195c fix test conditions on test_mixed_configurations 2020-03-26 14:04:36 -07:00
damon a437feac9a hendrix handles content length validation 2020-03-26 13:26:03 -07:00
damon 308d354fd6 implement non-working flask implementation of MAX_CONTENT_LENGTH 2020-03-26 13:26:03 -07:00
David Núñez e4f37cbc0e
Merge pull request #1803 from vzotova/fix-refund
Forbid a refund before claiming tokens in WorkLock
2020-03-25 16:34:16 +01:00
vzotova 232802dfb1 WorkLock: forbid refund before claiming tokens 2020-03-25 11:59:51 +03:00
David Núñez 2d2be8f5b3 Withdraw unspent bid amount as part of claiming and remove it as independent command 2020-03-22 16:05:42 +01:00
K Prasch 5fe81dc65d
Merge pull request #1773 from vzotova/worklock-updates-opt4
🐳 Worklock updates (option 4)
2020-03-19 10:21:11 -07:00
vzotova ce6e63171b Apply suggestions from code review #1773
Co-Authored-By: Derek Pierre <derek.pierre@gmail.com>
Co-Authored-By: K Prasch <kieran@nucypher.com>
Co-Authored-By: David Núñez <david@nucypher.com>
Co-Authored-By: Arjun Hassard <arjunhassard@gmail.com>
2020-03-19 12:27:25 +03:00
vzotova c3b47eed72 WorkLock: withdrawal pattern for force refund
Co-Authored-By: David Núñez <david@nucypher.com>
2020-03-16 18:34:18 +03:00
vzotova f3831e768e WorkLock: updates agent, actor and CLI layers to work with bonus part of bid 2020-03-14 13:38:21 +03:00
vzotova f69e23864a WorkLock: tokens splitted into base part (min stake) and bonus part 2020-03-14 12:00:24 +03:00
vzotova fde134a398 Apply suggestions from code review #1732
Co-Authored-By: Derek Pierre <derek.pierre@gmail.com>
2020-03-13 23:01:01 +03:00
vzotova 18bffc15c1 WorkLock: method to cancel distribution when not enough bidders 2020-03-13 22:59:05 +03:00
vzotova 38ddc5e591 WorkLock: force refund at CLI, actor, agent layers 2020-03-13 22:57:39 +03:00
vzotova 0bd4cd98ca WorkLock: force refund to whales 2020-03-13 22:47:04 +03:00
vzotova 41cbd542ee WorkLock: small refactoring of methods and tests 2020-03-13 22:31:38 +03:00
vzotova 8571f220f4 StakingEscrow: reorganize tests for max/min allowed locked tokens 2020-03-13 21:51:07 +03:00
vzotova bc618284af WorkLock: checking all bids to prevent exceeding max allowable stake 2020-03-13 21:51:06 +03:00
vzotova db6dea77f3 WorkLock: tracking all bidders 2020-03-13 21:51:06 +03:00
vzotova a2deca9eb8 WorkLock: cancellation window 2020-03-13 21:51:05 +03:00
vzotova 5c719dd1a9 New constraints in WorkLock: minimum allowed bid, cancellation only during bidding, removed unclaimed tokens 2020-03-13 21:51:04 +03:00
vzotova a8f0ab3eee WorkLock: improve ABI: extracted calculating available refund 2020-03-13 21:50:35 +03:00
K Prasch ab978c09be
Merge pull request #1759 from KPrasch/configurate
Offline Configuration Selection
2020-03-13 10:56:05 -07:00
Kieran Prasch 489c048712
KeyStore -> Datastore 2020-03-09 14:50:18 -07:00
damon 457151635a
add test hooks and test for expiring cfrags working 2020-03-09 13:45:26 -07:00
Kieran R. Prasch 4b82f6261f
Forging a test for auto arrangement pruning with a twisted clock. 2020-03-09 13:45:26 -07:00
Kieran Prasch eb32902704
Keep missing configuration tests passing; Always use mocked registry source. 2020-03-05 10:02:20 -08:00
Kieran Prasch cf1ca2093f
Interactive network selection; Touch ups. 2020-03-03 09:17:09 -08:00
Kieran R. Prasch 7e5cd1c42c Adding configurable gas strategy to Alice/Bob; Work around for embedded JSON IPC emitters. 2020-02-27 15:44:41 -07:00
David Núñez 7e1dec2950
Merge pull request #1662 from vzotova/rate-range
[DO NOT MERGE YET] Reward rate range
2020-02-27 12:05:03 -08:00
David Núñez 0dcdf51fc8
Merge pull request #1738 from cygnusv/activate-network
Allow to deploy a network in idle mode. Activate later
2020-02-26 15:40:38 -08:00
tuxxy 87534a944d Handle InvalidSignature and add to suspicious activities and log the offense 2020-02-25 05:33:05 +01:00