> For the complete documentation index, see [llms.txt](https://docs.rome.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rome.builders/tr/rome-uzerindeki-uygulamalar/bloom/compliance.md).

# Uyum modeli

Bloom, Plume’un Arc çerçevesini değiştirilmeden çalıştırır. Uyumluluk **doğrudan token sözleşmesi tarafından uygulanır** — herhangi bir zincir dışı tarama, sıralayıcı filtresi veya platform politikasınca değil. Onu taşınabilir kılan özellik budur: kurallar token ile birlikte herhangi bir yürütme yoluna, her iki cüzdan hattında da taşınır.

## Uygulama mimarisi

```
ArcToken._update (her transfer/mint/burn)
   └─ RestrictionsRouter (zincir başına bir adet, modül türü kayıt defteri)
        ├─ TRANSFER_RESTRICTION → WhitelistRestrictions (token başına)
        ├─ YIELD_RESTRICTION    → YieldBlacklistRestrictions (token başına)
        └─ GLOBAL_SANCTIONS     → (slot mevcut; dağıtılmış genel modül yok)
```

* **WhitelistRestrictions** — izin listesi. İken `transfersAllowed` false ise (kapılı mod), taraflardan biri listede değilse transfer, tipli hata ile geri döner `TransferRestricted()` (`0xe827105e`). Kontrol, bakiyedeki her hareket sırasında tokenın içinde çalışır — bir EVM cüzdan transferi, Solana imzalı bir transfer, bir mağaza satışı ve ilk likidite hareketi aynı kapıdan geçer. İhraççının kendi yönetici yetkileri dışında bunun etrafından dolanacak bir yol yoktur.
* **YieldBlacklistRestrictions** — adresleri getiri dağıtımlarından hariç tutar; oransal payları token sözleşmesinde kalır.
* **GLOBAL\_SANCTIONS** — yönlendirici, her tokene uygulanan zincir geneli modülleri destekler (ör. bir yaptırım listesi). Bugün dağıtılmış hiçbir modül yok; bu slot, zincir düzeyinde işletilen bir modül için doğal yuvadır.

## Güven modeli, dürüstçe ifade edildiğinde

**Allowlist bayrağı, ihraççının zincir dışı kararıdır.** KYC/AML, ihraççının sürecinde gerçekleşir (onların tedarikçileri, onların kuralları); zincir ise *sonucu* — `isWhitelisted(addr)`. [Kabul ve inceleme](/tr/rome-uzerindeki-uygulamalar/bloom.md) bu kararın etrafındaki mekanizmadır — bir yatırımcının nasıl başvurduğu, ihraççının nasıl karar verdiği ve geride bıraktığı denetim izi — ve bu modeli değiştirmez: yine ihraççının takdiridir, zincirde hâlâ yalnızca bir boolean vardır ve hiçbir yerde belge yoktur. Bu, Plume’da kullanılan Arc çerçevesinin kendi modelidir. Bilerek *değil* bir zincir üstü kimlik sistemi değildir: kimlik beyanı yoktur, zincir üstü tasdik yoktur, bir adresin kime ait olduğuna dair kriptografik kanıt yoktur. Doğrulanabilir zincir üstü kimlik taşıyan standartlar (ör. ERC-3643) bu özellik uğruna belirgin biçimde daha ağır transferlerden vazgeçer; Arc ise daha hafif mekanikler karşılığında ihraççının elindeki güvene dayanır. Bloom bunu daha fazlasını ima etmek yerine dürüstçe ortaya koyar.

## İhraççı yetkileri (transfer ajanı benzeri)

`ArcToken.initialize` sihirbaz sürücüsüne tüm rolleri verir:

| Rol                                             | Yetki                                                                                            |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `ADMIN_ROLE` / `DEFAULT_ADMIN_ROLE`             | kısıtlama modüllerini bağla/değiştir, rolleri yönet                                              |
| `MINTER_ROLE` / `BURNER_ROLE`                   | arz yönetimi                                                                                     |
| `YIELD_MANAGER_ROLE` / `YIELD_DISTRIBUTOR_ROLE` | getiri tokenını ayarla, dağıtımları çalıştır                                                     |
| `UPGRADER_ROLE`                                 | tokenı UUPS ile yükselt (ihraççıda tutulur; fabrika aracılı yükseltmeler için fabrikaya verilir) |
| Whitelist modülü `WHITELIST_ADMIN_ROLE`         | adres ekle/kaldır, kapılı modu aç/kapat                                                          |

Bilinmesi gereken sonuçlar: bir **kaybolan yatırımcı cüzdanı** yalnızca ihraççı işlemiyle kurtarılabilir (bir yedek adresi whitelist'e ekleyin ve gerekirse kendi yasal süreçlerine göre mint/burn/yükseltme yetkilerini kullanın — Arc'ın yerleşik zorunlu transfer ilkesi yoktur). Bu nedenle ihraççının anahtar saklama düzeni uyumluluk duruşunun bir parçasıdır; uygulamanın rol görüntüleyicisi her yetkinin sahiplerini görünür kılar.

## Rome’un kattıkları — ve registerToken’ın korudukları

Solana cüzdanı kullanıcıları şu şekilde görünür: **sentetik EVM adresleri** (Solana genel anahtarlarından türetilmiştir). Uyumluluk katmanı için bunlar sıradan adreslerdir: ihraççı onları whitelist'e ekler, kapı onları denetler, getiri onlara ulaşır — tek bir allowlist her iki cüzdan dünyasını kapsar. Saklama etkileri [LANES.md](/tr/rome-uzerindeki-uygulamalar/bloom/lanes.md).

Rome işlem başına hesapları sınırlandırdığı için tokenlar parça parça dağıtılır ve fabrika statüsünü şu yolla kazanır: `ArcTokenFactoryV2.registerToken` tek seferlik olanın yerine `createToken`. Koruyucular üst akış güvenlik modelini aynen korur: token kanonik bir proxy olmalıdır (codehash), uygulaması fabrikanın whitelist’inde olmalıdır (codehash), çağıran taraf tokenın `ADMIN_ROLE`, ve kayıt işlemi yalnızca bir kez yapılır. Parça parça yol, uyumluluk yüzeyini hiçbir şekilde zayıflatmaz.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rome.builders/tr/rome-uzerindeki-uygulamalar/bloom/compliance.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
