Skip to content

Commit

Permalink
🪁 TCKT -> KPass geçişi ilerle
Browse files Browse the repository at this point in the history
  • Loading branch information
KimlikDAO-bot committed Apr 25, 2024
1 parent 7250402 commit a32ea75
Show file tree
Hide file tree
Showing 64 changed files with 360 additions and 341 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ jobs:
run: |
make al.sayfa
- name: tcktm sayfası
run: |
make tcktm.sayfa
- name: iptal sayfası
run: |
make iptal.sayfa
- name: kpassim sayfası
run: |
make kpassim.sayfa
- name: oyla sayfası
run: |
make oyla.sayfa
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ include lib/birimler/Makefile
include al/Makefile
include ana/Makefile
include birim/Makefile
include tcktm/Makefile
include iptal/Makefile
include kpassim/Makefile
include oyla/Makefile
include sunucu/Makefile

Expand Down
39 changes: 20 additions & 19 deletions al/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,25 @@ al-en := mint
al-tr := al

build/al/sayfa-%.js: al/sayfa.js \
al/imeceİptal/birim.js al/ödeme/birim.js \
al/tanışma/birim.js \
birim/ağlar/*.js \
birim/cüzdan/*.js \
birim/dil/birim.js \
birim/telefon/birim.js \
birim/tckt/birim.js \
lib/crosschain/*.js \
lib/crypto/sha3.js \
lib/crypto/secp256k1.js lib/crypto/modular.js \
lib/crypto/primes.js lib/crypto/wesolowski.js \
lib/did/*.js \
lib/ethereum/*.js \
lib/mina/*.d.js \
lib/node/*.d.js \
lib/node/ipfs.js lib/node/network.js \
lib/util/dom.js lib/util/çevir.js \
build/al/tanışma/birim.keymap
al/imeceİptal/birim.js al/ödeme/birim.js \
al/tanışma/birim.js \
birim/ağlar/*.js \
birim/cüzdan/*.js \
birim/dil/birim.js \
birim/kpass/birim.js \
birim/telefon/birim.js \
lib/api/jsonrpc.d.js lib/api/jsonrpc.js \
lib/crosschain/*.js \
lib/crypto/sha3.js \
lib/crypto/secp256k1.js lib/crypto/modular.js \
lib/crypto/primes.js lib/crypto/wesolowski.js \
lib/did/*.js \
lib/ethereum/*.js \
lib/mina/*.d.js \
lib/node/*.d.js \
lib/node/ipfs.js lib/node/network.js \
lib/util/dom.js lib/util/çevir.js \
build/al/tanışma/birim.keymap
mkdir -p $(dir $@)
bun google-closure-compiler -W VERBOSE -O ADVANCED --charset UTF-8 \
--define "TR\$$\$$module\$$lib\$$util\$$dom=$(Lang-$*)" \
Expand Down Expand Up @@ -63,7 +64,7 @@ build/al-%.html: al/sayfa.html \
build/al/tanışma/external-link.isvg \
birim/başlık.birim \
birim/favicon.birim \
birim/kpass.birim \
birim/lato-%.birim \
birim/tckt.birim \
birim/telefon.birim
bun lib/birimler/işleyici.js $< $*
4 changes: 2 additions & 2 deletions al/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
### `Al` sayfası

`al` sayfası TCKT'nin alındığı sayfa. Kullanıcı cüzdanını bağlar,
`al` sayfası KPass'in alındığı sayfa. Kullanıcı cüzdanını bağlar,
ağ seçer, kendini tanıtır, imece iptal kurar, ödeme tokeni seçer ve
son olarak TCKT'sini alır.
son olarak KPass'ini alır.
6 changes: 3 additions & 3 deletions al/imeceİptal/birim.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import { AğBilgileri, AğBilgisi } from "/birim/ağlar/birim";
import Cüzdan from "/birim/cüzdan/birim";
import { ChainId } from "/lib/crosschain/chains";
import TCKT from "/lib/ethereum/TCKT";
import KPass from "/lib/ethereum/KPass";
import evm from "/lib/ethereum/evm";
import dom from "/lib/util/dom";

Expand All @@ -25,7 +25,7 @@ const Kutu = /** @type {!Element} */(dom.adla("imc"));
const ToplamAğırlık = /** @type {!Element} */(dom.adla("ims"));

/**
* @param {ChainId} ağ Native tokeninde TCKT fiyatının gösterileceği ağ.
* @param {ChainId} ağ Native tokeninde KPass fiyatının gösterileceği ağ.
*/
const fiyatGöster = () => {
/** @const {!Element} */
Expand All @@ -44,7 +44,7 @@ const fiyatGöster = (ağ) => {
const token = ağBilgisi.token || ağBilgisi.tokenKodu;
/** @const {!Array<string>} */
const ek = ağBilgisi.tokenEki;
TCKT.priceIn(, 0).then(([çok, az]) => {
KPass.priceIn(, 0).then(([çok, az]) => {
indirimsizFiyat.innerText = dom.paradanMetne(çok) + " " + token + (dom.TR ? ek[0] : "");
indirimliFiyat.innerText = dom.paradanMetne(az) + " " + token + (dom.TR ? ek[1] : "");
indirimYüzdesi.innerText = Math.round(100 * (çok - az) / çok);
Expand Down
10 changes: 5 additions & 5 deletions al/sayfa.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title data-en="KimlikDAO | Mint TCKT">KimlikDAO | TCKT al</title>
<title data-en="KimlikDAO | Mint KPass">KimlikDAO | KPass al</title>
<birim:lato />
<link href="/birim/ortak.css" rel="stylesheet" type="text/css" />
<link href="/al/sayfa.css" rel="stylesheet" type="text/css" />
Expand All @@ -25,8 +25,8 @@
</div>
<altbirim:tanışma />
<div id=al3 class="step disabled">
<b data-en="3. Let’s encrypt your TCKT.">3. TCKT’nizi şifreleyelim.</b>
<span data-phantom data-en="We need 4 signatures from you to encrypt your TCKT.">TCKT’ni
<b data-en="3. Let’s encrypt your KPass.">3. KPass’inizi şifreleyelim.</b>
<span data-phantom data-en="We need 4 signatures from you to encrypt your KPass.">KPass’ini
şifrelememiz için sizden <span id="al3b">4</span> adet imzaya ihtiyacımız var.
Bu işlem off-chain, tamamen ücretsiz ve güvenli.</span>
<br><br>
Expand All @@ -37,9 +37,9 @@
</div>
<div id="alr">
<div id="alu">
<birim:tckt />
<birim:kpass />
</div>
<birim:telefon style="opacity:0" data-tcktsiz="true" />
<birim:telefon style="opacity:0" data-kpasssiz="true" />
</div>
</div>
<script async type="module" src="/al/sayfa.js" data-remove-type></script>
Expand Down
30 changes: 15 additions & 15 deletions al/sayfa.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,22 @@ import Tanışma from "/al/tanışma/birim";
import { öde } from "/al/ödeme/birim";
import Cüzdan from "/birim/cüzdan/birim";
import "/birim/dil/birim";
import Tckt from "/birim/tckt/birim";
import Kpass from "/birim/kpass/birim";
import Telefon from "/birim/telefon/birim";
import { OnaylamaAnahtarları, imzaMetni, metadataVeBölümler } from "/lib/did/TCKTVerisi";
import { VerificationKeys, metadataAndSections, signPrompt } from "/lib/did/KPassData";
import { toUnlockableNFT } from "/lib/did/decryptedSections";
import { verifyProofs } from "/lib/did/decryptedSectionsVerifier";
import TCKT from "/lib/ethereum/TCKT";
import KPass from "/lib/ethereum/KPass";
import ipfs from "/lib/node/ipfs";
import network from "/lib/node/network";
import dom from "/lib/util/dom";
import { hex } from "/lib/util/çevir";

/**
* @param {string} adres
* @param {!did.DecryptedSections} açıkTckt
* @param {!did.DecryptedSections} açıkKPass
*/
const tcktYarat = (adres, açıkTckt) => {
const kpassYarat = (adres, açıkKPass) => {
/** @const {!Element} */
const şifrele = /** @const {!Element} */(dom.adla("al3"));
/** @const {!Element} */
Expand All @@ -32,29 +32,29 @@ const tcktYarat = (adres, açıkTckt) => {
şifreleDüğmesi.classList.remove("disabled");

/** @const {string} */
const telefonMetni = imzaMetni(["personInfo"]);
const telefonMetni = signPrompt(["personInfo"]);
Telefon.kutuGöster(telefonMetni.slice(0, dom.TR ? 25 : 35) +
telefonMetni.slice(35, dom.TR ? 161 : 193), dom.TR ? "İmzala" : "Sign"
);

/** @const {!Promise<!did.DecryptedSections>} */
const açıkTcktSözü = verifyProofs(açıkTckt, OnaylamaAnahtarları);
const açıkKPassSözü = verifyProofs(açıkKPass, VerificationKeys);

şifreleDüğmesi.onclick = () => {
/** @const {!Promise<!eth.ERC721Unlockable>} */
const unlockableNFTSözü = açıkTcktSözü.then((açıkTckt) => {
const { metadata, bölümler } = metadataVeBölümler(Cüzdan.());
const unlockableNFTSözü = açıkKPassSözü.then((açıkKPass) => {
const { metadata, sections } = metadataAndSections(Cüzdan.());
return toUnlockableNFT(
metadata,
açıkTckt,
bölümler,
açıkKPass,
sections,
Cüzdan.bağlantı(),
adres)
}).then((/** @type {!eth.ERC721Unlockable} */ unlockableNFT) => {
Telefon.kutuKapat();
şifreleDüğmesi.innerText = dom.TR ? "TCKT’nizi şifreledik ✓" : "We encrypted your TCKT ✓";
şifreleDüğmesi.innerText = dom.TR ? "KPass’inizi şifreledik ✓" : "We encrypted your KPass ✓";
şifreleDüğmesi.classList.remove("act");
Tckt.yüzGöster(false);
Kpass.yüzGöster(false);
dom.düğmeDurdur(şifreleDüğmesi);
şifrele.classList.add("done");
İmeceİptal.göster();
Expand Down Expand Up @@ -88,12 +88,12 @@ const bağlaAdımı = () => {
düğme.classList.remove("act");
dom.düğmeDurdur(düğme);
kök.classList.add("done");
Tanışma.açıkTcktAlVe(adres.toLowerCase(), tcktYarat);
Tanışma.açıkKPassAlVe(adres.toLowerCase(), kpassYarat);
}
});
}

Cüzdan.bağlantıDeğişince((bağlantı) =>
TCKT.setProvider(/** @type {!eth.Provider} */(bağlantı.provider)));
KPass.setProvider(/** @type {!eth.Provider} */(bağlantı.provider)));

bağlaAdımı();
28 changes: 14 additions & 14 deletions al/tanışma/birim.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Cüzdan from "/birim/cüzdan/birim";
import Tckt from "/birim/tckt/birim";
import Kpass from "/birim/kpass/birim";
import { ChainId } from "/lib/crosschain/chains";
import { keccak256Uint8 } from "/lib/crypto/sha3";
import { combineMultiple } from "/lib/did/decryptedSections";
Expand Down Expand Up @@ -30,13 +30,13 @@ const taahhütOluştur = (adres, rastgele) => {
}

/**
* AçıkTCKT alır ve `sonra`'ya aktarır.
* AçıkKPass alır ve `sonra`'ya aktarır.
*
* @param {string} adres
* @param {function(string, !did.DecryptedSections)} sonra AçıkTCKT'yi
* @param {function(string, !did.DecryptedSections)} sonra AçıkKpass'i
* vereceğimiz yordam.
*/
const açıkTcktAlVe = (adres, sonra) => {
const açıkKPassAlVe = (adres, sonra) => {
/** @const {!Worker} */
const powWorker = new Worker("/al/tanışma/powWorker.js", { type: "module" });

Expand Down Expand Up @@ -148,11 +148,11 @@ const açıkTcktAlVe = (adres, sonra) => {
`//${nodelar[0]}/edevlet/oauth2?` +
`${base64(new Uint8Array(taahhüt))}&ts=${istemciAn}&oauth_code=${code}`))
.then((/** @type {!Response} */ res) => res.json())
.then((/** @type {!did.DecryptedSections} */ açıkTckt) => {
.then((/** @type {!did.DecryptedSections} */ açıkKPass) => {
nkoDüğmesi.innerText = dom.TR ? "Bilgileriniz alındı ✓" : "We got your info ✓";
Tckt.açıkTcktGöster(açıkTckt);
Kpass.açıkKPassGöster(açıkKPass);
kutu.classList.add("done");
sonra(adres, açıkTckt);
sonra(adres, açıkKPass);
});
} else {
/** @const {Element} */
Expand Down Expand Up @@ -192,8 +192,8 @@ const açıkTcktAlVe = (adres, sonra) => {
setTimeout(() => {
if (!hataOluştu)
hataBildirimi.innerText = dom.TR
? "TCKT’niz oluşturuluyor"
: "Minting your TCKT"
? "KPass’iniz oluşturuluyor"
: "Minting your KPass"
}, 1500);
setTimeout(() => {
if (!hataOluştu)
Expand Down Expand Up @@ -223,24 +223,24 @@ const açıkTcktAlVe = (adres, sonra) => {
)).then((/** @type {!Array<!Promise.AllSettledResultElement<!did.DecryptedSections>>} */
results) => {
/** @const {!did.DecryptedSections} */
const açıkTckt = combineMultiple(
const açıkKPass = combineMultiple(
results
.filter((result) => result.status == "fulfilled")
.map((result) => result.value),
base64(nkoRastgele.subarray(0, 32)),
base64(nkoRastgele.subarray(32)),
3
);
if ("personInfo" in açıkTckt) {
if ("personInfo" in açıkKPass) {
dom.gizle(dosyaYüklemeBölümü);
nkoDüğmesi.href = "javascript:";
nkoDüğmesi.classList.remove("act");
nkoDüğmesi.innerText = dom.TR ? "Bilgileriniz onaylandı ✓" : "We confirmed your info ✓";
dom.göster(nkoDüğmesi);
dom.düğmeDurdur(nkoDüğmesi);
Tckt.açıkTcktGöster(açıkTckt);
Kpass.açıkKPassGöster(açıkKPass);
kutu.classList.add("done");
sonra(adres, açıkTckt);
sonra(adres, açıkKPass);
} else {
/** @const {!node.HataBildirimi} */
const hata = /** @type {node.HataBildirimi} */(results.find(
Expand Down Expand Up @@ -325,4 +325,4 @@ const açıkTcktAlVe = (adres, sonra) => {
}
}

export default { açıkTcktAlVe };
export default { açıkKPassAlVe };
6 changes: 3 additions & 3 deletions al/ödeme/birim.html
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<div id=od class="step disabled">
<b data-en="5. Send the payment and receive your TCKT.">5. Ödemeyi yapın TCKT cüzdanınıza gelsin</b>
<span data-phantom data-en="We'll send your wallet a request for a transaction of value &lt;span id=odf>$1.5&lt;/span>. When confirmed, your TCKT will be minted in the same transaction.">Cüzdanınıza
<b data-en="5. Send the payment and receive your KPass.">5. Ödemeyi yapın KPass cüzdanınıza gelsin</b>
<span data-phantom data-en="We'll send your wallet a request for a transaction of value &lt;span id=odf>$1.5&lt;/span>. When confirmed, your KPass will be minted in the same transaction.">Cüzdanınıza
<span id=odf>$1,5</span> alımı için bir istek yollayacağız. Onayladığınızda
cüzdanınızdan ücret alınır ve TCKT'niz cüzdanınıza mint edilir.</span>
cüzdanınızdan ücret alınır ve KPass'iniz cüzdanınıza mint edilir.</span>
<table id=odi>
<tr>
<td data-en="KimlikDAO fee">KimlikDAO ücreti</td>
Expand Down
Loading

0 comments on commit a32ea75

Please sign in to comment.