From dec6b060e8aeba9f39fd4beb6306c5f776d37a01 Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Sun, 4 Jan 2026 22:17:07 +0300 Subject: [PATCH 1/4] fix: add dep:serde to subxt-signer and skip wasm build for eth-rpc - Add dep:serde to pezkuwi-subxt-signer serde feature (fixes docs workflow) - Add SKIP_WASM_BUILD=1 to eth-rpc Dockerfile (workaround for serde_core + build-std conflict) - Add zombienet-alpha.toml for 4-validator testnet configuration --- .../revive/rpc/dockerfiles/eth-rpc/Dockerfile | 3 +- vendor/pezkuwi-subxt/signer/Cargo.toml | 1 + zombienet-alpha.toml | 51 +++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 zombienet-alpha.toml diff --git a/bizinikiwi/pezframe/revive/rpc/dockerfiles/eth-rpc/Dockerfile b/bizinikiwi/pezframe/revive/rpc/dockerfiles/eth-rpc/Dockerfile index 841543af..d2a9a2ef 100644 --- a/bizinikiwi/pezframe/revive/rpc/dockerfiles/eth-rpc/Dockerfile +++ b/bizinikiwi/pezframe/revive/rpc/dockerfiles/eth-rpc/Dockerfile @@ -11,7 +11,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* RUN cargo fetch -RUN cargo build --locked --profile production -p pezpallet-revive-eth-rpc --bin eth-rpc +# SKIP_WASM_BUILD=1 avoids serde_core + build-std conflict (upstream issue: serde-rs/serde#3021) +RUN SKIP_WASM_BUILD=1 cargo build --locked --profile production -p pezpallet-revive-eth-rpc --bin eth-rpc FROM docker.io/parity/base-bin:latest COPY --from=builder /pezkuwi/target/production/eth-rpc /usr/local/bin diff --git a/vendor/pezkuwi-subxt/signer/Cargo.toml b/vendor/pezkuwi-subxt/signer/Cargo.toml index ba874fbb..a5fdc42c 100644 --- a/vendor/pezkuwi-subxt/signer/Cargo.toml +++ b/vendor/pezkuwi-subxt/signer/Cargo.toml @@ -69,6 +69,7 @@ subxt = ["dep:pezkuwi-subxt-core"] # feature on it if compiling for the web. web = ["getrandom/js"] serde = [ + "dep:serde", "bip39/serde", "codec/serde", "hex/serde", diff --git a/zombienet-alpha.toml b/zombienet-alpha.toml new file mode 100644 index 00000000..039c5693 --- /dev/null +++ b/zombienet-alpha.toml @@ -0,0 +1,51 @@ +[settings] +timeout = 300 +provider = "native" + +[relaychain] +default_command = "/home/mamostehp/pezkuwi-sdk/target/release/pezkuwi" +chain = "pezkuwichain-local" +default_args = ["--unsafe-force-node-key-generation", "-lteyrchain=debug"] + +# Validator 1: Alice +[[relaychain.nodes]] +name = "alice" +validator = true +rpc_port = 9944 + +# Validator 2: Bob +[[relaychain.nodes]] +name = "bob" +validator = true +rpc_port = 9946 + +# Validator 3: Charlie +[[relaychain.nodes]] +name = "charlie" +validator = true +rpc_port = 9947 + +# Validator 4: Dave +[[relaychain.nodes]] +name = "dave" +validator = true +rpc_port = 9948 + +# Asset Hub Teyrchain +[[teyrchains]] +id = 1000 +chain = "asset-hub-pezkuwichain-local" +cumulus_based = true +add_to_genesis = true + +[[teyrchains.collators]] +name = "asset-hub-collator-1" +command = "/home/mamostehp/pezkuwi-sdk/target/release/pezkuwi-teyrchain" +rpc_port = 9945 +args = ["--unsafe-force-node-key-generation", "-lteyrchain=debug"] + +[[teyrchains.collators]] +name = "asset-hub-collator-2" +command = "/home/mamostehp/pezkuwi-sdk/target/release/pezkuwi-teyrchain" +rpc_port = 9949 +args = ["--unsafe-force-node-key-generation", "-lteyrchain=debug"] From 5b2016175fe9e8557d6d28fd7b98a0caae0d70bd Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Sun, 4 Jan 2026 22:25:26 +0300 Subject: [PATCH 2/4] fix: format subxt-signer Cargo.toml with taplo --- vendor/pezkuwi-subxt/signer/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/pezkuwi-subxt/signer/Cargo.toml b/vendor/pezkuwi-subxt/signer/Cargo.toml index a5fdc42c..359492ce 100644 --- a/vendor/pezkuwi-subxt/signer/Cargo.toml +++ b/vendor/pezkuwi-subxt/signer/Cargo.toml @@ -69,9 +69,9 @@ subxt = ["dep:pezkuwi-subxt-core"] # feature on it if compiling for the web. web = ["getrandom/js"] serde = [ - "dep:serde", "bip39/serde", "codec/serde", + "dep:serde", "hex/serde", "pezsp-core/serde", "schnorrkel?/serde", From de303393959295a875f42c5f117ad413e320a046 Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Mon, 5 Jan 2026 00:13:48 +0300 Subject: [PATCH 3/4] fix: remove primitive-types/serde feature to avoid getrandom on wasm32 The serde feature was enabling primitive-types/serde which transitively enables std -> fixed-hash/std -> rand/std -> getrandom. This fails on wasm32-unknown-unknown target. Using only primitive-types/serde_no_std provides serde support without the std dependency chain. --- bizinikiwi/primitives/core/Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/bizinikiwi/primitives/core/Cargo.toml b/bizinikiwi/primitives/core/Cargo.toml index fe962bf3..a5562bed 100644 --- a/bizinikiwi/primitives/core/Cargo.toml +++ b/bizinikiwi/primitives/core/Cargo.toml @@ -152,7 +152,6 @@ serde = [ "log/serde", "parking_lot?/serde", "pezsp-storage/serde", - "primitive-types/serde", "primitive-types/serde_no_std", "rand?/serde", "scale-info/serde", From 2370ca7701805a2537c477cf76b36a4955a7f284 Mon Sep 17 00:00:00 2001 From: Kurdistan Tech Ministry Date: Wed, 7 Jan 2026 03:24:30 +0300 Subject: [PATCH 4/4] docs: update MAINNET_ROADMAP with JS/TS ecosystem rebrand completion --- .claude/MAINNET_ROADMAP.md | 273 ++++++++++++++++++++++++++++++++++++- 1 file changed, 270 insertions(+), 3 deletions(-) diff --git a/.claude/MAINNET_ROADMAP.md b/.claude/MAINNET_ROADMAP.md index 64942e5f..2a091b38 100644 --- a/.claude/MAINNET_ROADMAP.md +++ b/.claude/MAINNET_ROADMAP.md @@ -1,7 +1,7 @@ # PEZKUWI MAINNET ROADMAP **Oluşturulma:** 2026-01-01 -**Son Güncelleme:** 2026-01-02 +**Son Güncelleme:** 2026-01-07 **Hedef:** %100 Mainnet Hazırlık **Tahmini Süre:** Faz bazlı ilerleme @@ -321,6 +321,111 @@ Senkronizasyon: Tüm node'lar aynı blok numarasında ✅ --- +## FAZ 5: ECOSYSTEM & NPM PACKAGES (IN PROGRESS - 2026-01-05) + +### 5.1 NPM Package Publishing + +**Hedef:** @pezkuwi/* namespace altında tüm JavaScript/TypeScript paketlerini yayınlamak + +#### Yayınlanan Paketler (pezkuwi-common - 20 paket) ✅ +- [x] @pezkuwi/util@14.0.5 +- [x] @pezkuwi/util-crypto@14.0.5 +- [x] @pezkuwi/keyring@14.0.5 +- [x] @pezkuwi/networks@14.0.5 +- [x] @pezkuwi/hw-ledger@14.0.5 +- [x] @pezkuwi/hw-ledger-transports@14.0.5 +- [x] @pezkuwi/x-* packages (10 paket) +- [x] @pezkuwi/wasm-* packages (6 paket) +- [x] @pezkuwi/dev packages (3 paket) + +#### Bekleyen Paketler (pezkuwi-api - 13 paket) ⏳ +**Durum:** NPM rate limit nedeniyle bekleniyor (2026-01-06'da yayınlanacak) + +- [ ] @pezkuwi/types-create@16.5.5 +- [ ] @pezkuwi/types-known@16.5.5 +- [ ] @pezkuwi/types@16.5.5 +- [ ] @pezkuwi/types-augment@16.5.5 +- [ ] @pezkuwi/rpc-provider@16.5.5 +- [ ] @pezkuwi/rpc-core@16.5.5 +- [ ] @pezkuwi/rpc-augment@16.5.5 +- [ ] @pezkuwi/api-base@16.5.5 +- [ ] @pezkuwi/api-augment@16.5.5 +- [ ] @pezkuwi/api-derive@16.5.5 +- [ ] @pezkuwi/api-contract@16.5.5 +- [ ] @pezkuwi/api@16.5.5 +- [ ] @pezkuwi/typegen@16.5.5 + +**NPM Rate Limit Sorunu (2026-01-05):** +``` +Error: E429 Too Many Requests +Sebep: NPM free tier günlük publish limiti +Çözüm: Ücretli hesaba geçildi, 24 saat sonra rate limit sıfırlanacak +Token: [REDACTED] (bypass authentication) +``` + +**Başarıyla Yayınlanan API Paketleri (2 paket):** +- [x] @pezkuwi/types-support@16.5.5 +- [x] @pezkuwi/types-codec@16.5.5 + +### 5.2 pwap Application Migration ✅ + +**pwap:** P2P Wallet Application Platform +**Dizinler:** /home/mamostehp/pwap/ +**Ürünler:** pezkuwi-sdk-ui (React), web (Vite+React), mobile (React Native+Expo) + +#### Migration Tamamlandı (2026-01-05): +- [x] 59 package.json dosyasında @polkadot → @pezkuwi değişiklikleri +- [x] 1510 kaynak dosyada import değişiklikleri: + - `from '@polkadot/` → `from '@pezkuwi/` + - `import('@polkadot/` → `import('@pezkuwi/` + - `require('@polkadot` → `require('@pezkuwi` +- [x] TypeScript reference comments güncellendi +- [x] jest.mock() statements güncellendi +- [x] packageInfo.ts dosyaları güncellendi +- [x] vite.config.ts optimizasyon ayarları güncellendi + +**Geçici Durum:** +- web/supabase Deno edge functions → @polkadot/api kullanıyor (esm.sh CDN) +- @pezkuwi/extension-dapp henüz yayınlanmadı → @polkadot/extension-dapp kullanılıyor + +**Build Test:** API paketleri yayınlandıktan sonra yapılacak + +### 5.3 Rebrand Repo'lar + +| Repo | Paket Sayısı | Durum | NPM Status | +|------|-------------|-------|------------| +| pezkuwi-common | 20 | ✅ Tamamlandı | ✅ Yayınlandı | +| pezkuwi-api | 15 | ✅ Tamamlandı | ⏳ 13 paket bekliyor | +| pezkuwi-dev | 3 | ✅ Tamamlandı | ✅ Yayınlandı | +| **TOPLAM** | **38** | **%100** | **%66** | + +### Hedef: +- [x] Rebrand tamamlandı (3 repo, 38 paket) +- [ ] Tüm NPM paketleri yayınlandı (2026-01-06'da tamamlanacak) +- [ ] pwap build test başarılı +- [ ] Production deployment + +--- + +## FAZ 6: VPS TESTNET DEPLOYMENT + +### 6.1 VPS Infrastructure +**Hedef:** ALPHA fazı için 4 validator node deployment + +- [ ] VPS sunucular hazır (4 adet) +- [ ] Monitoring kurulumu (Prometheus + Grafana) +- [ ] Backup stratejisi +- [ ] Node deployment scripts + +### 6.2 ALPHA Network (4 Validator) +**Başarı Kriterleri:** +- [ ] Uzak node'lar bağlanır +- [ ] Telemetry çalışır +- [ ] RPC endpoints aktif +- [ ] Public testnet erişilebilir + +--- + ## FAZ 4: MAINNET HAZIRLIK & LANÇ ### 4.1 Final Checklist @@ -353,8 +458,12 @@ Senkronizasyon: Tüm node'lar aynı blok numarasında ✅ | FAZ 1 | ✅ TAMAMLANDI | %100 | | FAZ 2 | ✅ TAMAMLANDI | %100 (chain-spec ✅, genesis config ✅) | | FAZ 3 | 🔄 IN PROGRESS | %50 (DEV ✅, LOCAL ✅, Token Transfer ✅, ALPHA beklemede) | -| FAZ 4 | PENDING | %0 | -| **TOPLAM** | - | **%70** | +| FAZ 5 | ✅ TAMAMLANDI | %100 (NPM paketleri ✅, pwap migration ✅) | +| FAZ 6 | PENDING | %0 (VPS testnet) | +| FAZ 7 | ✅ TAMAMLANDI | %100 (JS/TS ecosystem rebrand ✅) | +| FAZ 8 | 🔄 IN PROGRESS | %0 (Kusama → Dicle rebrand) | +| FAZ 4 | PENDING | %0 (Mainnet lansman) | +| **TOPLAM** | - | **%78** | --- @@ -381,11 +490,169 @@ Senkronizasyon: Tüm node'lar aynı blok numarasında ✅ | 2026-01-02 | tx_pezkuwichain.rs örneği oluşturuldu (vendor/pezkuwi-subxt/subxt/examples/) | | 2026-01-02 | SessionStart hook sistemi kuruldu (context persistence) | | 2026-01-02 | PROJECT_STATE.md ve SESSION_LOG.md oluşturuldu | +| 2026-01-05 | **FAZ 5 BAŞLADI** - NPM packages ve pwap ecosystem migration | +| 2026-01-05 | pezkuwi-common tüm paketleri NPM'e yayınlandı (20 paket @ 14.0.5) | +| 2026-01-05 | pezkuwi-api paketlerinden 2 tanesi yayınlandı (types-support, types-codec @ 16.5.5) | +| 2026-01-05 | NPM rate limit sorunu tespit edildi (E429 - günlük publish limiti) | +| 2026-01-05 | NPM Pro hesabına geçildi (bypass authentication token) | +| 2026-01-05 | pwap migration tamamlandı (59 package.json + 1510 kaynak dosya) | +| 2026-01-05 | Kalan 13 API paketi yarın yayınlanacak (rate limit sıfırlanması bekleniyor) | +| 2026-01-07 | **JS/TS ECOSYSTEM REBRAND TAMAMLANDI** - 5 repo başarıyla build edildi | +| 2026-01-07 | pezkuwi-api: NPM'e yayınlandı (@pezkuwi/api@16.5.6) | +| 2026-01-07 | pezkuwi-extension: Build başarılı, Chrome+Firefox extension ready | +| 2026-01-07 | pezkuwi-common: NPM'e yayınlandı (@pezkuwi/util@14.0.7) | +| 2026-01-07 | pezkuwi-ui: Build başarılı, UI components ready | +| 2026-01-07 | pwap/web: @pezkuwi paketleriyle build başarılı | +| 2026-01-07 | GitHub Actions düzeltildi (Lock Threads + Build workflows) | +| 2026-01-07 | README'ler güncellendi (Dijital Kurdistan Tech Institute branding) | + +--- + +## FAZ 7: JS/TS ECOSYSTEM REBRAND ✅ TAMAMLANDI (2026-01-07) + +### 7.1 Rebrand Edilen Repolar + +| Repo | Build | NPM | GitHub Actions | README | +|------|-------|-----|----------------|--------| +| pezkuwi-api | ✅ | ✅ @16.5.6 | ✅ Lock Threads | ✅ | +| pezkuwi-common | ✅ | ✅ @14.0.7 | ✅ Lock Threads | ✅ | +| pezkuwi-extension | ✅ | - | ✅ Lock + Build | ✅ | +| pezkuwi-ui | ✅ | - | ✅ Lock + Build | ✅ | +| pwap | ✅ | - | ✅ Quality Gate | ✅ | + +### 7.2 NPM Paket Durumu + +**@pezkuwi/api ecosystem (16.5.6):** +``` +@pezkuwi/api, @pezkuwi/api-augment, @pezkuwi/api-base, @pezkuwi/api-derive, +@pezkuwi/rpc-augment, @pezkuwi/rpc-core, @pezkuwi/rpc-provider, +@pezkuwi/types, @pezkuwi/types-augment, @pezkuwi/types-codec, +@pezkuwi/types-create, @pezkuwi/types-known, @pezkuwi/types-support +``` + +**@pezkuwi/common ecosystem (14.0.7):** +``` +@pezkuwi/keyring, @pezkuwi/util, @pezkuwi/util-crypto, @pezkuwi/networks, +@pezkuwi/hw-ledger, @pezkuwi/hw-ledger-transports, +@pezkuwi/x-bigint, @pezkuwi/x-fetch, @pezkuwi/x-global, +@pezkuwi/x-randomvalues, @pezkuwi/x-textdecoder, @pezkuwi/x-textencoder, @pezkuwi/x-ws +``` + +**@pezkuwi/extension ecosystem (0.62.11):** +``` +@pezkuwi/extension-dapp, @pezkuwi/extension-inject +``` + +**@pezkuwi/ui ecosystem (3.16.8):** +``` +@pezkuwi/react-identicon, @pezkuwi/react-qr, @pezkuwi/reactnative-identicon, +@pezkuwi/vue-identicon, @pezkuwi/ui-keyring, @pezkuwi/ui-settings, @pezkuwi/ui-shared +``` + +### 7.3 Workflow Düzeltmeleri + +**Tüm repolarda yapılan düzeltmeler:** +- `lock.yml`: `secrets.GH_PAT_BOT` → `github.token` + `workflow_dispatch` trigger +- `push-master.yml` → `push-main.yml`: `main` branch'e geçiş +- README.md: "Dijital Kurdistan Tech Institute" branding + pezkuwichain.io domain'leri + +### 7.4 pwap/web Build Düzeltmeleri + +**Yapılan değişiklikler:** +1. `package.json`: @pezkuwi dependencies güncellendi +2. `npm overrides`: Dependency version mismatch'ler düzeltildi +3. `vite.config.ts`: `@pezkuwi/types` alias → `@local/types` (npm paketi ile çakışmayı önlemek için) +4. `shared/utils/dex.ts`: Import path güncellendi + +**Build sonucu:** ✅ 3471 modules transformed, 12.11s + +### 7.5 Repo Konumları + +``` +/home/mamostehp/pezkuwi-api/ # @pezkuwi/api packages +/home/mamostehp/pezkuwi-common/ # @pezkuwi/util, keyring, crypto +/home/mamostehp/pezkuwi-extension/ # Browser extension +/home/mamostehp/pezkuwi-ui/ # React/Vue identicons, QR +/home/mamostehp/pwap/ # Web + Mobile wallet apps +``` + +--- + +## FAZ 8: KUSAMA → DICLE REBRAND (BEKLEMEDE) + +### 8.1 Kapsam + +pezkuwi-sdk içindeki tüm "kusama/Kusama" referanslarının "dicle/Dicle" olarak değiştirilmesi. + +**Terminoloji:** +- kusama → dicle +- Kusama → Dicle + +### 8.2 Etkilenen Alanlar (Tahmini) +- vendor/pezkuwi-subxt/ (metadata, tests) +- vendor/pezkuwi-zombienet-sdk/ (configuration) +- bizinikiwi/ (client, pezframe, primitives) +- pezkuwi/ (runtime weights, documentation) +- Test dosyaları ve benchmark'lar + +### 8.3 Durum +⏳ **BEKLEMEDE** - JS/TS ecosystem rebrand tamamlandıktan sonra başlanacak --- ## ÖNEMLİ BİLGİLER - SONRAKİ CLAUDE İÇİN +### NPM Package Publishing Durumu (2026-01-05) + +**Yayınlanan Paketler (23/38):** +- pezkuwi-common: 20 paket @ 14.0.5 ✅ +- pezkuwi-dev: 3 paket @ 0.84.3 ✅ +- pezkuwi-api: 2/15 paket @ 16.5.5 ⏳ + +**Bekleyen Paketler (13 paket - 2026-01-06 sabah):** +```bash +cd /home/mamostehp/pezkuwi-api + +# Yayınlanacak paketler (sırayla dependency order'a göre): +types-create, types-known, types, types-augment, +rpc-provider, rpc-core, rpc-augment, +api-base, api-augment, api-derive, api-contract, +api, typegen + +# NPM Token (bypass authentication): +export NPM_TOKEN="[REDACTED]" +echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc + +# Publish script: +/tmp/publish-with-retry.sh +``` + +**Rate Limit Sorunu:** +- NPM free tier: Günlük publish limiti var +- Çözüm: Pro hesaba geçildi, 24 saat sonra (yarın sabah) sıfırlanacak +- Her paket için 60 saniye bekle, rate limit hatası alırsa exponential backoff uygula + +### pwap Migration Durumu (2026-01-05) + +**Tamamlanan:** +- 59 package.json dosyası: @polkadot → @pezkuwi ✅ +- 1510 kaynak dosya: import statements güncellendi ✅ +- TypeScript references, jest mocks, packageInfo güncellendi ✅ + +**Beklenen:** +- API paketleri yayınlanınca: `yarn install` ve `yarn build` test et +- @pezkuwi/extension-dapp paketi henüz yok (geçici olarak @polkadot/extension-dapp kullanılıyor) + +**pwap Dizin Yapısı:** +``` +/home/mamostehp/pwap/ +├── web/ # Vite + React (wallet web app) +├── mobile/ # React Native + Expo (wallet mobile app) +├── pezkuwi-sdk-ui/ # React UI components (fork of polkadot-js/apps) +├── backend/ # Backend services +└── shared/ # Shared utilities +``` + ### Mevcut Network Durumu (2026-01-02) **DEV ve LOCAL fazları tamamlandı:** - Relay chain: ÇALIŞIYOR ✅ (2 validator consensus)