* `@0x/sol-doc`: New doc generator. * `@0x/sol-compiler`: Be more tolerant of AST-only compilation targets. * `@0x/contracts-exchange`: Add more devdoc comments. `@0x/contracts-exchange-libs`: Add more devdoc comments. * `@0x/sol-doc`: Update package script. * `@0x/sol-doc`: Remove unused files and update package scripts to be easier to configure. * Add more devdocs to contracts. * `@0x/sol-doc`: Remove doc artifacts. * `@0x/sol-doc`: Add `.gitignore` and `.npmignore`. * `@0x/contracts-exchange`: Fix compilation errors. * Fix more broken contracts. * `@0x/contracts-erc20-bridge-sampler`: Fix failing tests. * `@0x/contracts-asset-proxy`: Remove accidentally introduced hackathion file (lol). * `@0x/sol-doc`: Prevent some inherited contracts from being included in docs unintentionally. * `@0x/sol-doc`: Rename test file. * `@0x/contracts-exchange`: Update `orderEpoch` devdoc. * `@0x/sol-doc`: Tweak event and function docs. * Update CODEOWNERS. * `@0x/sol-doc` Tweak function md generation. * `@0x/sol-doc`: add `transformDocs()` tests. * `@0x/sol-doc`: add `extract_docs` tests. * `@0x/sol-doc` Fix linter errors. * `@0x/contracts-erc20-bridge-sampler`: Fix broken `ERC20BridgeSampler.sol` compile. * `@0x/sol-doc` Fix mismatched `dev-utils` dep version. * `@0x/sol-doc`: Add `gen_md` tests. * `@0x/sol-doc`: Remove `fs.promises` calls. * `@0x/sol-doc`: Fix linter errors. * `@0x/sol-doc`: Export all relevant types and functions. Co-authored-by: Lawrence Forman <me@merklejerk.com>
70 lines
1.7 KiB
Solidity
70 lines
1.7 KiB
Solidity
/*
|
|
|
|
Copyright 2019 ZeroEx Intl.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
|
|
*/
|
|
|
|
pragma solidity ^0.5.9;
|
|
|
|
import "./interfaces/IOwnable.sol";
|
|
import "./LibOwnableRichErrors.sol";
|
|
import "./LibRichErrors.sol";
|
|
|
|
|
|
contract Ownable is
|
|
IOwnable
|
|
{
|
|
/// @dev The owner of this contract.
|
|
/// @return 0 The owner address.
|
|
address public owner;
|
|
|
|
constructor ()
|
|
public
|
|
{
|
|
owner = msg.sender;
|
|
}
|
|
|
|
modifier onlyOwner() {
|
|
_assertSenderIsOwner();
|
|
_;
|
|
}
|
|
|
|
/// @dev Change the owner of this contract.
|
|
/// @param newOwner New owner address.
|
|
function transferOwnership(address newOwner)
|
|
public
|
|
onlyOwner
|
|
{
|
|
if (newOwner == address(0)) {
|
|
LibRichErrors.rrevert(LibOwnableRichErrors.TransferOwnerToZeroError());
|
|
} else {
|
|
owner = newOwner;
|
|
emit OwnershipTransferred(msg.sender, newOwner);
|
|
}
|
|
}
|
|
|
|
function _assertSenderIsOwner()
|
|
internal
|
|
view
|
|
{
|
|
if (msg.sender != owner) {
|
|
LibRichErrors.rrevert(LibOwnableRichErrors.OnlyOwnerError(
|
|
msg.sender,
|
|
owner
|
|
));
|
|
}
|
|
}
|
|
}
|