Skip to content

Adding solidity output to deploy script #1313

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 85 commits into from
Jun 29, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
8ef2dde
WIP
jjgonecrypto May 27, 2021
e346e24
Adding basic output
jjgonecrypto May 28, 2021
7b42e87
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 3, 2021
f91dd40
Adds generate-solidity to the deploy script
jjgonecrypto Jun 3, 2021
a7a80b0
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 3, 2021
a8d8b22
Removing test migration
jjgonecrypto Jun 3, 2021
a36175e
Better output for bytes32
jjgonecrypto Jun 3, 2021
2d324e4
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 3, 2021
5d03c22
Fixing oracle address output in params
jjgonecrypto Jun 3, 2021
227f0b4
Adding features to fork not as owner
jjgonecrypto Jun 7, 2021
46712e4
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 7, 2021
7978894
Legacy owned support and owner forking
jjgonecrypto Jun 7, 2021
4ec7710
fixing token state synthetix source set
jjgonecrypto Jun 7, 2021
d68d0c0
Fixes for legacy sources
jjgonecrypto Jun 7, 2021
7e6dd5c
Legacy contracts
jjgonecrypto Jun 7, 2021
3d3d1dd
Fixing legacy compiles for fresh deploy tests
jjgonecrypto Jun 8, 2021
7a1c0a9
Fixing issue with runsteps colliding
jjgonecrypto Jun 8, 2021
e9a3a6c
Fixing legacy output
jjgonecrypto Jun 8, 2021
e352536
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 8, 2021
878cbb8
Removing un-needed fork-as-owner flag
jjgonecrypto Jun 8, 2021
61d2bbb
Remvoing useFork check on import addresses
jjgonecrypto Jun 8, 2021
78948ad
Merge branch 'develop' into adding-solidity-output-to-deploy-script
Jun 8, 2021
d24e995
Merge branch 'develop' into adding-solidity-output-to-deploy-script
Jun 9, 2021
587da65
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 15, 2021
6ea0c32
Adding comments to solidity out
jjgonecrypto Jun 15, 2021
80c8e61
Removing unneeded deploy param
jjgonecrypto Jun 15, 2021
3787c48
New Migrator with comments
jjgonecrypto Jun 15, 2021
212a6c9
Fix for SupplySchedule - should use the ERC20 proxy
jjgonecrypto Jun 15, 2021
0dcfb7a
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 16, 2021
71153f0
Derrrrr fix
jjgonecrypto Jun 16, 2021
6ebd3e7
Ensuring contract names are added
jjgonecrypto Jun 17, 2021
3b0374b
Ensuring that when owner actions performed in non-fork mode, no migra…
jjgonecrypto Jun 17, 2021
7a47d4b
Fixing empty migration output
jjgonecrypto Jun 17, 2021
5ab7dca
Adding optional support for owner vs deployer account
jjgonecrypto Jun 17, 2021
a170bb0
Ensuring local can also output solidity when in owner mode
jjgonecrypto Jun 17, 2021
bdb0bc2
Using named contracts
jjgonecrypto Jun 17, 2021
0804233
Ensuring named migration contracts using release name
jjgonecrypto Jun 17, 2021
8d4231f
Revert "Adding optional support for owner vs deployer account"
jjgonecrypto Jun 17, 2021
1601633
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 17, 2021
1bf1b3d
Adding generated migration comments
jjgonecrypto Jun 17, 2021
b677b48
Moving new contract list to import step and generate now does simulat…
jjgonecrypto Jun 17, 2021
f6dab96
Prevent MockWETH from being added to solidity, and ensure system stat…
jjgonecrypto Jun 17, 2021
61a5461
Fixing nominate to work locally and ethers fix
jjgonecrypto Jun 21, 2021
dd37290
Fix nominate logic
jjgonecrypto Jun 21, 2021
370d372
Handling rebuild caches even when in generate solidity mode
jjgonecrypto Jun 22, 2021
73e0eb7
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 22, 2021
34e2a5c
Adding check only run as deployer
jjgonecrypto Jun 23, 2021
da007ab
Support new SystemSettings deployed with generate-solidity
jjgonecrypto Jun 23, 2021
cd288ce
Support for testnet forking
jjgonecrypto Jun 23, 2021
beb229c
Merge branch 'fix-fork-to-handle-testnets' into adding-solidity-outpu…
jjgonecrypto Jun 23, 2021
4e11000
Minor fix that breaks jsonification
jjgonecrypto Jun 23, 2021
562bb03
Allow private key overrides in local and fork mode
jjgonecrypto Jun 23, 2021
0d3befa
Merge branch 'deployer-allow-privatekey-in-fork-and-local' into addin…
jjgonecrypto Jun 23, 2021
a85fb9d
Fixing issue with source in deployer
jjgonecrypto Jun 23, 2021
36a76fe
Generate solidity has base migration logic
jjgonecrypto Jun 23, 2021
c22fead
Merge branch 'fix-supply-schedule-proxy' into adding-solidity-output-…
jjgonecrypto Jun 23, 2021
18226b5
Adding list of contracts to be changed
jjgonecrypto Jun 23, 2021
70518e6
Fixing the contract owner issue
jjgonecrypto Jun 23, 2021
c64a718
fixes to nominate and generate
jjgonecrypto Jun 23, 2021
6c62890
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 23, 2021
7caa113
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 24, 2021
0a13540
Adding support to deploy new debt cache
jjgonecrypto Jun 24, 2021
d0be812
Updating releases for Alnitak
jjgonecrypto Jun 24, 2021
aa9faa0
Merge branch 'adding-145-150-to-alnitak' into adding-solidity-output-…
jjgonecrypto Jun 24, 2021
b5a7d2a
Adding coverage for BaseMigration
jjgonecrypto Jun 25, 2021
aa9b308
Moving BaseMigration to root for test coverage
jjgonecrypto Jun 25, 2021
6aeea6f
Final fixes
jjgonecrypto Jun 25, 2021
ed1ff1a
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 25, 2021
dc32d3d
Ignoring migrations in the build
jjgonecrypto Jun 25, 2021
d780eef
Ensuring Migrations are not compiled by hardhat
jjgonecrypto Jun 25, 2021
399e326
Named array params
jjgonecrypto Jun 25, 2021
4518e35
Upgrading etherscan links to optimistic explorer when required
jjgonecrypto Jun 25, 2021
51ecf1e
Merge branch 'upgrading-etherscan-link-to-include-ovm' into adding-so…
jjgonecrypto Jun 25, 2021
e8d4a5b
Adding more checked support
jjgonecrypto Jun 25, 2021
bcbb598
Allowing dry-run to continue past resolver addresses being added
jjgonecrypto Jun 25, 2021
0a243be
Adding Etherscan links
jjgonecrypto Jun 28, 2021
be5a719
Comment fix
jjgonecrypto Jun 28, 2021
5b79166
Fixing bug in generated code by naming
jjgonecrypto Jun 29, 2021
75e51e7
Adding --everything flag to skip ignore pattern
jjgonecrypto Jun 29, 2021
9b54660
Updating to mainnet-style contract and making sure no undefineds in v…
jjgonecrypto Jun 29, 2021
377ee2c
Adding migrations flag
jjgonecrypto Jun 29, 2021
5fdbf9b
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 29, 2021
ef5f8b7
Adding input type to old SupplySchedule ABI for kovan
jjgonecrypto Jun 29, 2021
0999a7a
Merge branch 'develop' into adding-solidity-output-to-deploy-script
jjgonecrypto Jun 29, 2021
2beebbb
Merge branch 'develop' into adding-solidity-output-to-deploy-script
Jun 29, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .solcover.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ module.exports = {
skipFiles: [
'test-helpers',
'migrations',
'legacy',
'EscrowChecker.sol',
'ExchangeRatesWithoutInvPricing.sol',
'IssuerWithoutLiquidations.sol',
Expand Down
38 changes: 38 additions & 0 deletions contracts/BaseMigration.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
pragma solidity ^0.5.16;

import "./Owned.sol";

contract BaseMigration is Owned {
address public deployer;

constructor(address _owner) internal Owned(_owner) {
deployer = msg.sender;
}

// safety value to return ownership (anyone can invoke)
function returnOwnership(address forContract) external {
bytes memory payload = abi.encodeWithSignature("nominateNewOwner(address)", owner);

// solhint-disable avoid-low-level-calls
(bool success, ) = forContract.call(payload);

if (!success) {
// then try legacy way
bytes memory legacyPayload = abi.encodeWithSignature("nominateOwner(address)", owner);

// solhint-disable avoid-low-level-calls
(bool legacySuccess, ) = forContract.call(legacyPayload);

require(legacySuccess, "Legacy nomination failed");
}
}

function _requireDeployer() private view {
require(msg.sender == deployer, "Only the deployer can invoke this");
}

modifier onlyDeployer() {
_requireDeployer();
_;
}
}
1 change: 1 addition & 0 deletions contracts/BaseSynthetix.sol
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import "./interfaces/IVirtualSynth.sol";

contract BaseSynthetix is IERC20, ExternStateToken, MixinResolver, ISynthetix {
// ========== STATE VARIABLES ==========
bytes32 public constant CONTRACT_NAME = "Synthetix";

// Available Synths which can be used with the system
string public constant TOKEN_NAME = "Synthetix Network Token";
Expand Down
2 changes: 2 additions & 0 deletions contracts/DebtCache.sol
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ import "./BaseDebtCache.sol";
contract DebtCache is BaseDebtCache {
using SafeDecimalMath for uint;

bytes32 public constant CONTRACT_NAME = "DebtCache";

constructor(address _owner, address _resolver) public BaseDebtCache(_owner, _resolver) {}

bytes32 internal constant EXCLUDED_DEBT_KEY = "EXCLUDED_DEBT";
Expand Down
2 changes: 2 additions & 0 deletions contracts/Exchanger.sol
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ contract Exchanger is Owned, MixinSystemSettings, IExchanger {
uint timestamp;
}

bytes32 public constant CONTRACT_NAME = "Exchanger";

bytes32 private constant sUSD = "sUSD";

// SIP-65: Decentralized circuit breaker
Expand Down
30 changes: 30 additions & 0 deletions contracts/legacy/LegacyOwned.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
pragma solidity ^0.5.16;

contract LegacyOwned {
address public owner;
address public nominatedOwner;

constructor(address _owner) public {
owner = _owner;
}

function nominateOwner(address _owner) external onlyOwner {
nominatedOwner = _owner;
emit OwnerNominated(_owner);
}

function acceptOwnership() external {
require(msg.sender == nominatedOwner);
emit OwnerChanged(owner, nominatedOwner);
owner = nominatedOwner;
nominatedOwner = address(0);
}

modifier onlyOwner {
require(msg.sender == owner);
_;
}

event OwnerNominated(address newOwner);
event OwnerChanged(address oldOwner, address newOwner);
}
49 changes: 49 additions & 0 deletions contracts/legacy/LegacyTokenState.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
pragma solidity ^0.5.16;

import "./LegacyOwned.sol";

contract LegacyTokenState is LegacyOwned {
// the address of the contract that can modify balances and allowances
// this can only be changed by the owner of this contract
address public associatedContract;

// ERC20 fields.
mapping(address => uint) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;

constructor(address _owner, address _associatedContract) public LegacyOwned(_owner) {
associatedContract = _associatedContract;
emit AssociatedContractUpdated(_associatedContract);
}

/* ========== SETTERS ========== */

// Change the associated contract to a new address
function setAssociatedContract(address _associatedContract) external onlyOwner {
associatedContract = _associatedContract;
emit AssociatedContractUpdated(_associatedContract);
}

function setAllowance(
address tokenOwner,
address spender,
uint value
) external onlyAssociatedContract {
allowance[tokenOwner][spender] = value;
}

function setBalanceOf(address account, uint value) external onlyAssociatedContract {
balanceOf[account] = value;
}

/* ========== MODIFIERS ========== */

modifier onlyAssociatedContract {
require(msg.sender == associatedContract);
_;
}

/* ========== EVENTS ========== */

event AssociatedContractUpdated(address _associatedContract);
}
Loading