Skip to content

Commit

Permalink
Split treasury and distributor addresses
Browse files Browse the repository at this point in the history
  • Loading branch information
nezouse committed Apr 24, 2024
1 parent ea30c6f commit 2d01022
Show file tree
Hide file tree
Showing 18 changed files with 108 additions and 105 deletions.
8 changes: 4 additions & 4 deletions test/trinity/AccessControlTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ var snapshotId
var initialSnapshotId

const openVessel = async params => th.openVessel(contracts.core, params)
const deploy = async (treasury, mintingAccounts) => {
contracts = await deploymentHelper.deployTestContracts(treasury, mintingAccounts)
const deploy = async (treasury, distributor, mintingAccounts) => {
contracts = await deploymentHelper.deployTestContracts(treasury, distributor, mintingAccounts)

activePool = contracts.core.activePool
adminContract = contracts.core.adminContract
Expand All @@ -31,10 +31,10 @@ const deploy = async (treasury, mintingAccounts) => {
}

contract("Access Control: functions where the caller is restricted to Trinity contract(s)", async accounts => {
const [alice, bob, treasury] = accounts
const [alice, bob, treasury, distributor] = accounts

before(async () => {
await deploy(treasury, accounts.slice(0, 10))
await deploy(treasury, distributor, accounts.slice(0, 10))
for (account of accounts.slice(0, 10)) {
await openVessel({
asset: erc20.address,
Expand Down
8 changes: 4 additions & 4 deletions test/trinity/AdminContractTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ var snapshotId
var initialSnapshotId

const openVessel = async params => th.openVessel(contracts.core, params)
const deploy = async (treasury, mintingAccounts) => {
contracts = await deploymentHelper.deployTestContracts(treasury, mintingAccounts)
const deploy = async (treasury, distributor, mintingAccounts) => {
contracts = await deploymentHelper.deployTestContracts(treasury, distributor, mintingAccounts)

activePool = contracts.core.activePool
adminContract = contracts.core.adminContract
Expand All @@ -30,7 +30,7 @@ const deploy = async (treasury, mintingAccounts) => {
}

contract("AdminContract", async accounts => {
const [owner, user, A, C, B, treasury] = accounts
const [owner, user, A, C, B, treasury, distributor] = accounts

let BORROWING_FEE
let CCR
Expand Down Expand Up @@ -59,7 +59,7 @@ contract("AdminContract", async accounts => {
const REDEMPTION_FEE_FLOOR_SAFETY_MIN = toBN((0.001e18).toString()) // 0.1%

before(async () => {
await deploy(treasury, accounts.slice(0, 5))
await deploy(treasury, distributor, accounts.slice(0, 5))

BORROWING_FEE = await adminContract.BORROWING_FEE_DEFAULT()
CCR = await adminContract.CCR_DEFAULT()
Expand Down
88 changes: 44 additions & 44 deletions test/trinity/BorrowerOperationsTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ var snapshotId
var initialSnapshotId

const openVessel = async params => th.openVessel(contracts.core, params)
const deploy = async (treasury, mintingAccounts) => {
contracts = await deploymentHelper.deployTestContracts(treasury, mintingAccounts)
const deploy = async (treasury, distributor, mintingAccounts) => {
contracts = await deploymentHelper.deployTestContracts(treasury, distributor, mintingAccounts)

activePool = contracts.core.activePool
adminContract = contracts.core.adminContract
Expand All @@ -43,7 +43,7 @@ const deploy = async (treasury, mintingAccounts) => {
}

contract("BorrowerOperations", async accounts => {
const [owner, alice, bob, carol, dennis, whale, A, B, C, D, E, multisig, treasury] = accounts
const [owner, alice, bob, carol, dennis, whale, A, B, C, D, E, multisig, treasury, distributor] = accounts

const getOpenVesselTRIAmount = async (totalDebt, asset) =>
th.getOpenVesselTRIAmount(contracts.core, totalDebt, asset)
Expand All @@ -60,7 +60,7 @@ contract("BorrowerOperations", async accounts => {

describe("BorrowerOperations Mechanisms", async () => {
before(async () => {
await deploy(treasury, [])
await deploy(treasury, distributor, [])

TRI_GAS_COMPENSATION_ERC20 = await adminContract.getDebtTokenGasCompensation(erc20.address)
MIN_NET_DEBT_ERC20 = await adminContract.getMinNetDebt(erc20.address)
Expand Down Expand Up @@ -1397,12 +1397,12 @@ contract("BorrowerOperations", async accounts => {
assert.isTrue(baseRate_2_Asset.lt(baseRate_1_Asset))
}) */

it("withdrawDebtTokens(): borrowing at non-zero base rate sends fee to treasury contract", async () => {
it("withdrawDebtTokens(): borrowing at non-zero base rate sends fee to distributor contract", async () => {
// time fast-forwards 1 year
await th.fastForwardTime(timeValues.SECONDS_IN_ONE_YEAR, web3.currentProvider)

const Treasury_TRIBalance_Before = await debtToken.balanceOf(treasury)
assert.equal(Treasury_TRIBalance_Before, "0")
const Distributor_TRIBalance_Before = await debtToken.balanceOf(distributor)
assert.equal(Distributor_TRIBalance_Before, "0")

await openVessel({
asset: erc20.address,
Expand Down Expand Up @@ -1451,8 +1451,8 @@ contract("BorrowerOperations", async accounts => {
from: D,
})

const Treasury_TRIBalance_After = await debtToken.balanceOf(treasury)
assert.isTrue(Treasury_TRIBalance_After.gt(Treasury_TRIBalance_Before))
const Distributor_TRIBalance_After = await debtToken.balanceOf(distributor)
assert.isTrue(Distributor_TRIBalance_After.gt(Distributor_TRIBalance_Before))
})

if (!withProxy) {
Expand Down Expand Up @@ -1526,8 +1526,8 @@ contract("BorrowerOperations", async accounts => {
// time fast-forwards 1 year
await th.fastForwardTime(timeValues.SECONDS_IN_ONE_YEAR, web3.currentProvider)

const Treasury_TRIBalance_Before = await debtToken.balanceOf(treasury)
assert.equal(Treasury_TRIBalance_Before, "0")
const Distributor_TRIBalance_Before = await debtToken.balanceOf(distributor)
assert.equal(Distributor_TRIBalance_Before, "0")

await openVessel({
asset: erc20.address,
Expand Down Expand Up @@ -1578,8 +1578,8 @@ contract("BorrowerOperations", async accounts => {
from: D,
})

let Treasury_TRIBalance_After = await debtToken.balanceOf(treasury)
assert.isTrue(Treasury_TRIBalance_After.gt(Treasury_TRIBalance_Before))
let Distributor_TRIBalance_After = await debtToken.balanceOf(distributor)
assert.isTrue(Distributor_TRIBalance_After.gt(Distributor_TRIBalance_Before))

// Check D's TRI balance now equals their initial balance plus request TRI
let D_TRIBalanceAfter = await debtToken.balanceOf(D)
Expand All @@ -1591,8 +1591,8 @@ contract("BorrowerOperations", async accounts => {
from: D,
})

Treasury_TRIBalance_After = await debtToken.balanceOf(treasury)
assert.isTrue(Treasury_TRIBalance_After.gt(Treasury_TRIBalance_Before))
Distributor_TRIBalance_After = await debtToken.balanceOf(distributor)
assert.isTrue(Distributor_TRIBalance_After.gt(Distributor_TRIBalance_Before))

D_TRIBalanceAfter = await debtToken.balanceOf(D)
assert.isTrue(D_TRIBalanceAfter.eq(D_TRIBalanceBefore.add(D_TRIRequest)))
Expand Down Expand Up @@ -2618,12 +2618,12 @@ contract("BorrowerOperations", async accounts => {
assert.isTrue(baseRate_2.lt(baseRate_1))
}) */

it("adjustVessel(): borrowing at non-zero base rate sends TRI fee to treasury contract", async () => {
it("adjustVessel(): borrowing at non-zero base rate sends TRI fee to distributor contract", async () => {
// time fast-forwards 1 year
await th.fastForwardTime(timeValues.SECONDS_IN_ONE_YEAR, web3.currentProvider)

const Treasury_TRIBalance_Before = await debtToken.balanceOf(treasury)
assert.equal(Treasury_TRIBalance_Before, "0")
const Distributor_TRIBalance_Before = await debtToken.balanceOf(distributor)
assert.equal(Distributor_TRIBalance_Before, "0")

await openVessel({
asset: erc20.address,
Expand Down Expand Up @@ -2670,8 +2670,8 @@ contract("BorrowerOperations", async accounts => {
extraParams: { from: D },
})

const Treasury_TRIBalance_After = await debtToken.balanceOf(treasury)
assert.isTrue(Treasury_TRIBalance_After.gt(Treasury_TRIBalance_Before))
const Distributor_TRIBalance_After = await debtToken.balanceOf(distributor)
assert.isTrue(Distributor_TRIBalance_After.gt(Distributor_TRIBalance_Before))
})

if (!withProxy) {
Expand Down Expand Up @@ -2754,8 +2754,8 @@ contract("BorrowerOperations", async accounts => {
// time fast-forwards 1 year
await th.fastForwardTime(timeValues.SECONDS_IN_ONE_YEAR, web3.currentProvider)

const Treasury_TRIBalance_Before = await debtToken.balanceOf(treasury)
assert.equal(Treasury_TRIBalance_Before, "0")
const Distributor_TRIBalance_Before = await debtToken.balanceOf(distributor)
assert.equal(Distributor_TRIBalance_Before, "0")

await openVessel({
asset: erc20.address,
Expand Down Expand Up @@ -2806,7 +2806,7 @@ contract("BorrowerOperations", async accounts => {
// D adjusts vessel
const TRIRequest_D = toBN(dec(40, 18))

const Treasury_TRIBalance_After = await debtToken.balanceOf(treasury)
const Distributor_TRIBalance_After = await debtToken.balanceOf(distributor)

// Check D's TRI balance has increased by their requested TRI
const D_TRIBalanceAfter = await debtToken.balanceOf(D)
Expand All @@ -2815,16 +2815,16 @@ contract("BorrowerOperations", async accounts => {
from: D,
})

const Treasury_TRIBalance_After_Asset = await debtToken.balanceOf(treasury)
assert.isTrue(Treasury_TRIBalance_After_Asset.gt(Treasury_TRIBalance_After))
const Distributor_TRIBalance_After_Asset = await debtToken.balanceOf(distributor)
assert.isTrue(Distributor_TRIBalance_After_Asset.gt(Distributor_TRIBalance_After))

// Check D's TRI balance has increased by their requested TRI
const D_TRIBalanceAfter_Asset = await debtToken.balanceOf(D)
assert.isTrue(D_TRIBalanceAfter_Asset.eq(D_TRIBalanceAfter.add(TRIRequest_D)))
})

// NOTE: Logic changed
it("adjustVessel(): borrowing at zero borrowing fee doesn't TRI balance of treasury contract", async () => {
it("adjustVessel(): borrowing at zero borrowing fee doesn't TRI balance of distributor contract", async () => {
await openVessel({
asset: erc20.address,
ICR: toBN(dec(10, 18)),
Expand Down Expand Up @@ -2866,17 +2866,17 @@ contract("BorrowerOperations", async accounts => {
await th.fastForwardTime(7200, web3.currentProvider)

// Check staking TRI balance before > 0
const Treasury_TRIBalance_Before = await debtToken.balanceOf(treasury)
assert.isTrue(Treasury_TRIBalance_Before.gt(toBN("0")))
const Distributor_TRIBalance_Before = await debtToken.balanceOf(distributor)
assert.isTrue(Distributor_TRIBalance_Before.gt(toBN("0")))

// D adjusts vessel
const Treasury_TRIBalance_After = await debtToken.balanceOf(treasury)
const Distributor_TRIBalance_After = await debtToken.balanceOf(distributor)

await borrowerOperations.adjustVessel(erc20.address, 0, 0, dec(37, 18), true, D, D, {
from: D,
})
const Treasury_TRIBalance_After_Asset = await debtToken.balanceOf(treasury)
assert.isTrue(Treasury_TRIBalance_After_Asset.eq(Treasury_TRIBalance_After))
const Distributor_TRIBalance_After_Asset = await debtToken.balanceOf(distributor)
assert.isTrue(Distributor_TRIBalance_After_Asset.eq(Distributor_TRIBalance_After))
})

it("adjustVessel(): borrowing at zero base rate sends total requested TRI to the user", async () => {
Expand Down Expand Up @@ -3411,8 +3411,8 @@ contract("BorrowerOperations", async accounts => {

assert.isTrue(await th.checkRecoveryMode(contracts.core, erc20.address))

const TreasuryTRIBalanceBefore = await debtToken.balanceOf(treasury)
assert.isTrue(TreasuryTRIBalanceBefore.gt(toBN("0")))
const DistributorTRIBalanceBefore = await debtToken.balanceOf(distributor)
assert.isTrue(DistributorTRIBalanceBefore.gt(toBN("0")))

const txAlice_Asset = await borrowerOperations.adjustVessel(
erc20.address,
Expand All @@ -3436,8 +3436,8 @@ contract("BorrowerOperations", async accounts => {
assert.isTrue(await th.checkRecoveryMode(contracts.core, erc20.address))

// Check no fee was sent to staking contract
const TreasuryTRIBalanceAfter = await debtToken.balanceOf(treasury)
assert.equal(TreasuryTRIBalanceAfter.toString(), TreasuryTRIBalanceBefore.toString())
const DistributorTRIBalanceAfter = await debtToken.balanceOf(distributor)
assert.equal(DistributorTRIBalanceAfter.toString(), DistributorTRIBalanceBefore.toString())
})

it("adjustVessel(): reverts when change would cause the TCR of the system to fall below the CCR", async () => {
Expand Down Expand Up @@ -5632,12 +5632,12 @@ contract("BorrowerOperations", async accounts => {
assert.isTrue(baseRate_2_Asset.lt(baseRate_1_Asset))
}) */

it("openVessel(): borrowing at non-zero base rate sends TRI fee to treasury contract", async () => {
it("openVessel(): borrowing at non-zero base rate sends TRI fee to distributor contract", async () => {
// time fast-forwards 1 year
await th.fastForwardTime(timeValues.SECONDS_IN_ONE_YEAR, web3.currentProvider)

const Treasury_TRIBalance_Before = await debtToken.balanceOf(treasury)
assert.equal(Treasury_TRIBalance_Before, "0")
const Distributor_TRIBalance_Before = await debtToken.balanceOf(distributor)
assert.equal(Distributor_TRIBalance_Before, "0")

await openVessel({
asset: erc20.address,
Expand Down Expand Up @@ -5686,8 +5686,8 @@ contract("BorrowerOperations", async accounts => {
extraParams: { from: D },
})

const Treasury_TRIBalance_After = await debtToken.balanceOf(treasury)
assert.isTrue(Treasury_TRIBalance_After.gt(Treasury_TRIBalance_Before))
const Distributor_TRIBalance_After = await debtToken.balanceOf(distributor)
assert.isTrue(Distributor_TRIBalance_After.gt(Distributor_TRIBalance_Before))
})

if (!withProxy) {
Expand Down Expand Up @@ -5764,8 +5764,8 @@ contract("BorrowerOperations", async accounts => {
it("openVessel(): borrowing at non-zero base rate sends requested amount to the user", async () => {
await th.fastForwardTime(timeValues.SECONDS_IN_ONE_YEAR, web3.currentProvider)

const Treasury_TRIBalance_Before = await debtToken.balanceOf(treasury)
assert.equal(Treasury_TRIBalance_Before, "0")
const Distributor_TRIBalance_Before = await debtToken.balanceOf(distributor)
assert.equal(Distributor_TRIBalance_Before, "0")

await openVessel({
asset: erc20.address,
Expand Down Expand Up @@ -5810,8 +5810,8 @@ contract("BorrowerOperations", async accounts => {
const TRIRequest_D = toBN(dec(40000, 18))
await borrowerOperations.openVessel(erc20.address, dec(500, "ether"), TRIRequest_D, D, D, { from: D })

const Treasury_TRIBalance_After = await debtToken.balanceOf(treasury)
assert.isTrue(Treasury_TRIBalance_After.gt(Treasury_TRIBalance_Before))
const Distributor_TRIBalance_After = await debtToken.balanceOf(distributor)
assert.isTrue(Distributor_TRIBalance_After.gt(Distributor_TRIBalance_Before))

// Check D's TRI balance now equals their requested TRI
const TRIBalance_D = await debtToken.balanceOf(D)
Expand Down
12 changes: 6 additions & 6 deletions test/trinity/BorrowerOperations_FeesTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const {_1e18BN} = testHelpers.MoneyValues


contract("BorrowerOperations_Fees", async accounts => {
const [owner, alice, treasury] = accounts
const [owner, alice, treasury, distributor] = accounts

let contracts
let snapshotId
Expand Down Expand Up @@ -51,7 +51,7 @@ contract("BorrowerOperations_Fees", async accounts => {
}

before(async () => {
contracts = await deploymentHelper.deployTestContracts(treasury, [])
contracts = await deploymentHelper.deployTestContracts(treasury, distributor, [])

for (const acc of accounts.slice(0, 20)) {
await contracts.core.erc20.mint(acc, await web3.eth.getBalance(acc))
Expand All @@ -76,16 +76,16 @@ contract("BorrowerOperations_Fees", async accounts => {
it('pays initial fee', async () => {
const {debtToken, erc20} = contracts.core

const initialTreasuryBalance = await debtToken.balanceOf(treasury)
assert.isTrue(initialTreasuryBalance.eq(toBN(0)))
const initialDistributorBalance = await debtToken.balanceOf(distributor)
assert.isTrue(initialDistributorBalance.eq(toBN(0)))

await openVessel(alice)

const vesselTRIAmount_Asset = await th.getOpenVesselTRIAmount(contracts.core, vesselTotalDebt, erc20.address)
const expectedFeeAmount = vesselTRIAmount_Asset.mul(borrowingFee).div(_1e18BN).toString()
const treasuryBalance = await debtToken.balanceOf(treasury)
const distributorBalance = await debtToken.balanceOf(distributor)

assert.equal(treasuryBalance, expectedFeeAmount)
assert.equal(distributorBalance, expectedFeeAmount)
})

it('updates epoch', async () => {
Expand Down
8 changes: 4 additions & 4 deletions test/trinity/CollSurplusPoolTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ var snapshotId
var initialSnapshotId

const openVessel = async params => th.openVessel(contracts.core, params)
const deploy = async (treasury, mintingAccounts) => {
contracts = await deploymentHelper.deployTestContracts(treasury, mintingAccounts)
const deploy = async (treasury, distributor, mintingAccounts) => {
contracts = await deploymentHelper.deployTestContracts(treasury, distributor, mintingAccounts)

activePool = contracts.core.activePool
adminContract = contracts.core.adminContract
Expand All @@ -34,10 +34,10 @@ const deploy = async (treasury, mintingAccounts) => {
}

contract("CollSurplusPool", async accounts => {
const [A, B, treasury] = accounts
const [A, B, treasury, distributor] = accounts

before(async () => {
await deploy(treasury, accounts.slice(0, 2))
await deploy(treasury, distributor, accounts.slice(0, 2))
initialSnapshotId = await network.provider.send("evm_snapshot")
})

Expand Down
6 changes: 3 additions & 3 deletions test/trinity/ConnectContractsTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ var contracts
var snapshotId
var initialSnapshotId

const deploy = async (treasury, mintingAccounts) => {
contracts = await deploymentHelper.deployTestContracts(treasury, mintingAccounts)
const deploy = async (treasury, distributor, mintingAccounts) => {
contracts = await deploymentHelper.deployTestContracts(treasury, distributor, mintingAccounts)

activePool = contracts.core.activePool
adminContract = contracts.core.adminContract
Expand All @@ -27,7 +27,7 @@ const deploy = async (treasury, mintingAccounts) => {

contract("Deployment script - Sets correct contract addresses dependencies after deployment", async accounts => {
before(async () => {
await deploy(accounts[0], [])
await deploy(accounts[0],accounts[1], [])
})

// Skipping as the setAddresses() functions were replaced by constants
Expand Down
4 changes: 2 additions & 2 deletions test/trinity/DebtTokenTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ var snapshotId
var initialSnapshotId

contract("DebtToken", async accounts => {
const [owner, alice, bob, carol, dennis, treasury] = accounts
const [owner, alice, bob, carol, dennis, treasury, distributor] = accounts
let debtToken, stabilityPool

before(async () => {
const contracts = await deploymentHelper.deployTestContracts(treasury, [])
const contracts = await deploymentHelper.deployTestContracts(treasury, distributor, [])
debtToken = contracts.core.debtToken
stabilityPool = contracts.core.stabilityPool

Expand Down
Loading

0 comments on commit 2d01022

Please sign in to comment.