A "readiness checklist" for all Polywrap clients to adhere to.
| Feature ✔️ | Scenario 💭 | Required ❓ | Spec 📋 | JS 📜 | KT 🤖 | Swift 🦅 | RS 🦀 | PY 🐍 |
|---|---|---|---|---|---|---|---|---|
wrap:// URIs |
||||||||
Create & sanitize a wrap:// URI |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Client Configuration | ||||||||
| Add a wrap package | Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Add a plugin package | Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Add a plugin instance | Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Add a URI redirect | Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
| Add env variables | Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Add interface implementations | Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Add resolver | Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
| Add resolver ext | Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
| Invocation | ||||||||
| Invoke a wrap function (Wasm Runtime v0.1) |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Invoke a plugin function | Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
Subinvoke: wrap -> wrap |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
Subinvoke: wrap -> plugin |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
Subinvoke: plugin -> wrap |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
wrap:// Resolution |
||||||||
| Resolve a wrap package | Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
| Resolve a wrap instance | Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
| Resolve a redirect | Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
Resolve wrap://http/ &wrap://https/ |
Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
Resolve wrap://file/ &wrap://fs/ |
Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
Resolve wrap://ipfs/ |
Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
Resolve wrap://ens/ contenthash |
No | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
Resolve wrap://ens/ text-records |
No | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
Resolve wrap://wrapscan.io/ |
No | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
| WRAP Features | ||||||||
Wrap Env Variables |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Wrap Interface Invocations | Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| WRAP ABI Type Support | ||||||||
(U)Int(8|16|32) |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
String |
Yes | TODO | TODO | TODO | TODO | TODO | TODO | |
Bytes |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
Object |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | 🟡 | ✔️ | |
Enum |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
BigInt |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
BigNumber |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
JSON |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | 🟡 | ✔️ | |
Array<T> |
Yes | TODO | TODO | TODO | TODO | TODO | TODO | |
Map<K, V> |
Yes | 🔍 | ✔️ | ✔️ | ✔️ | 🟡 | ✔️ | |
| Error handling | ||||||||
| Invoke | Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
| Subinvoke | Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ | |
| Resolution | Yes | 🔍 | ✔️ | ❌ | ❌ | ✔️ | ✔️ |
./install.sh./run.sh [implementation] [feature]- implementation (e.g: js|rs|py)
- feature (e.g: resolve_http|uri) -> check specs for all features