contracts: accept edut_id_required offer config alias
Some checks are pending
check / contracts (push) Waiting to run
Some checks are pending
check / contracts (push) Waiting to run
This commit is contained in:
parent
54eaadb7c7
commit
c3fd532a8b
@ -3,6 +3,7 @@
|
|||||||
"offer_id": "edut.solo.core",
|
"offer_id": "edut.solo.core",
|
||||||
"price_atomic": "1000000000",
|
"price_atomic": "1000000000",
|
||||||
"active": true,
|
"active": true,
|
||||||
|
"edut_id_required": true,
|
||||||
"membership_required": true,
|
"membership_required": true,
|
||||||
"execution_profile": {
|
"execution_profile": {
|
||||||
"connector_surface": "hybrid",
|
"connector_surface": "hybrid",
|
||||||
@ -14,6 +15,7 @@
|
|||||||
"offer_id": "edut.workspace.core",
|
"offer_id": "edut.workspace.core",
|
||||||
"price_atomic": "1000000000",
|
"price_atomic": "1000000000",
|
||||||
"active": true,
|
"active": true,
|
||||||
|
"edut_id_required": true,
|
||||||
"membership_required": true,
|
"membership_required": true,
|
||||||
"execution_profile": {
|
"execution_profile": {
|
||||||
"connector_surface": "hybrid",
|
"connector_surface": "hybrid",
|
||||||
@ -25,6 +27,7 @@
|
|||||||
"offer_id": "edut.workspace.ai",
|
"offer_id": "edut.workspace.ai",
|
||||||
"price_atomic": "1000000000",
|
"price_atomic": "1000000000",
|
||||||
"active": true,
|
"active": true,
|
||||||
|
"edut_id_required": true,
|
||||||
"membership_required": true,
|
"membership_required": true,
|
||||||
"execution_profile": {
|
"execution_profile": {
|
||||||
"connector_surface": "hybrid",
|
"connector_surface": "hybrid",
|
||||||
@ -36,6 +39,7 @@
|
|||||||
"offer_id": "edut.workspace.lane24",
|
"offer_id": "edut.workspace.lane24",
|
||||||
"price_atomic": "1000000000",
|
"price_atomic": "1000000000",
|
||||||
"active": true,
|
"active": true,
|
||||||
|
"edut_id_required": true,
|
||||||
"membership_required": true,
|
"membership_required": true,
|
||||||
"execution_profile": {
|
"execution_profile": {
|
||||||
"connector_surface": "edut_native",
|
"connector_surface": "edut_native",
|
||||||
@ -46,6 +50,7 @@
|
|||||||
"offer_id": "edut.workspace.sovereign",
|
"offer_id": "edut.workspace.sovereign",
|
||||||
"price_atomic": "1000000000",
|
"price_atomic": "1000000000",
|
||||||
"active": true,
|
"active": true,
|
||||||
|
"edut_id_required": true,
|
||||||
"membership_required": true,
|
"membership_required": true,
|
||||||
"execution_profile": {
|
"execution_profile": {
|
||||||
"connector_surface": "edut_native",
|
"connector_surface": "edut_native",
|
||||||
|
|||||||
@ -90,6 +90,7 @@ function buildOfferPlan(defaultPriceAtomic) {
|
|||||||
offerID,
|
offerID,
|
||||||
priceAtomic: defaultPriceAtomic,
|
priceAtomic: defaultPriceAtomic,
|
||||||
active: true,
|
active: true,
|
||||||
|
edutIDRequired: true,
|
||||||
membershipRequired: true,
|
membershipRequired: true,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@ -110,9 +111,13 @@ function buildOfferPlan(defaultPriceAtomic) {
|
|||||||
).trim();
|
).trim();
|
||||||
const priceAtomic = parseUint(`offer[${offerID}].price_atomic`, rawPrice);
|
const priceAtomic = parseUint(`offer[${offerID}].price_atomic`, rawPrice);
|
||||||
const active = entry.active !== undefined ? Boolean(entry.active) : true;
|
const active = entry.active !== undefined ? Boolean(entry.active) : true;
|
||||||
const membershipRequired =
|
const edutIDRequired =
|
||||||
entry.membership_required !== undefined ? Boolean(entry.membership_required) : true;
|
entry.edut_id_required !== undefined
|
||||||
return { offerID, priceAtomic, active, membershipRequired };
|
? Boolean(entry.edut_id_required)
|
||||||
|
: entry.membership_required !== undefined
|
||||||
|
? Boolean(entry.membership_required)
|
||||||
|
: true;
|
||||||
|
return { offerID, priceAtomic, active, edutIDRequired, membershipRequired: edutIDRequired };
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,6 +129,7 @@ function normalizeOfferConfig(configResult) {
|
|||||||
return {
|
return {
|
||||||
priceAtomic: configResult.priceAtomic.toString(),
|
priceAtomic: configResult.priceAtomic.toString(),
|
||||||
active: Boolean(configResult.active),
|
active: Boolean(configResult.active),
|
||||||
|
edutIDRequired: Boolean(configResult.membershipRequired),
|
||||||
membershipRequired: Boolean(configResult.membershipRequired),
|
membershipRequired: Boolean(configResult.membershipRequired),
|
||||||
exists: Boolean(configResult.exists),
|
exists: Boolean(configResult.exists),
|
||||||
};
|
};
|
||||||
@ -134,7 +140,8 @@ function offerConfigMatches(current, expected) {
|
|||||||
current.exists &&
|
current.exists &&
|
||||||
current.priceAtomic === expected.priceAtomic.toString() &&
|
current.priceAtomic === expected.priceAtomic.toString() &&
|
||||||
current.active === expected.active &&
|
current.active === expected.active &&
|
||||||
current.membershipRequired === expected.membershipRequired
|
current.membershipRequired === expected.membershipRequired &&
|
||||||
|
current.edutIDRequired === expected.edutIDRequired
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -146,7 +153,7 @@ async function upsertOfferWithRetry(contract, offer, retries, retryDelayMs) {
|
|||||||
offer.offerID,
|
offer.offerID,
|
||||||
offer.priceAtomic,
|
offer.priceAtomic,
|
||||||
offer.active,
|
offer.active,
|
||||||
offer.membershipRequired
|
offer.edutIDRequired
|
||||||
);
|
);
|
||||||
const receipt = await tx.wait();
|
const receipt = await tx.wait();
|
||||||
const cfg = normalizeOfferConfig(await contract.offerConfig(offer.offerID));
|
const cfg = normalizeOfferConfig(await contract.offerConfig(offer.offerID));
|
||||||
@ -232,6 +239,7 @@ async function main() {
|
|||||||
offerID: offer.offerID,
|
offerID: offer.offerID,
|
||||||
priceAtomic: offer.priceAtomic.toString(),
|
priceAtomic: offer.priceAtomic.toString(),
|
||||||
active: offer.active,
|
active: offer.active,
|
||||||
|
edutIDRequired: offer.edutIDRequired,
|
||||||
membershipRequired: offer.membershipRequired,
|
membershipRequired: offer.membershipRequired,
|
||||||
status: "already_aligned",
|
status: "already_aligned",
|
||||||
attempts: 0,
|
attempts: 0,
|
||||||
@ -241,7 +249,7 @@ async function main() {
|
|||||||
offer.offerID,
|
offer.offerID,
|
||||||
offer.priceAtomic.toString(),
|
offer.priceAtomic.toString(),
|
||||||
offer.active,
|
offer.active,
|
||||||
offer.membershipRequired
|
offer.edutIDRequired
|
||||||
);
|
);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -250,6 +258,7 @@ async function main() {
|
|||||||
offerID: offer.offerID,
|
offerID: offer.offerID,
|
||||||
priceAtomic: offer.priceAtomic.toString(),
|
priceAtomic: offer.priceAtomic.toString(),
|
||||||
active: offer.active,
|
active: offer.active,
|
||||||
|
edutIDRequired: offer.edutIDRequired,
|
||||||
membershipRequired: offer.membershipRequired,
|
membershipRequired: offer.membershipRequired,
|
||||||
status: seeded.status,
|
status: seeded.status,
|
||||||
attempts: seeded.attempts,
|
attempts: seeded.attempts,
|
||||||
@ -260,7 +269,7 @@ async function main() {
|
|||||||
offer.offerID,
|
offer.offerID,
|
||||||
offer.priceAtomic.toString(),
|
offer.priceAtomic.toString(),
|
||||||
offer.active,
|
offer.active,
|
||||||
offer.membershipRequired,
|
offer.edutIDRequired,
|
||||||
seeded.txHash,
|
seeded.txHash,
|
||||||
`attempts=${seeded.attempts}`
|
`attempts=${seeded.attempts}`
|
||||||
);
|
);
|
||||||
|
|||||||
@ -66,8 +66,18 @@ function loadExpectedOffers() {
|
|||||||
offerId,
|
offerId,
|
||||||
priceAtomic,
|
priceAtomic,
|
||||||
active: entry.active === undefined ? true : Boolean(entry.active),
|
active: entry.active === undefined ? true : Boolean(entry.active),
|
||||||
|
edutIDRequired:
|
||||||
|
entry.edut_id_required !== undefined
|
||||||
|
? Boolean(entry.edut_id_required)
|
||||||
|
: entry.membership_required === undefined
|
||||||
|
? true
|
||||||
|
: Boolean(entry.membership_required),
|
||||||
membershipRequired:
|
membershipRequired:
|
||||||
entry.membership_required === undefined ? true : Boolean(entry.membership_required),
|
entry.edut_id_required !== undefined
|
||||||
|
? Boolean(entry.edut_id_required)
|
||||||
|
: entry.membership_required === undefined
|
||||||
|
? true
|
||||||
|
: Boolean(entry.membership_required),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -90,19 +100,22 @@ async function main() {
|
|||||||
exists: Boolean(cfg.exists),
|
exists: Boolean(cfg.exists),
|
||||||
priceAtomic: cfg.priceAtomic.toString(),
|
priceAtomic: cfg.priceAtomic.toString(),
|
||||||
active: Boolean(cfg.active),
|
active: Boolean(cfg.active),
|
||||||
|
edutIDRequired: Boolean(cfg.membershipRequired),
|
||||||
membershipRequired: Boolean(cfg.membershipRequired),
|
membershipRequired: Boolean(cfg.membershipRequired),
|
||||||
};
|
};
|
||||||
const expected = {
|
const expected = {
|
||||||
exists: true,
|
exists: true,
|
||||||
priceAtomic: offer.priceAtomic,
|
priceAtomic: offer.priceAtomic,
|
||||||
active: offer.active,
|
active: offer.active,
|
||||||
|
edutIDRequired: offer.edutIDRequired,
|
||||||
membershipRequired: offer.membershipRequired,
|
membershipRequired: offer.membershipRequired,
|
||||||
};
|
};
|
||||||
const match =
|
const match =
|
||||||
got.exists === expected.exists &&
|
got.exists === expected.exists &&
|
||||||
got.priceAtomic === expected.priceAtomic &&
|
got.priceAtomic === expected.priceAtomic &&
|
||||||
got.active === expected.active &&
|
got.active === expected.active &&
|
||||||
got.membershipRequired === expected.membershipRequired;
|
got.membershipRequired === expected.membershipRequired &&
|
||||||
|
got.edutIDRequired === expected.edutIDRequired;
|
||||||
if (!match) {
|
if (!match) {
|
||||||
mismatches.push({
|
mismatches.push({
|
||||||
offer_id: offer.offerId,
|
offer_id: offer.offerId,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user