Skip to content

Commit

Permalink
build(deps-dev): Upgrade to mangrove-deployments v2.0.0 (#1740)
Browse files Browse the repository at this point in the history
  • Loading branch information
espendk authored Jan 16, 2024
1 parent fc02fde commit 2089b4b
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 58 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Next version

- Upgrade to @mangrovedao/mangrove-deployments v2.0.0

# 2.0.3

- fix: Fix various issues in TypeDoc comments wrt @see vs @link.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
"@ethersproject/experimental": "^5.7.0",
"@mangrovedao/context-addresses": "^1.0.1",
"@mangrovedao/mangrove-core": "^2.0.3",
"@mangrovedao/mangrove-deployments": "^1.0.3",
"@mangrovedao/mangrove-deployments": "^2.0.0",
"@mangrovedao/mangrove-strats": "^1.0.2",
"@mangrovedao/reliable-event-subscriber": "1.1.29",
"@types/object-inspect": "^1.8.1",
Expand Down
79 changes: 27 additions & 52 deletions src/configuration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import * as contextAddresses from "@mangrovedao/context-addresses";
import * as eth from "./eth";
import clone from "just-clone";
import deepmerge from "deepmerge";
import semver from "semver";

// Make keys optional at all levels of T
export type RecursivePartial<T> = {
Expand Down Expand Up @@ -653,66 +652,42 @@ export function resetConfiguration(): void {

function readMangroveDeploymentAddresses() {
// Note: Consider how to expose other deployments than the primary
const mgvCoreVersionPattern = createContractVersionPattern(
const mgvCoreVersionPattern = mgvDeployments.createContractVersionPattern(
contractPackageVersions["mangrove-core"],
);
// Note: Make this configurable?
const mgvCoreReleasedFilter = undefined; // undefined => released & unreleased, true => released only, false => unreleased only
const mgvCoreContractsDeployments =
mgvDeployments.getCoreContractsVersionDeployments({
version: mgvCoreVersionPattern,
released: mgvCoreReleasedFilter,
});
readVersionDeploymentsAddresses(mgvCoreContractsDeployments);

const mgvStratsVersionPattern = createContractVersionPattern(
const mgvCoreDeploymentsFilter = {
version: mgvCoreVersionPattern,
released: mgvCoreReleasedFilter,
};
const latestCoreDeployments = mgvDeployments.getLatestCoreContractsPerNetwork(
mgvCoreDeploymentsFilter,
);

const mgvStratsVersionPattern = mgvDeployments.createContractVersionPattern(
contractPackageVersions["mangrove-strats"],
);
// Note: Make this configurable?
const mgvStratsReleasedFilter = undefined; // undefined => released & unreleased, true => released only, false => unreleased only
const mgvStratsContractsDeployments =
mgvDeployments.getStratsContractsVersionDeployments({
version: mgvStratsVersionPattern,
released: mgvStratsReleasedFilter,
});
readVersionDeploymentsAddresses(mgvStratsContractsDeployments);
}

function createContractVersionPattern(contractPackageVersion: string) {
const preleaseComponents = semver.prerelease(contractPackageVersion);
if (preleaseComponents === null) {
// For release versions of contract packages, we match any deployment of the same major version, _excluding_ prereleases.
return `^${semver.major(contractPackageVersion)}.0.0`;
} else {
// For pre-release versions of contract packages, we match any deployment of the same major version, _including_ prereleases.
// This is achieved by replacing the last prelease component by 0 and using the caret '^' pattern.
// This pattern is equivalent to '>= x.y.z-0 < x+1.0.0'.
// Examples:
// 2.0.0-alpha.1 => ^2.0.0-alpha.0
// 2.0.0-4 => ^2.0.0-0
const patternPreleaseComponents = [...preleaseComponents];
patternPreleaseComponents[patternPreleaseComponents.length - 1] = "0";
return `^${semver.major(contractPackageVersion)}.${semver.minor(
contractPackageVersion,
)}.${semver.patch(contractPackageVersion)}-${patternPreleaseComponents.join(
".",
)}`;
}
}
const mgvStratsDeploymentsFilter = {
version: mgvStratsVersionPattern,
released: mgvStratsReleasedFilter,
};
const latestStratsDeployments =
mgvDeployments.getLatestStratContractsPerNetwork(
mgvStratsDeploymentsFilter,
mgvCoreDeploymentsFilter,
);

function readVersionDeploymentsAddresses(
contractsDeployments: mgvDeployments.VersionDeployments[],
) {
for (const contractDeployments of contractsDeployments) {
for (const [networkId, networkDeployments] of Object.entries(
contractDeployments.networkAddresses,
)) {
const networkName = eth.getNetworkName(+networkId);
addressesConfiguration.setAddress(
contractDeployments.deploymentName ?? contractDeployments.contractName,
networkDeployments.primaryAddress,
networkName,
);
for (const [networkName, namedAddresses] of Object.entries(
mgvDeployments.toNamedAddressesPerNamedNetwork(
latestCoreDeployments,
latestStratsDeployments,
),
)) {
for (const { name, address } of namedAddresses) {
addressesConfiguration.setAddress(name, address, networkName);
}
}
}
Expand Down
10 changes: 5 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1259,12 +1259,12 @@ __metadata:
languageName: node
linkType: hard

"@mangrovedao/mangrove-deployments@npm:^1.0.3":
version: 1.0.3
resolution: "@mangrovedao/mangrove-deployments@npm:1.0.3"
"@mangrovedao/mangrove-deployments@npm:^2.0.0":
version: 2.0.0
resolution: "@mangrovedao/mangrove-deployments@npm:2.0.0"
dependencies:
semver: ^7.5.4
checksum: fa31875a93735309913a3fbb597c1f0546ad71216681a8d947e9d1f6316051a0fd8ca930d50c11e3e002db20c0bb595324b6e71b9bfd16a37d9a6e320267bc59
checksum: d64a06a5986d6c11fb1b0757b7d5488441cc0f450936f7dd32fe359d05577630b54553c8bf305fcd6c0169636dd0701fae0bbaf1b38a8f51516e0a7fb462d062
languageName: node
linkType: hard

Expand All @@ -1289,7 +1289,7 @@ __metadata:
"@ethersproject/providers": ^5.7.2
"@mangrovedao/context-addresses": ^1.0.1
"@mangrovedao/mangrove-core": ^2.0.3
"@mangrovedao/mangrove-deployments": ^1.0.3
"@mangrovedao/mangrove-deployments": ^2.0.0
"@mangrovedao/mangrove-strats": ^1.0.2
"@mangrovedao/reliable-event-subscriber": 1.1.29
"@typechain/ethers-v5": ^11.1.2
Expand Down

0 comments on commit 2089b4b

Please sign in to comment.