From 234df1687b3105c860ef45c54cb415d6f0141899 Mon Sep 17 00:00:00 2001 From: Trevor Miller Date: Tue, 23 Jan 2024 21:28:34 -0500 Subject: [PATCH] v107 --- package.json | 2 +- src/types/verify.types.ts | 9 +++++---- src/ui/SignInModal/SignInModal.tsx | 6 ++---- src/verify.ts | 18 ++++++++---------- 4 files changed, 16 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index ed5d014..422e8a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "blockin", - "version": "1.2.106", + "version": "1.2.107", "description": "", "files": [ "dist" diff --git a/src/types/verify.types.ts b/src/types/verify.types.ts index 2f127d0..50844d8 100644 --- a/src/types/verify.types.ts +++ b/src/types/verify.types.ts @@ -63,11 +63,11 @@ export function convertAssetConditionGroup convertAssetConditionGroup(group, convertFunction)) + $and: andItem.$and.map(group => convertAssetConditionGroup(group, convertFunction, populateDefaults)) } } else if (orItem['$or'] !== undefined) { return { - $or: orItem.$or.map(group => convertAssetConditionGroup(group, convertFunction)) + $or: orItem.$or.map(group => convertAssetConditionGroup(group, convertFunction, populateDefaults)) } } else { return { @@ -104,8 +104,9 @@ export function convertAssetConditionGroup> = ({ {displayedAssetGroups.map(elem => { - const ownershipString = generateAssetConditionGroupString(elem.assetConditionGroup, 0, 1, 1); - + const ownershipString = generateAssetConditionGroupString(elem.assetConditionGroup, 0, 1, '') + const lines = ownershipString.split('\n'); let currChain = 'Ethereum'; let currCollectionId: string | NumberType = ''; const convertedLines: ReactNode[] = []; const chains: string[] = []; - console.log(elem.assetConditionGroup); - console.log(ownershipString); for (const line of lines) { const trimmedLine = line.trim(); diff --git a/src/verify.ts b/src/verify.ts index 9cbf54a..78a53ef 100644 --- a/src/verify.ts +++ b/src/verify.ts @@ -146,7 +146,7 @@ export async function verifyChallenge( const toSkipSignatureVerification = options?.skipSignatureVerification ?? false; if (!toSkipSignatureVerification) { - if (!chainDriver) throw `ChainDriver is required to verify assets`; + if (!chainDriver) throw `ChainDriver is required to verify signatures`; await verifyChallengeSignature(chainDriver, message, signature) } @@ -530,24 +530,22 @@ function validateAssetConditionGroup(assetConditionGroup: } } -export function generateAssetConditionGroupString(assetConditionGroup: AssetConditionGroup, depth: number = 0, bulletNumber: number, parentBullet: number): string { +export function generateAssetConditionGroupString(assetConditionGroup: AssetConditionGroup, depth: number = 0, bulletNumber: number, parentBullet: string): string { let message = ""; const andItem = assetConditionGroup as AndGroup; const orItem = assetConditionGroup as OrGroup; const ownershipRequirements = assetConditionGroup as OwnershipRequirements; - const depthLetter = String.fromCharCode(65 + depth); - const nextDepthLetter = String.fromCharCode(65 + depth + 1); - message += ' '.repeat(depth * 2) + `- Requirement ${depthLetter}${parentBullet}-${bulletNumber}`; + message += ' '.repeat(depth * 2) + `- Requirement ${depth == 0 ? '' : `${parentBullet ? parentBullet + '.' : ''}${bulletNumber}`}`; if (andItem['$and'] !== undefined) { - message += ` (satisfied if all of ${nextDepthLetter}${bulletNumber} are satisfied):\n`; + message += ` (must satisfy all in group ${depth == 0 ? '' : `${parentBullet ? parentBullet + '.' : ''}${bulletNumber}`}):\n`; for (let i = 0; i < andItem['$and'].length; i++) { - message += generateAssetConditionGroupString(andItem['$and'][i], depth + 1, i + 1, bulletNumber); + message += generateAssetConditionGroupString(andItem['$and'][i], depth + 1, i + 1, depth == 0 ? '' : `${parentBullet ? parentBullet + '.' : ''}${bulletNumber}`); } } else if (orItem['$or'] !== undefined) { - message += ` (satisfied if one of ${nextDepthLetter}${bulletNumber} is satisfied):\n`; + message += ` (must satisfy one in group ${depth == 0 ? '' : `${parentBullet ? parentBullet + '.' : ''}${bulletNumber}`}):\n`; for (let i = 0; i < orItem['$or'].length; i++) { - message += generateAssetConditionGroupString(orItem['$or'][i], depth + 1, i + 1, bulletNumber); + message += generateAssetConditionGroupString(orItem['$or'][i], depth + 1, i + 1, depth == 0 ? '' : `${parentBullet ? parentBullet + '.' : ''}${bulletNumber}`); } } else { @@ -646,7 +644,7 @@ function constructChallengeStringFromChallengeObject(chall if (challenge.assetOwnershipRequirements) { message += `\nAsset Ownership Requirements:\n`; - message += generateAssetConditionGroupString(challenge.assetOwnershipRequirements, 0, 1, 1); + message += generateAssetConditionGroupString(challenge.assetOwnershipRequirements, 0, 1, ''); } return message;