Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
beforeEach(async () => {
// Elapse the rebalance interval
await increaseChainTimeAsync(web3, ONE_DAY_IN_SECONDS);
await updateMedianizerPriceAsync(
web3,
ethMedianizer,
initialMedianizerEthPrice.div(10),
SetTestUtils.generateTimestamp(1000),
);
// Free time at the rebalance interval minimum
timeKeeper.freeze(nextRebalanceAvailableInSeconds.toNumber() * 1000);
});
transferProxy.address,
UNLIMITED_ALLOWANCE_IN_BASE_UNITS,
{ from: subjectCaller }
);
const tradingPoolAddress = extractNewSetTokenAddressFromLogs(formattedLogs);
const tradingPoolInstance = await RebalancingSetTokenV2Contract.at(
tradingPoolAddress,
web3,
TX_DEFAULTS
);
// Fast forward to allow propose to be called
const lastRebalancedTimestampSeconds = await tradingPoolInstance.lastRebalanceTimestamp.callAsync();
nextRebalanceAvailableAtSeconds = lastRebalancedTimestampSeconds.toNumber() + rebalanceInterval.toNumber();
timeKeeper.freeze(nextRebalanceAvailableAtSeconds * 1000);
increaseChainTimeAsync(web3, rebalanceInterval.add(1));
subjectManager = setManager.address;
subjectTradingPool = tradingPoolAddress;
subjectNewAllocation = ether(.75);
subjectLiquidatorData = SetUtils.stringToBytes('');
await core.issue.sendTransactionAsync(collateralAddress, ether(2), { from: subjectCaller });
await core.issue.sendTransactionAsync(subjectTradingPool, ether(2), { from: subjectCaller });
});
return function corrupt(callback) {
tk.freeze(new Date(time));
var metaPath = path.join(cluster.localApp, 'idl', 'meta.json');
fs.readFile(metaPath, 'utf8', onRawMetaJson);
function onRawMetaJson(err, rawJson) {
if (err) {
return callback(err);
}
var lines = rawJson.split('\n');
rawJson = lines.slice(0, lines.length - 2).join('\n');
fs.writeFile(metaPath, rawJson, 'utf8', callback);
}
};
}
return function corrupt(callback) {
tk.freeze(new Date(time));
var metaPath = path.join(cluster.localApp, 'idl', 'meta.json');
fs.readFile(metaPath, 'utf8', onRawMetaJson);
function onRawMetaJson(err, rawJson) {
if (err) {
return callback(err);
}
var lines = rawJson.split('\n');
rawJson = lines.slice(0, lines.length - 2).join('\n');
fs.writeFile(metaPath, rawJson, 'utf8', callback);
}
};
}
return function fetch(callback) {
tk.freeze(new Date(time));
cluster.idlFetch(
remoteId,
inspectBoth(cluster, inspectLocal, callback)
);
};
}
return function fetch(callback) {
tk.freeze(new Date(time));
cluster.idlFetch(
remoteId,
inspectBoth(cluster, inspectLocal, callback)
);
};
}
return function publish(callback) {
tk.freeze(new Date(time));
cluster.idlPublish(
path.join(cluster.remotesDir, remoteName),
inspectBoth(cluster, inspectLocal, callback)
);
};
}
return function publish(callback) {
tk.freeze(new Date(time));
cluster.idlPublish(
path.join(cluster.remotesDir, remoteName),
inspectBoth(cluster, inspectLocal, callback)
);
};
}
return function update(callback) {
tk.freeze(new Date(time));
cluster.updateRemote(
remoteName,
fixtures,
inspectBoth(cluster, inspectLocal, callback)
);
};
}
async function subject(): Promise {
await increaseChainTimeAsync(web3, timeFastForward);
timeKeeper.freeze(nextRebalanceAvailableInSeconds.toNumber() * 1000);
return rebalancingManagerAPI.proposeAsync(
subjectManagerType,
subjectManagerAddress,
subjectRebalancingSetToken,
{ from: subjectCaller },
);
}