Francisco Giordano
7f62c8e145
Fix docs links to overloaded functions ( #2275 )
...
* fix links to overloaded functions
* fix Address xrefs
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
5 years ago
Nicolás Venturo
b72088a90a
Add 'available since' notices
5 years ago
Julian M. Rodriguez
8b58fc7191
feat: add wrapper function for low level calls ( #2264 )
...
* feat: add wrapper function for low level calls
* add error message parameter
* adding unit tests and required mocks
* implement error message on SafeERC20
* fixed variable name in tests
* Add missing tests
* Improve docs.
* Add functionCallWithValue
* Add functionCallWithValue
* Skip balance check on non-value functionCall variants
* Increase out of gas test timeout
* Fix compile errors
* Apply suggestions from code review
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
* Add missing tests
* Add changelog entry
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
5 years ago
Nicolás Venturo
fac773ac99
Add SPX license identifier ( #2235 )
...
(cherry picked from commit 56de324afe
)
5 years ago
Anton Bukov
d418da6b91
Decrease CREATE2 address computation gas usage from 623 to 539 ( #2244 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
5 years ago
Julian M. Rodriguez
5513dfd3cf
Adding SafeCast variants for signed integers ( #2243 )
...
* feat: Adding SafeCast variants for signed integers
* Add newline at EOF
* Update CHANGELOG.md
* Update contracts/utils/SafeCast.sol
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
5 years ago
Nicolás Venturo
56de324afe
Add SPX license identifier ( #2235 )
5 years ago
Brendan Chou
cfa9ad9943
Fix ReentrancyGuard for Proxy Pattern ( #2171 )
...
* Fix ReentrancyGuard for Proxy Pattern
* Update ReentrancyGuard.sol
* Change constant values
* Add changelog entry
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
5 years ago
Nicolás Venturo
c20e620a06
Improve Pausable docs
5 years ago
Nicolás Venturo
5bb8d0245b
Improve Hooks documentation ( #2199 )
...
* Improve Hooks docs
* Improve Utils docs
* Apply suggestions from code review
Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>
* Add enumerable code samples
* Remove import statement from example
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
5 years ago
Nicolás Venturo
cca71ab709
Fix deprecation warnings ( #2115 )
...
* Fix deprecation warnings
* Workaround linter bug
5 years ago
Francisco Giordano
8b10cb38d8
Rename Strings.fromUint256 to Strings.toString ( #2188 )
...
* rename Strings.fromUint256 to Strings.toString
* add changelog entry
* fix conflict with js toString method
5 years ago
Nicolás Venturo
c4e5daff86
Fix Pausable docs
5 years ago
Nicolás Venturo
402c6ab4cc
Update docs ( #2168 )
...
* Update docs for ERC20 and ERC721
* Add EnumerableMap to docs
* Update misc guides
* Apply suggestions from code review
Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
5 years ago
Nicolás Venturo
bd0778461d
Add EnumerableMap, refactor ERC721 ( #2160 )
...
* Implement AddressSet in terms of a generic Set
* Add Uint256Set
* Add EnumerableMap
* Fix wording on EnumerableSet docs and tests
* Refactor ERC721 using EnumerableSet and EnumerableMap
* Fix tests
* Fix linter error
* Gas optimization for EnumerableMap
* Gas optimization for EnumerableSet
* Remove often not-taken if from Enumerable data structures
* Fix failing test
* Gas optimization for EnumerableMap
* Fix linter errors
* Add comment for clarification
* Improve test naming
* Rename EnumerableMap.add to set
* Add overload for EnumerableMap.get with custom error message
* Improve Enumerable docs
* Rename Uint256Set to UintSet
* Add changelog entry
5 years ago
corydickson
feb7ead005
Add revert if the bytecode length is zero ( #2117 )
...
* Add revert if the bytecode length is not greater than zero
* Add value parameter to create2 deploy function
Add tests for contract balance revert and depositing funds
* Change parameter name to amount for clarity
* Fix test for value sending
* Fix linter error
* Change revert reason
* Improve Create2.deploy documentation
* Slight test improvement
* Add changelog entry
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
5 years ago
Nicolás Venturo
7415ebe8bc
API improvements for EnumerableSet ( #2151 )
...
* Add revert reason to EnumerableSet.get.
* Rename EnumerableSet values to keys
* Rename get to at
* Add changelog entry
* Rename keys to values
* Add leading underscore to struct members
5 years ago
pepelu
4476a2d531
Unsigned conversion #2111 ( #2123 )
...
* Add signed to unsigned conversion to SafeCast
* Update SafeCast exception message
* Add test for SafeCast int to uint conversion
- Update SafeCastMock
- Add tests for SafeCast int256 to uint256
* Update SafeCast int to uint definition
Apply suggestions from code review.
Co-Authored-By: Nicolás Venturo <nicolas.venturo@gmail.com>
* Update test for SafeCast int to uint conversion
* Update SafeCast test after code review
- Change "downcasts" to "casts"
- Move test closer to its function
* Fix error in SafeCast toUint256 description
* Fix breaking error in SafeCast
* Add uint256 to int256 conversion to SafeCast
- Add function
- Add mock
- Add test
* Update SafeCast unsigned to signed conversion
- Update error in conversion to be more clear
- Update constants in test to be powers of 2 instead of shifts
* Add changelog entry
* Update SafeCast tests
- Add minus in INT256_MIN for clarity
Co-Authored-By: Nicolás Venturo <nicolas.venturo@gmail.com>
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
5 years ago
Nicolás Venturo
a8d6f13c94
Remove all 'available since' notices
5 years ago
Nicolás Venturo
9975a1a0c2
Remove Address.toPayable ( #2133 )
...
* Remove Address.toPayable
* Add changelog entry
5 years ago
Nicolás Venturo
c9630526e2
Draft and lifecycles directories cleanup ( #2122 )
...
* Move Pausable into utils
* Move Strings into utils
* Move Counters into utils
* Move SignedSafeMath into math
* Remove ERC1046
* Make ERC20Snapshot.snapshot internal
* Move ERC20Snapshot into ERC20
* Add drafts deprecation notice
* Remove drafts directory
* Add changelog entry
* Apply suggestions from code review
Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
5 years ago
Anton Bukov
e2813df879
Use bytes32 explicitly for Create2.computeAddress() ( #2088 )
...
* Use bytes32 explicitly for Create2.computeAddress(), to force users cache hash of the bytecode
* Remove only from test :)
5 years ago
Anton Bukov
19417c7cd5
Rename CREATE2 argument from bytecodeHash to bytecode and add new method for precomputed bytecode hash ( #2087 )
...
* Rename CREATE2 argument from bytecodeHash to bytecode and add new method for precomputed bytecode hash
* Remove only from test
* Fix linter error
5 years ago
Nicolás Venturo
5dfe7215a9
Migrate Contracts to Solidity v0.6 ( #2080 )
...
* Initial migration to Solidity 0.6.x - v3.0 first steps (#2063 )
* Initial migration, missing GSN, 721, 777 and Crowdsales.
* Add _beforeTokenOperation and _afterTokenOperation.
* Add documentation for hooks.
* Add hooks doc
* Add missing drafts
* Add back ERC721 with hooks
* Bring back ERC777
* Notes on hooks
* Bring back GSN
* Make functions virtual
* Make GSN overrides explicit
* Fix ERC20Pausable tests
* Remove virtual from some view functions
* Update linter
* Delete examples
* Remove unnecessary virtual
* Remove roles from Pausable
* Remove roles
* Remove users of roles
* Adapt ERC20 tests
* Fix ERC721 tests
* Add all ERC721 hooks
* Add ERC777 hooks
* Fix remaining tests
* Bump compiler version
* Move 721BurnableMock into mocks directory
* Remove _before hooks
* Fix tests
* Upgrade linter
* Put modifiers last
* Remove _beforeTokenApproval and _beforeOperatorApproval hooks
5 years ago
Nicolás Venturo
941d305044
Update docs
5 years ago
Nicolás Venturo
1b938e39a8
EnumerableSet improvements ( #2077 )
...
* Remove newAddressSet
* Add count and get functions.
* Fix lint
(cherry picked from commit 7988c044e0
)
5 years ago
Nicolás Venturo
7988c044e0
EnumerableSet improvements ( #2077 )
...
* Remove newAddressSet
* Add count and get functions.
* Fix lint
5 years ago
Alberto Cuesta Cañada
1e0f07751e
Implementation of an address Enumerable Set ( #2061 )
...
* Drafted Enumerable.sol.
* Drafted test framework.
* Tweaked the tests to follow oz structure.
* Coded EnumerableSet.
* Moved EnumerableSet to `utils`.
* Fixed linting.
* Improved comments.
* Tweaked contract description.
* Renamed struct to AddressSet.
* Relaxed version pragma to 0.5.0
* Removed events.
* Revert on useless operations.
* Small comment.
* Created AddressSet factory method.
* Failed transactions return false.
* Transactions now return false on failure.
* Remove comments from mock
* Rename mock functions
* Adapt tests to code style, use test-helpers
* Fix bug in remove, improve tests.
* Add changelog entry
* Add entry on Utils doc
* Add optimization for removal of last slot
* Update docs
* Fix headings of utilities documentation
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
5 years ago
Nicolás Venturo
e493fb3e95
Add 'available since' notes. Fixes #2054
5 years ago
Francisco Giordano
8c40a5b275
Create2 feature pending tasks ( #2013 )
...
* Add Create2 library (#1744 )
* feat(contracts): Add Create2 library to use create2 evm opcode
* Upgrade sol-coverage
* Add changelog entry
* Update comments and code style
* Remove create2 helper
* Fix linter error
* Fix truffle dependency
* Fix linter error
* refactor(Create2): Remove _deploy internal function
* test(Create2): test Create2 with inline assembly code
* fix(Create2): Check address returned form create2 instead of codesize of created contract
* refactor(Create2):Add revert reason when Create2 deploy fails (#2062 )
* fix merge with master
* fix test
Co-authored-by: Augusto Lemble <me@augustol.com>
5 years ago
Francisco Giordano
06983a2075
add note suggesting reentrancy post ( #2059 )
5 years ago
William Entriken
fbddf5ba5b
Test common case first ( #2023 )
5 years ago
William Entriken
5d47aa85bc
Correct documentation for isContract check ( #2017 )
...
* Correct documentation for isContract check
* Update Address.sol
* Update Address.sol
* add missing newline before asciidoc list
5 years ago
Nicolás Venturo
28b95ef5be
ReentrancyGuard gas optimization ( #1996 )
...
* Improve gas efficiency of reentrancyGuard
* Add changelog entry
* Fix ReentrancyGuard test
5 years ago
ericDeCourcy
33047ffddc
Update ReentrancyGuard for Istanbul Hard Fork ( #1992 )
...
* Update ReentrancyGuard for Istanbul Hard Fork
Changes:
Added L37, `_guardCounter = 1;`
Rationale:
The planned _Istanbul Hard Fork_ will implement [EIP 2200](e4d4ea348e/EIPS/eip-2200.md
), which implements "net gas metering" for `sstore` operations. If the final value of `_guardCounter` is unchanged relative to the original value of it, a gas refund will be applied and charges for changing the value of `_guardCounter` will effectively not exist. This ends up being cheaper than the current implementation ONLY AFTER Istanbul. Before Istanbul, the added line actually ends up costing more gas.
Note that if `_guardCounter` is `0` initially, the initial cost and subsequent refund will both be larger than if `_guardCounter` is `1` initially. Although in both cases, the net gas cost (`gasCost - gasRefund`) are equal, it's better in terms of cost to have both the gas cost and refund smaller, as there is some limit to the percentage of a gas refund that can actually be realized.
* Update CHANGELOG.md
Added note for change to ReentrancyGuard.sol
* Update ReentrancyGuard.sol
* Update CHANGELOG.md
5 years ago
Francisco Giordano
c4bb7b7bb9
remove beta notice
5 years ago
Francisco Giordano
feaf051fef
added feature availability info to documentation
...
(cherry picked from commit 9113335cb3
)
5 years ago
Nicolás Venturo
b0dbe0fc59
Transfer replacement ( #1962 )
...
* Add Address.sendEther
* Add documentation to sendEther
* Add changelog entry
* Rename sendEther to sendValue
(cherry picked from commit 8d166f3e35
)
5 years ago
Nicolás Venturo
23dc15898f
Bump required compiler version for Address ( #1898 )
...
(cherry picked from commit 4e527a20a5
)
5 years ago
Francisco Giordano
9113335cb3
added feature availability info to documentation
5 years ago
Nicolás Venturo
8d166f3e35
Transfer replacement ( #1962 )
...
* Add Address.sendEther
* Add documentation to sendEther
* Add changelog entry
* Rename sendEther to sendValue
5 years ago
Benjamin Smith
2c11ed59fa
Safe Casting Library from uint256 to uintXX ( #1926 )
...
* Include Safe Casting Library with complete and exhaustive test-suite.
* linting test file.
* Typo in SafeCast import statement
* Update test/utils/SafeCast.test.js
* Rename `castUXX` to `toUintXX` from suggestion
* Tackling the quick and easy suggestions regarding error string improvements etc.
* typo and changelog update.
* Improve SafeCast tests
* Update test/utils/SafeCast.test.js
* Update test/utils/SafeCast.test.js
* incorrect import
* add SafeCast to docs site
* Update CHANGELOG.md
* Update SafeCast.sol
5 years ago
Nicolás Venturo
4e527a20a5
Bump required compiler version for Address ( #1898 )
6 years ago
Francisco Giordano
9fdc91758d
add note in api ref about unreleased features
6 years ago
Andrew B Coathup
0da886c9c4
Update ReentrancyGuard.sol ( #1862 )
...
Fix typo
6 years ago
Andrew B Coathup
bd1f2ededd
Update Arrays.sol ( #1863 )
...
Fix typo
6 years ago
Francisco Giordano
7552af95e4
migrate content to format for new docs site
...
Squashed commit of the following:
commit fcf35eb806100de300bd9803ce3150dde1ecc424
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 17 17:16:04 2019 -0300
remove all docsite dependency
commit eeaee9a9d43d70704f6ab17b5126ddbd52b93a50
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 17 17:15:23 2019 -0300
update solidity-docgen
commit f021ff951829ea0c155186749819403c6b76e803
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 17 17:05:06 2019 -0300
update docsite script for new setup
commit ff887699d381cfbbe3acf1f1c0de8e22b58480f3
Merge: c938aa1d 84f85a41
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 17 16:46:46 2019 -0300
Merge branch 'master' into antora
commit c938aa1d9ed05ac83a34e2cebd8353f8331ad6d6
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Tue Jul 16 18:24:29 2019 -0300
make component name shorter
commit 5bbd6931e02cbbd8864c82655ad0f390ceead5f3
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 10 20:16:17 2019 -0300
add all info to docs templates
commit 39682c4515d7cf0f0368ed557f50d2709174208a
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 10 20:13:49 2019 -0300
fix npm docsite script
commit 7ae46bd4a0437abf66150d54d05adf46e3de2cab
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 10 18:48:05 2019 -0300
convert inline docs to asciidoc
commit cfdfd3dee4b4bf582fde22c8cb6e17a603d6e0c8
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 10 17:34:52 2019 -0300
add missing contract names in readmes
commit 15b6a2f9bfb546cf1d3bf4f104278b118bf1b3f4
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 10 17:16:47 2019 -0300
fix script path
commit 80d82b909f9460d1450d401f00b3f309da506b29
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 10 17:13:53 2019 -0300
update version of solidity-docgen
commit a870b6c607b9c2d0012f8a60a4ed1a1c8b7e8ebd
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 10 17:03:53 2019 -0300
add nav generation of api ref
commit 069cff4a25b83752650b54b86d85608c2f547e5e
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Wed Jul 10 16:32:14 2019 -0300
initial migration to asciidoc and new docgen version
commit 55216eed0a6551da913c8d1da4b2a0d0d3faa1a8
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Tue Jun 25 20:39:35 2019 -0300
add basic api doc example
commit 0cbe50ce2173b6d1d9a698329d91220f58822a53
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Tue Jun 25 19:31:31 2019 -0300
add sidebars
commit 256fc942845307258ac9dc25aace48117fa10f79
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Tue Jun 25 15:22:38 2019 -0300
add page titles
commit f4d0effa70e1fc0662729863e8ee72a8821bc458
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Tue Jun 25 15:19:41 2019 -0300
add contracts index file
commit b73b06359979f7d933df7f2b283c50cb1c31b2a0
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Tue Jun 25 15:14:52 2019 -0300
fix header levels
commit fb57d9b820f09a1b7c04eed1a205be0e45866cac
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Tue Jun 25 15:11:47 2019 -0300
switch format to preferred asciidoctor format
commit 032181d8804137332c71534753929d080a31a71f
Author: Francisco Giordano <frangio.1@gmail.com>
Date: Tue Jun 25 15:05:38 2019 -0300
initialize antora component and convert docs to asciidoc
6 years ago
Philippe Castonguay
0282c3608d
Using extcodehash instead of extcodesize for less gas ( #1802 )
...
* Using extcodehash instead of extcodesize for less gas
`extcodehash` uses less gas then `extcodesize`. You can tell which address is a contract by the hash (see EIP-1052).
* Fix
* Add explainer
* Update Address.sol
* add changelog entry
6 years ago
Yohann Pereira
489d2e85f1
Replace chai.should with chai.expect ( #1780 )
...
* changed exxpect to expect wherever applicable
* Merged with latest branch
* Updated merkleTree helper to latest master branch
* Made linting fixes
* Fix for test build
* updated for Coverage
* Updated Address.test.js
* Undo package-lock changes.
6 years ago
skyge
b95d7e7f8a
Add a simple wrapper for address. ( #1773 )
...
* Updated code style to no more than120 characters per line.
* Unify code comments style with Doxygen-style tags.
* Fix the conflicts.
* Add a return value in the contract ERC20Burnable.
* A Add a wrapper function to change type of address to address payable.
* U Modify Address utils.
* A Add test case for Address.
* U Modify code style in ERC20Burnable.
* Add changelog entry.
* Improved dev docs.
6 years ago