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",
|
||||
"price_atomic": "1000000000",
|
||||
"active": true,
|
||||
"edut_id_required": true,
|
||||
"membership_required": true,
|
||||
"execution_profile": {
|
||||
"connector_surface": "hybrid",
|
||||
@ -14,6 +15,7 @@
|
||||
"offer_id": "edut.workspace.core",
|
||||
"price_atomic": "1000000000",
|
||||
"active": true,
|
||||
"edut_id_required": true,
|
||||
"membership_required": true,
|
||||
"execution_profile": {
|
||||
"connector_surface": "hybrid",
|
||||
@ -25,6 +27,7 @@
|
||||
"offer_id": "edut.workspace.ai",
|
||||
"price_atomic": "1000000000",
|
||||
"active": true,
|
||||
"edut_id_required": true,
|
||||
"membership_required": true,
|
||||
"execution_profile": {
|
||||
"connector_surface": "hybrid",
|
||||
@ -36,6 +39,7 @@
|
||||
"offer_id": "edut.workspace.lane24",
|
||||
"price_atomic": "1000000000",
|
||||
"active": true,
|
||||
"edut_id_required": true,
|
||||
"membership_required": true,
|
||||
"execution_profile": {
|
||||
"connector_surface": "edut_native",
|
||||
@ -46,6 +50,7 @@
|
||||
"offer_id": "edut.workspace.sovereign",
|
||||
"price_atomic": "1000000000",
|
||||
"active": true,
|
||||
"edut_id_required": true,
|
||||
"membership_required": true,
|
||||
"execution_profile": {
|
||||
"connector_surface": "edut_native",
|
||||
|
||||
@ -90,6 +90,7 @@ function buildOfferPlan(defaultPriceAtomic) {
|
||||
offerID,
|
||||
priceAtomic: defaultPriceAtomic,
|
||||
active: true,
|
||||
edutIDRequired: true,
|
||||
membershipRequired: true,
|
||||
}));
|
||||
}
|
||||
@ -110,9 +111,13 @@ function buildOfferPlan(defaultPriceAtomic) {
|
||||
).trim();
|
||||
const priceAtomic = parseUint(`offer[${offerID}].price_atomic`, rawPrice);
|
||||
const active = entry.active !== undefined ? Boolean(entry.active) : true;
|
||||
const membershipRequired =
|
||||
entry.membership_required !== undefined ? Boolean(entry.membership_required) : true;
|
||||
return { offerID, priceAtomic, active, membershipRequired };
|
||||
const edutIDRequired =
|
||||
entry.edut_id_required !== undefined
|
||||
? 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 {
|
||||
priceAtomic: configResult.priceAtomic.toString(),
|
||||
active: Boolean(configResult.active),
|
||||
edutIDRequired: Boolean(configResult.membershipRequired),
|
||||
membershipRequired: Boolean(configResult.membershipRequired),
|
||||
exists: Boolean(configResult.exists),
|
||||
};
|
||||
@ -134,7 +140,8 @@ function offerConfigMatches(current, expected) {
|
||||
current.exists &&
|
||||
current.priceAtomic === expected.priceAtomic.toString() &&
|
||||
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.priceAtomic,
|
||||
offer.active,
|
||||
offer.membershipRequired
|
||||
offer.edutIDRequired
|
||||
);
|
||||
const receipt = await tx.wait();
|
||||
const cfg = normalizeOfferConfig(await contract.offerConfig(offer.offerID));
|
||||
@ -232,6 +239,7 @@ async function main() {
|
||||
offerID: offer.offerID,
|
||||
priceAtomic: offer.priceAtomic.toString(),
|
||||
active: offer.active,
|
||||
edutIDRequired: offer.edutIDRequired,
|
||||
membershipRequired: offer.membershipRequired,
|
||||
status: "already_aligned",
|
||||
attempts: 0,
|
||||
@ -241,7 +249,7 @@ async function main() {
|
||||
offer.offerID,
|
||||
offer.priceAtomic.toString(),
|
||||
offer.active,
|
||||
offer.membershipRequired
|
||||
offer.edutIDRequired
|
||||
);
|
||||
continue;
|
||||
}
|
||||
@ -250,6 +258,7 @@ async function main() {
|
||||
offerID: offer.offerID,
|
||||
priceAtomic: offer.priceAtomic.toString(),
|
||||
active: offer.active,
|
||||
edutIDRequired: offer.edutIDRequired,
|
||||
membershipRequired: offer.membershipRequired,
|
||||
status: seeded.status,
|
||||
attempts: seeded.attempts,
|
||||
@ -260,7 +269,7 @@ async function main() {
|
||||
offer.offerID,
|
||||
offer.priceAtomic.toString(),
|
||||
offer.active,
|
||||
offer.membershipRequired,
|
||||
offer.edutIDRequired,
|
||||
seeded.txHash,
|
||||
`attempts=${seeded.attempts}`
|
||||
);
|
||||
|
||||
@ -66,8 +66,18 @@ function loadExpectedOffers() {
|
||||
offerId,
|
||||
priceAtomic,
|
||||
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:
|
||||
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),
|
||||
priceAtomic: cfg.priceAtomic.toString(),
|
||||
active: Boolean(cfg.active),
|
||||
edutIDRequired: Boolean(cfg.membershipRequired),
|
||||
membershipRequired: Boolean(cfg.membershipRequired),
|
||||
};
|
||||
const expected = {
|
||||
exists: true,
|
||||
priceAtomic: offer.priceAtomic,
|
||||
active: offer.active,
|
||||
edutIDRequired: offer.edutIDRequired,
|
||||
membershipRequired: offer.membershipRequired,
|
||||
};
|
||||
const match =
|
||||
got.exists === expected.exists &&
|
||||
got.priceAtomic === expected.priceAtomic &&
|
||||
got.active === expected.active &&
|
||||
got.membershipRequired === expected.membershipRequired;
|
||||
got.membershipRequired === expected.membershipRequired &&
|
||||
got.edutIDRequired === expected.edutIDRequired;
|
||||
if (!match) {
|
||||
mismatches.push({
|
||||
offer_id: offer.offerId,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user