This commit is contained in:
sairaj mote 2023-12-12 20:50:16 +05:30
parent 7e4995e6a1
commit fa1a9a3229
4 changed files with 58 additions and 26 deletions

View File

@ -304,6 +304,12 @@ ul {
list-style: none; list-style: none;
} }
ol {
display: grid;
gap: 0.8rem;
padding-left: 1rem;
}
.interact { .interact {
position: relative; position: relative;
overflow: hidden; overflow: hidden;

2
css/main.min.css vendored

File diff suppressed because one or more lines are too long

View File

@ -275,6 +275,11 @@ sm-option {
ul { ul {
list-style: none; list-style: none;
} }
ol {
display: grid;
gap: 0.8rem;
padding-left: 1rem;
}
.interact { .interact {
position: relative; position: relative;
overflow: hidden; overflow: hidden;

View File

@ -615,7 +615,8 @@
], ],
"category": "wallet", "category": "wallet",
"repoHash": "592bdad38e1b45e41247f054de33b9d71c58d4178d70ca03c22f1def7c97e2c0", "repoHash": "592bdad38e1b45e41247f054de33b9d71c58d4178d70ca03c22f1def7c97e2c0",
"appHash": "ecad64071b9c4026e94d4e57e76ade152b63f2619d44025f6a7f4f9f31184bc2" "appHash": "ecad64071b9c4026e94d4e57e76ade152b63f2619d44025f6a7f4f9f31184bc2",
automatedChecking: true
}, },
{ {
"name": "Blockchain Bonds", "name": "Blockchain Bonds",
@ -734,11 +735,11 @@
const hashes = html` const hashes = html`
<div class="flex flex-direction-column gap-1"> <div class="flex flex-direction-column gap-1">
<div class="flex flex-direction-column gap-0-3"> <div class="flex flex-direction-column gap-0-3">
<h4>Authorized hash</h4> <h4>Authorized hash for private key usage</h4>
<sm-copy value=${knownHash}><p>${knownHash}</p></sm-copy> <sm-copy value=${knownHash}><p>${knownHash}</p></sm-copy>
</div> </div>
<div class="flex flex-direction-column gap-0-3"> <div class="flex flex-direction-column gap-0-3">
<h4>Latest hash</h4> <h4>Hash of the link we just computed</h4>
<sm-copy value=${latestHash}><p>${latestHash}</p></sm-copy> <sm-copy value=${latestHash}><p>${latestHash}</p></sm-copy>
</div> </div>
</div> </div>
@ -793,16 +794,27 @@
<section id="hero_section"> <section id="hero_section">
<svg id="hero_section__svg" xmlns="http://www.w3.org/2000/svg" width="50" height="103" viewBox="0 0 50 103" fill="none"> <path d="M49.919 65.4057L12.7647 28.2514V102.56L49.919 65.4057Z" fill="#ABECDB"/> <path d="M49.919 49.0706L0.913757 0.0653687V98.0758L49.919 49.0706Z" fill="#CFF3EA"/> </svg> <svg id="hero_section__svg" xmlns="http://www.w3.org/2000/svg" width="50" height="103" viewBox="0 0 50 103" fill="none"> <path d="M49.919 65.4057L12.7647 28.2514V102.56L49.919 65.4057Z" fill="#ABECDB"/> <path d="M49.919 49.0706L0.913757 0.0653687V98.0758L49.919 49.0706Z" fill="#CFF3EA"/> </svg>
<h1> <h1>
Discover the world of <br> Securely discover the world of <br>
exciting new blockchain apps exciting new blockchain apps
</h1> </h1>
</section> </section>
<section id="verification_section" class="grid"> <section id="verification_section" class="grid">
<div class="flex align-center gap-0-5"> <div class="flex align-center gap-0-5">
<svg class="icon" style="fill: var(--yellow)" xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg> <svg class="icon" style="fill: var(--yellow)" xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg>
<h4> <h2>
Always verify links before entering your private keys Always verify links before entering your private keys
</h4> </h2>
</div>
<div class="flex flex-direction-column gap-0-5">
<h4>Checks we will perform</h4>
<ol>
<li>
Whether the contents of an app has been tampered with.
</li>
<li>
The link itself has not been tampered with.
</li>
</ol>
</div> </div>
<sm-form id="verification_form" oninvalid=${removeInvalidLinkResult} skip-submit> <sm-form id="verification_form" oninvalid=${removeInvalidLinkResult} skip-submit>
<sm-input id="link_verification__input" class="flex-1" placeholder="Enter a link to verify" style="min-width: 16rem" required></sm-input> <sm-input id="link_verification__input" class="flex-1" placeholder="Enter a link to verify" style="min-width: 16rem" required></sm-input>
@ -867,26 +879,28 @@
const downloadAllButtonContent = downloadAllButton.innerHTML const downloadAllButtonContent = downloadAllButton.innerHTML
downloadAllButton.innerHTML = 'Downloading...<sm-spinner></sm-spinner>' downloadAllButton.innerHTML = 'Downloading...<sm-spinner></sm-spinner>'
pseudoDisable(downloadAllButton, true) pseudoDisable(downloadAllButton, true)
const verificationPromises = dappsList.map(({ appLink }) => { const verificationPromises = dappsList
return new Promise((resolve, reject) => { .filter(({ allowDownload = true }) => allowDownload) // remove dapps that don't allow download
const appRepoName = appLink.split('/').pop() .map(({ appLink }) => {
getRepoHash(appRepoName).then(latestHash => { return new Promise((resolve, reject) => {
const { repoHash: knownHash } = dappsList.find(dapp => dapp.appLink === appLink) const appRepoName = appLink.split('/').pop()
if (latestHash !== knownHash) { getRepoHash(appRepoName).then(latestHash => {
notify(`The dapp '${appRepoName}' has failed integrity check. Dapp won't be downloaded.`, 'error') const { repoHash: knownHash } = dappsList.find(dapp => dapp.appLink === appLink)
if (latestHash !== knownHash) {
notify(`The dapp '${appRepoName}' has failed integrity check. Dapp won't be downloaded.`, 'error')
reject()
} else {
resolve(`https://github.com/ranchimall/${appRepoName}`)
}
}).catch(e => {
console.error(e)
notify('There was an error while trying to download the dapp. Please try again later.', 'error', {
timeout: 10000,
})
reject() reject()
} else {
resolve(`https://github.com/ranchimall/${appRepoName}`)
}
}).catch(e => {
console.error(e)
notify('There was an error while trying to download the dapp. Please try again later.', 'error', {
timeout: 10000,
}) })
reject()
}) })
}) })
})
try { try {
let downloadLinks = await Promise.allSettled(verificationPromises) let downloadLinks = await Promise.allSettled(verificationPromises)
downloadLinks = downloadLinks.filter(({ status }) => status === 'fulfilled').map(({ value }) => value) downloadLinks = downloadLinks.filter(({ status }) => status === 'fulfilled').map(({ value }) => value)
@ -968,11 +982,11 @@
const hashes = latestHash && knownHash && html` const hashes = latestHash && knownHash && html`
<div class="flex flex-direction-column gap-1"> <div class="flex flex-direction-column gap-1">
<div class="flex flex-direction-column gap-0-3"> <div class="flex flex-direction-column gap-0-3">
<h4>Authorized hash</h4> <h4>Authorized hash for private key usage</h4>
<sm-copy value=${knownHash}><p>${knownHash}</p></sm-copy> <sm-copy value=${knownHash}><p>${knownHash}</p></sm-copy>
</div> </div>
<div class="flex flex-direction-column gap-0-3"> <div class="flex flex-direction-column gap-0-3">
<h4>Latest hash</h4> <h4>Hash of the link we just computed</h4>
<sm-copy value=${latestHash}><p>${latestHash}</p></sm-copy> <sm-copy value=${latestHash}><p>${latestHash}</p></sm-copy>
</div> </div>
</div> </div>
@ -983,7 +997,14 @@
<svg class="icon" style="fill: var(--green)" xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M23,11.99l-2.44-2.79l0.34-3.69l-3.61-0.82L15.4,1.5L12,2.96L8.6,1.5L6.71,4.69L3.1,5.5L3.44,9.2L1,11.99l2.44,2.79 l-0.34,3.7l3.61,0.82L8.6,22.5l3.4-1.47l3.4,1.46l1.89-3.19l3.61-0.82l-0.34-3.69L23,11.99z M19.05,13.47l-0.56,0.65l0.08,0.85 l0.18,1.95l-1.9,0.43l-0.84,0.19l-0.44,0.74l-0.99,1.68l-1.78-0.77L12,18.85l-0.79,0.34l-1.78,0.77l-0.99-1.67l-0.44-0.74 l-0.84-0.19l-1.9-0.43l0.18-1.96l0.08-0.85l-0.56-0.65l-1.29-1.47l1.29-1.48l0.56-0.65L5.43,9.01L5.25,7.07l1.9-0.43l0.84-0.19 l0.44-0.74l0.99-1.68l1.78,0.77L12,5.14l0.79-0.34l1.78-0.77l0.99,1.68l0.44,0.74l0.84,0.19l1.9,0.43l-0.18,1.95l-0.08,0.85 l0.56,0.65l1.29,1.47L19.05,13.47z"/><polygon points="10.09,13.75 7.77,11.42 6.29,12.91 10.09,16.72 17.43,9.36 15.95,7.87"/></g></g></svg> <svg class="icon" style="fill: var(--green)" xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M23,11.99l-2.44-2.79l0.34-3.69l-3.61-0.82L15.4,1.5L12,2.96L8.6,1.5L6.71,4.69L3.1,5.5L3.44,9.2L1,11.99l2.44,2.79 l-0.34,3.7l3.61,0.82L8.6,22.5l3.4-1.47l3.4,1.46l1.89-3.19l3.61-0.82l-0.34-3.69L23,11.99z M19.05,13.47l-0.56,0.65l0.08,0.85 l0.18,1.95l-1.9,0.43l-0.84,0.19l-0.44,0.74l-0.99,1.68l-1.78-0.77L12,18.85l-0.79,0.34l-1.78,0.77l-0.99-1.67l-0.44-0.74 l-0.84-0.19l-1.9-0.43l0.18-1.96l0.08-0.85l-0.56-0.65l-1.29-1.47l1.29-1.48l0.56-0.65L5.43,9.01L5.25,7.07l1.9-0.43l0.84-0.19 l0.44-0.74l0.99-1.68l1.78,0.77L12,5.14l0.79-0.34l1.78-0.77l0.99,1.68l0.44,0.74l0.84,0.19l1.9,0.43l-0.18,1.95l-0.08,0.85 l0.56,0.65l1.29,1.47L19.05,13.47z"/><polygon points="10.09,13.75 7.77,11.42 6.29,12.91 10.09,16.72 17.43,9.36 15.95,7.87"/></g></g></svg>
<h4>Yay!</h4> <h4>Yay!</h4>
</div> </div>
<p>The link you provided is genuine</p> <ol>
<li>
There is no phishing done on this link. You can safely enter your private key.
</li>
<li>
The code powering this site is not modified through unauthorized means.
</li>
</ol>
${hashes} ${hashes}
`) `)
} else { } else {