@msafe/sui-app-store 0.0.362 → 0.0.364
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +84 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,19 +10,48 @@
|
|
|
10
10
|
<tr>
|
|
11
11
|
<td align="center">
|
|
12
12
|
|
|
13
|
-
###
|
|
13
|
+
### Integration is now the same as any Sui wallet
|
|
14
14
|
|
|
15
|
-
**
|
|
15
|
+
You **do not write a helper**. You **do not wait for this package to publish**. You build a real `Transaction` in your dApp — the same object you already send to Slush — and submit it with `@msafe/sui-wallet`.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Writing a helper, forking `src/apps/**`, or opening a PR here will **not** list your dApp.
|
|
18
18
|
|
|
19
|
-
**
|
|
20
|
-
**
|
|
19
|
+
**New listing → [What you gain](#what-you-gain-in-this-version)** then [Current integration](#current-integration)
|
|
20
|
+
**Already started a helper → [How to change your dApp](#how-to-change-your-dapp)**
|
|
21
|
+
**Have an agent do the edit → [Prompt for your coding agent](#prompt-for-your-coding-agent)**
|
|
21
22
|
|
|
22
23
|
</td>
|
|
23
24
|
</tr>
|
|
24
25
|
</table>
|
|
25
26
|
|
|
27
|
+
> [!TIP]
|
|
28
|
+
> **This version’s point:** drop the adapter. If your dApp can sign with a normal wallet, it can sign with MSafe. Listing is a store card (name, icon, URL), usually done in a day — not a week of helper review and an MSafe release.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## What you gain in this version
|
|
33
|
+
|
|
34
|
+
The old path existed because a queued multisig tx had to be **rebuilt** later, so every protocol needed an MSafe-owned helper. That is no longer how new apps enter the store. You submit the finished transaction once; MSafe simulates, votes, and executes **that** PTB.
|
|
35
|
+
|
|
36
|
+
| | ~~Before (helper)~~ | **Now (wallet `Transaction`)** |
|
|
37
|
+
| --- | --- | --- |
|
|
38
|
+
| What you write | Intention class + `deserialize` / `build` + tests + PR in **this** repo | The PTB you already build for other wallets |
|
|
39
|
+
| Extra dependency | `@msafe/sui-app-store` + `appContext` | `@msafe/sui-wallet` only |
|
|
40
|
+
| Who ships your adapter | MSafe reviews, merges, and **publishes a new app-store version** | **Nobody.** There is no adapter. |
|
|
41
|
+
| Time to first live tx | Often **weeks** (review + our release train) | **Days** — usually the time to wire the wallet and send a card |
|
|
42
|
+
| Blocked on | Our sprint, this repo’s CI, npm publish | Your own PTB being correct |
|
|
43
|
+
| Mysten / protocol SDK upgrades | Helper in this repo had to follow; you waited on us | You upgrade **your** dApp; we are not in the loop |
|
|
44
|
+
| Three new protocols at once | Three helper PRs, serialized on our side | Three teams in parallel; we only add three cards |
|
|
45
|
+
|
|
46
|
+
**You delete work, you do not add a new integration style.**
|
|
47
|
+
|
|
48
|
+
- No `BaseIntention` / `YourHelper` / `src/apps/<name>`
|
|
49
|
+
- No empty `new Transaction()` + `appContext` so we can rebuild later
|
|
50
|
+
- No “please merge our helper” email
|
|
51
|
+
- No holding a launch for `@msafe/sui-app-store@x.y.z`
|
|
52
|
+
|
|
53
|
+
Users still get the full multisig flow (simulate → approve → execute). New apps use a generic transaction view instead of a custom swap card. That is the trade for **not** being on our release calendar.
|
|
54
|
+
|
|
26
55
|
> [!CAUTION]
|
|
27
56
|
> **DEPRECATED:** `BaseIntention`, `IAppHelperInternal`, `src/apps/<your-app>`, `appContext`, and “fork this repo + wait for our release” are retired for **all new listings**.
|
|
28
57
|
>
|
|
@@ -33,6 +62,56 @@ MSafe no longer accepts new App Store adapters. Integrate the same way you integ
|
|
|
33
62
|
|
|
34
63
|
---
|
|
35
64
|
|
|
65
|
+
## Prompt for your coding agent
|
|
66
|
+
|
|
67
|
+
Copy the block below into Cursor, Claude, Codex, or any repo agent. It will read this README and apply the migration in **your dApp** (not in `msafe-sui-app-store`).
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
You are migrating this dApp onto the current MSafe store integration.
|
|
71
|
+
|
|
72
|
+
1. Read this README first and treat it as the only spec:
|
|
73
|
+
https://github.com/Momentum-Safe/msafe-sui-app-store/blob/main/README.md
|
|
74
|
+
If the user attached or opened a local copy of that README, use the local copy.
|
|
75
|
+
Follow “How to change your dApp” and “Current integration”.
|
|
76
|
+
Ignore the collapsed “DEPRECATED archive”. Do not implement a helper.
|
|
77
|
+
|
|
78
|
+
2. Goal: MSafe is a normal Sui wallet. We submit a fully assembled Transaction.
|
|
79
|
+
We do NOT write BaseIntention / IAppHelperInternal / src/apps helpers.
|
|
80
|
+
We do NOT open a PR against Momentum-Safe/msafe-sui-app-store.
|
|
81
|
+
We do NOT wait for @msafe/sui-app-store to publish.
|
|
82
|
+
|
|
83
|
+
3. Search the repo for and remove MSafe-helper-only code:
|
|
84
|
+
- imports of @msafe/sui-app-store, appHelpers, BaseIntention, IAppHelperInternal
|
|
85
|
+
- appContext passed into signTransaction / signAndExecuteTransaction / signTransactionBlock
|
|
86
|
+
- empty `new Transaction()` (or TransactionBlock) created only so a helper can build() later
|
|
87
|
+
- local forks or copies of msafe-sui-app-store helpers
|
|
88
|
+
Keep protocol SDKs and the real PTB those SDKs already produce.
|
|
89
|
+
|
|
90
|
+
4. Implement the wallet path:
|
|
91
|
+
- Add @msafe/sui-wallet if missing.
|
|
92
|
+
- Register once at app startup:
|
|
93
|
+
registerWallet(new MSafeWallet('<stable-app-name>', rpcUrl, 'sui:mainnet' | 'sui:testnet'));
|
|
94
|
+
Use a stable app name (same string we will put on the MSafe store card).
|
|
95
|
+
- Connect with @mysten/dapp-kit or wallet-standard, same as other wallets.
|
|
96
|
+
- Every MSafe sign call must pass a Transaction with commands.length > 0.
|
|
97
|
+
- tx.setSender(...) must be the connected MSafe multisig address.
|
|
98
|
+
- Do not pass appContext.
|
|
99
|
+
- Prefer signTransaction / signAndExecuteTransaction. Do not expect a digest:
|
|
100
|
+
signAndExecuteTransaction only proposes; owners vote and execute inside MSafe.
|
|
101
|
+
|
|
102
|
+
5. Remove @msafe/sui-app-store from package.json / lockfile if nothing else needs it.
|
|
103
|
+
|
|
104
|
+
6. Do not edit files under a clone of msafe-sui-app-store to “register” us.
|
|
105
|
+
After code lands, tell the human what to send MSafe for the store card:
|
|
106
|
+
app name, icon, production URL.
|
|
107
|
+
|
|
108
|
+
7. When done, list changed files and remaining checklist items from the README.
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
After the agent finishes: send MSafe the app name, icon, and production URL so the store card can go up.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
36
115
|
## How to change your dApp
|
|
37
116
|
|
|
38
117
|
Use this section if your team followed the old README: created an intention class, a helper, `appContext`, or a PR against this repo.
|