Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
version: stable

- name: Update package with soldeer
run: forge soldeer update
Expand Down
13 changes: 8 additions & 5 deletions foundry.toml
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
[profile.default]
src = "src"
out = "out"
libs = ["lib"]
libs = ["lib", "dependencies"]
ffi = true
# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
script_execution_protection = false

solc = '0.8.21'
solc = '0.8.29'
extra_output = ["devdoc", "userdoc", "storagelayout"]
evm_version = 'london'
evm_version = 'cancun'
use_literal_content = true
fs_permissions = [{ access = "read-write", path = "./" }]
optimizer = true
optimizer_runs = 200
gas_limit = "18446744073709551615"

[fmt]
line_length = 120
Expand All @@ -30,7 +33,7 @@ runs = 256
runs = 256

[dependencies]
"@fdk" = { version = "0.3.4-beta", url = "https://github.com/axieinfinity/foundry-deployment-kit/archive/refs/tags/v0.3.4-beta.zip" }
"@fdk" = { version = "0.3.6", url = "https://github.com/axieinfinity/foundry-deployment-kit/archive/refs/tags/v0.3.6-gamma.1.zip" }
"@pythnetwork-pyth-sdk-solidity" = { version = "2.2.0", url = "https://github.com/pyth-network/pyth-sdk-solidity/archive/refs/tags/v2.2.0.zip" }
"@openzeppelin-contracts" = { version = "4.9.3", url = "https://github.com/OpenZeppelin/openzeppelin-contracts/archive/refs/tags/v4.9.3.zip" }

Expand Down
6 changes: 3 additions & 3 deletions remappings.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
@rns-contracts/=src/
ds-test/=lib/forge-std/lib/ds-test/src/
forge-std/=dependencies/@fdk-0.3.4-beta/dependencies/forge-std-1.9.3/src/
forge-std/=dependencies/@fdk-0.3.6/dependencies/forge-std-1.9.5/src/
@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-4.9.3/contracts/
contract-template/=lib/contract-template/src/
@solady/=dependencies/@fdk-0.3.4-beta/dependencies/solady-0.0.228/src/
@solady/=dependencies/@fdk-0.3.6/dependencies/solady-0.0.228/src/
@ensdomains/ens-contracts/=lib/ens-contracts/contracts/
@ensdomains/buffer/=lib/buffer/
@pythnetwork/=dependencies/@pythnetwork-pyth-sdk-solidity-2.2.0/
@fdk/=dependencies/@fdk-0.3.4-beta/script
@fdk/=dependencies/@fdk-0.3.6/script
10 changes: 5 additions & 5 deletions soldeer.lock
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
[[dependencies]]
name = "@fdk"
version = "0.3.4-beta"
url = "https://github.com/axieinfinity/foundry-deployment-kit/archive/refs/tags/v0.3.4-beta.zip"
checksum = "d93cfa76dee3a227b2ee24d41c4afe2141fb25498eed9352d036ab13bbc16c13"
integrity = "4f0417853a563024747cba0dd88d501717c13d4387132e5b1b854da69b7486b2"
version = "0.3.6"
url = "https://github.com/axieinfinity/foundry-deployment-kit/archive/refs/tags/v0.3.6-gamma.1.zip"
checksum = "c03a263dcc04dfc02f9de685a21c31e8d63c2a57e3c068fa70d3325031b68263"
integrity = "8dc148795fbbe00966ab633f20f8a0b66df51844afda2017e029ac990f015c48"

[[dependencies]]
name = "@openzeppelin-contracts"
version = "4.9.3"
url = "https://github.com/OpenZeppelin/openzeppelin-contracts/archive/refs/tags/v4.9.3.zip"
checksum = "94270990c32ff2d00c06a9dabaf5b7a8e36773e017254acbb39d13733eb82960"
integrity = "5038b50ec02f34fe736aa65e36259a19e7cdb3e36c8fad0e06b23da3f0b19797"
integrity = "be2160bbca74b40c3ce2000d2d979f009e1d0566dce785656a8b1ebae9831d55"

[[dependencies]]
name = "@pythnetwork-pyth-sdk-solidity"
Expand Down
2 changes: 0 additions & 2 deletions src/RNSAuction.sol
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ contract RNSAuction is Initializable, AccessControlEnumerable, INSAuction {
/// @inheritdoc INSAuction
uint64 public constant DOMAIN_EXPIRY_DURATION = 365 days;
/// @inheritdoc INSAuction
uint64 public constant MAX_AUCTION_DOMAIN_EXPIRY = 365 days * 3;
/// @inheritdoc INSAuction
bytes32 public constant OPERATOR_ROLE = keccak256("OPERATOR_ROLE");

/// @dev Gap for upgradeability.
Expand Down
22 changes: 4 additions & 18 deletions src/RNSDomainPrice.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable
import { AccessControlEnumerable } from "@openzeppelin/contracts/access/AccessControlEnumerable.sol";
import { Math } from "@openzeppelin/contracts/utils/math/Math.sol";
import { IPyth, PythStructs } from "@pythnetwork/IPyth.sol";
import { INSUnified } from "./interfaces/INSUnified.sol";
import { INSAuction } from "./interfaces/INSAuction.sol";
import { INSDomainPrice } from "./interfaces/INSDomainPrice.sol";
import { PeriodScaler, LibPeriodScaler, Math } from "./libraries/math/PeriodScalingUtils.sol";
Expand Down Expand Up @@ -318,22 +317,16 @@ contract RNSDomainPrice is Initializable, AccessControlEnumerable, INSDomainPric
* @inheritdoc INSDomainPrice
*/
function convertUSDToRON(uint256 usdWei) public view returns (uint256 ronWei) {
return _pyth.getPriceNoOlderThan(_pythIdForRONUSD, _maxAcceptableAge).inverse({ expo: -18 }).mul({
inpWei: usdWei,
inpDecimals: int32(uint32(USD_DECIMALS)),
outDecimals: 18
});
return _pyth.getPriceNoOlderThan(_pythIdForRONUSD, _maxAcceptableAge).inverse({ expo: -18 })
.mul({ inpWei: usdWei, inpDecimals: int32(uint32(USD_DECIMALS)), outDecimals: 18 });
}

/**
* @inheritdoc INSDomainPrice
*/
function convertRONToUSD(uint256 ronWei) public view returns (uint256 usdWei) {
return _pyth.getPriceNoOlderThan(_pythIdForRONUSD, _maxAcceptableAge).mul({
inpWei: ronWei,
inpDecimals: 18,
outDecimals: int32(uint32(USD_DECIMALS))
});
return _pyth.getPriceNoOlderThan(_pythIdForRONUSD, _maxAcceptableAge)
.mul({ inpWei: ronWei, inpDecimals: 18, outDecimals: int32(uint32(USD_DECIMALS)) });
}

/**
Expand Down Expand Up @@ -462,13 +455,6 @@ contract RNSDomainPrice is Initializable, AccessControlEnumerable, INSDomainPric
uint256 id = LibRNSDomain.toId(LibRNSDomain.RON_ID, label);
INSAuction auction = _auction;
if (auction.reserved(id)) {
INSUnified rns = auction.getRNSUnified();
uint256 expiry = LibSafeRange.addWithUpperbound(rns.getRecord(id).mut.expiry, duration, type(uint64).max);
(INSAuction.DomainAuction memory domainAuction,) = auction.getAuction(id);
uint256 claimedAt = domainAuction.bid.claimedAt;
if (claimedAt != 0 && expiry - claimedAt > auction.MAX_AUCTION_DOMAIN_EXPIRY()) {
return (basePrice, tax, ExceedAuctionDomainExpiry.selector);
}
// Tax is added to the name reserved for the auction
tax.usd = Math.mulDiv(_taxRatio, _getDomainPrice(lbHash), MAX_PERCENTAGE);
}
Expand Down
5 changes: 0 additions & 5 deletions src/interfaces/INSAuction.sol
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,6 @@ interface INSAuction {
*/
function MAX_EXPIRY() external pure returns (uint64);

/**
* @dev The maximum expiry duration of a domain after transferring to bidder.
*/
function MAX_AUCTION_DOMAIN_EXPIRY() external pure returns (uint64);

/**
* @dev Returns the operator role.
*/
Expand Down