subgraph | action taken |
---|---|
binary-options | no refactor |
chainlink | merge into rates? |
depot | no refactor |
exchanges | add LatestRates |
exchanger | add LatestRates use templating |
grantsdao | no refactor |
limit-orders | merge into exchanges? |
liquidations | no refactor |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// SPDX-License-Identifier: MIT | |
pragma solidity ^0.8.0; | |
import "./interfaces/IERC20.sol"; | |
import "./Owned.sol"; | |
/** | |
* @title BonusEmissionEscrow |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { ethers } from 'ethers'; | |
// import | |
import BigNumber from 'bignumber.js'; | |
import Wei, { wei } from '@synthetixio/wei'; | |
// construction (string) | |
let bigNum = new BigNumber('100000000000000000'); | |
let weiNum = wei('1'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pragma solidity ^0.5.16; | |
// Inheritance | |
import "./Owned.sol"; | |
import "./interfaces/IAddressResolver.sol"; | |
import "./interfaces/ISystemMessenger.sol"; | |
// https://docs.synthetix.io/contracts/source/contracts/systemstatus | |
contract SystemMessenger is Owned, ISystemMessenger { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const ethers = require('ethers'); | |
const address = `${process.argv[2]}`; | |
const api = `${process.env.PROVIDER_URL}`; | |
const provider = new ethers.providers.JsonRpcProvider(api); | |
const ABI = require('./Synthetix.json'); | |
const synthetixAddress = '0x8700daec35af8ff88c16bdf0418774cb3d7599b4'; |
Findings:
- [CRITICAL[ infinite money printing glitch (see below)
- Fixed by fixing bug in AssociateDebt module which allowed for markets which were not in range to assign debt to an account. Tests added. https://github.com/Synthetixio/synthetix-v3/commit/eea624a739090ff5ace028de4ea25ffc1c926e96
- [CRITICAL] LegacyMarket.sol does not implement the
onERC721Received
function. As a result, callingmigrate
will always revert as minting an account token to itself will fail.- added
onERC721Received
function https://github.com/Synthetixio/synthetix-v3/commit/5fe3425b23b3c0c6e21cbab42b25f7832fcfde54
- added
- [CRITICAL] Accounts with an unhealthy collateralization ratio cannot be migrated. During migration, the call to
associateDebt
will validate that the debt association does not put the account into a state that can be liquidated. As a result, an account on v2 that should be liquidated cannot be moved to v3 if the collateralization ratios are the same between the two systems.- our in-house k
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const MAX_FAIL = parseInt(args[0], 16); | |
const chainMapping = { | |
'11155111': [ | |
`https://sepolia.infura.io/v3/${secrets.INFURA_API_KEY}`, | |
`https://rpc.sepolia.org`, | |
], | |
'10': [ | |
`https://mainnet.optimism.io`, |