@meddleware/docs 0.0.1 → 0.0.3

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.
Files changed (136) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/docs/.vitepress/config.ts +46 -29
  3. package/docs/blockchain/index.md +18 -0
  4. package/docs/blockchain/sui/access-gate/api/typedoc-sidebar.json +1 -0
  5. package/docs/{access-gate → blockchain/sui/access-gate}/index.md +5 -5
  6. package/docs/{access-gate → blockchain/sui/access-gate}/reference.md +5 -6
  7. package/docs/{access-gate → blockchain/sui/access-gate}/using.md +2 -2
  8. package/docs/{architecture.md → blockchain/sui/architecture.md} +6 -6
  9. package/docs/{dao → blockchain/sui/dao}/index.md +2 -2
  10. package/docs/{dao → blockchain/sui/dao}/reference.md +3 -3
  11. package/docs/{getting-started.md → blockchain/sui/getting-started.md} +5 -5
  12. package/docs/blockchain/sui/index.md +41 -0
  13. package/docs/blockchain/sui/sealed-storage/api/typedoc-sidebar.json +1 -0
  14. package/docs/{sealed-storage → blockchain/sui/sealed-storage}/index.md +8 -8
  15. package/docs/{sealed-storage → blockchain/sui/sealed-storage}/policies.md +3 -3
  16. package/docs/{sealed-storage → blockchain/sui/sealed-storage}/reference.md +2 -2
  17. package/docs/{sealed-storage → blockchain/sui/sealed-storage}/using.md +2 -2
  18. package/docs/blockchain/sui/walrus-storage/api/typedoc-sidebar.json +1 -0
  19. package/docs/{walrus-storage → blockchain/sui/walrus-storage}/index.md +5 -5
  20. package/docs/{walrus-storage → blockchain/sui/walrus-storage}/reference.md +3 -3
  21. package/docs/{walrus-storage → blockchain/sui/walrus-storage}/using.md +4 -4
  22. package/docs/index.md +14 -47
  23. package/package.json +2 -2
  24. package/scripts/gen-api.mjs +3 -3
  25. package/docs/access-gate/api/typedoc-sidebar.json +0 -1
  26. package/docs/sealed-storage/api/typedoc-sidebar.json +0 -1
  27. package/docs/walrus-storage/api/typedoc-sidebar.json +0 -1
  28. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildAccessProof.md +0 -0
  29. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildAirdropTx.md +0 -0
  30. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildConsumeTx.md +0 -0
  31. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildCreateGateTx.md +0 -0
  32. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildMakeGateImmutableTx.md +0 -0
  33. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildPurchaseTx.md +0 -0
  34. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildSetAutoBurnAtZeroTx.md +0 -0
  35. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildSetDefaultUsesTx.md +0 -0
  36. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildSetNftDescriptionTx.md +0 -0
  37. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildSetNftImageUrlTx.md +0 -0
  38. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildSetNftNameTx.md +0 -0
  39. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildSetPausedTx.md +0 -0
  40. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildSetPaymentRecipientTx.md +0 -0
  41. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildSetPriceTx.md +0 -0
  42. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/buildSetSoulboundTx.md +0 -0
  43. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/decodeAccessProof.md +0 -0
  44. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/encodeAccessProof.md +0 -0
  45. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/fetchAccessNftById.md +0 -0
  46. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/fetchAccessNfts.md +0 -0
  47. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/fetchAdminCaps.md +0 -0
  48. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/fetchChallenge.md +0 -0
  49. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/fetchGate.md +0 -0
  50. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/fetchOwnedGates.md +0 -0
  51. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/ownsAccessNft.md +0 -0
  52. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/parseAdminCap.md +0 -0
  53. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/parseGate.md +0 -0
  54. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/parseOwnedAccessNft.md +0 -0
  55. /package/docs/{access-gate → blockchain/sui/access-gate}/api/functions/personalMessageForNonce.md +0 -0
  56. /package/docs/{access-gate → blockchain/sui/access-gate}/api/index.md +0 -0
  57. /package/docs/{access-gate → blockchain/sui/access-gate}/api/interfaces/AccessGateConfig.md +0 -0
  58. /package/docs/{access-gate → blockchain/sui/access-gate}/api/interfaces/AccessProof.md +0 -0
  59. /package/docs/{access-gate → blockchain/sui/access-gate}/api/interfaces/Challenge.md +0 -0
  60. /package/docs/{access-gate → blockchain/sui/access-gate}/api/interfaces/GateAdminContext.md +0 -0
  61. /package/docs/{access-gate → blockchain/sui/access-gate}/api/interfaces/OwnedAccessNft.md +0 -0
  62. /package/docs/{access-gate → blockchain/sui/access-gate}/api/interfaces/OwnedGate.md +0 -0
  63. /package/docs/{access-gate → blockchain/sui/access-gate}/api/interfaces/OwnedObjectsClient.md +0 -0
  64. /package/docs/{access-gate → blockchain/sui/access-gate}/api/interfaces/SuiObjectClient.md +0 -0
  65. /package/docs/{access-gate → blockchain/sui/access-gate}/api/type-aliases/PersonalMessageSigner.md +0 -0
  66. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/classes/PolicyRegistry.md +0 -0
  67. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/classes/SealController.md +0 -0
  68. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/functions/buildPublishSealedContentTx.md +0 -0
  69. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/functions/bytesToHex.md +0 -0
  70. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/functions/concatBytes.md +0 -0
  71. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/functions/createDefaultRegistry.md +0 -0
  72. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/functions/createNftGateProvider.md +0 -0
  73. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/functions/hexToBytes.md +0 -0
  74. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/functions/objectIdBytes.md +0 -0
  75. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/functions/randomBytes.md +0 -0
  76. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/functions/sealedContentEventType.md +0 -0
  77. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/functions/u64beBytes.md +0 -0
  78. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/index.md +0 -0
  79. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/EncryptResult.md +0 -0
  80. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/FieldSpec.md +0 -0
  81. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/FieldSuggestion.md +0 -0
  82. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/KeyServerConfig.md +0 -0
  83. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/NftGateParams.md +0 -0
  84. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/PolicyDescriptor.md +0 -0
  85. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/SealControllerConfig.md +0 -0
  86. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/SealPolicyProvider.md +0 -0
  87. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/SealSuggestClient.md +0 -0
  88. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/SealedContentInput.md +0 -0
  89. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/SealedContentPointer.md +0 -0
  90. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/SealedManifest.md +0 -0
  91. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/SuggestContext.md +0 -0
  92. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/interfaces/TimeLockParams.md +0 -0
  93. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/type-aliases/SignPersonalMessage.md +0 -0
  94. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/variables/nftGateProvider.md +0 -0
  95. /package/docs/{sealed-storage → blockchain/sui/sealed-storage}/api/variables/timeLockProvider.md +0 -0
  96. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/classes/RetryableWalrusClientError.md +0 -0
  97. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/classes/WalrusFile.md +0 -0
  98. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/buildAccessProofToken.md +0 -0
  99. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/certifyBlobTransaction.md +0 -0
  100. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/createBlobUploadFlow.md +0 -0
  101. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/createRelayAccessToken.md +0 -0
  102. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/createUploadFlow.md +0 -0
  103. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/createWalrusClient.md +0 -0
  104. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/estimateStorageCost.md +0 -0
  105. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/extendBlobLifetime.md +0 -0
  106. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/extendBlobLifetimeTransaction.md +0 -0
  107. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/fetchOwnedWalrusBlobs.md +0 -0
  108. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/fetchRelayChallenge.md +0 -0
  109. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/getWalrusPackageConfig.md +0 -0
  110. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/personalMessageForNonce.md +0 -0
  111. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/readBlobAttributes.md +0 -0
  112. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/setBlobAttributes.md +0 -0
  113. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/setBlobAttributesTransaction.md +0 -0
  114. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/uploadBytes.md +0 -0
  115. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/uploadImageBytes.md +0 -0
  116. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/uploadLocalFile.md +0 -0
  117. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/functions/walrusBlobUrl.md +0 -0
  118. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/index.md +0 -0
  119. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/interfaces/CertifyOptions.md +0 -0
  120. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/interfaces/StorageCost.md +0 -0
  121. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/type-aliases/AccessProofInput.md +0 -0
  122. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/type-aliases/CreateWalrusClientOptions.md +0 -0
  123. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/type-aliases/ExtendOptions.md +0 -0
  124. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/type-aliases/OwnedBlob.md +0 -0
  125. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/type-aliases/PersonalMessageSigner.md +0 -0
  126. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/type-aliases/RelayChallenge.md +0 -0
  127. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/type-aliases/UploadOptions.md +0 -0
  128. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/type-aliases/UploadResult.md +0 -0
  129. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/type-aliases/WalrusClient.md +0 -0
  130. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/type-aliases/WalrusNetwork.md +0 -0
  131. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/variables/DEFAULT_RPC_URLS.md +0 -0
  132. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/variables/LONG_TERM_EPOCHS.md +0 -0
  133. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/variables/MAINNET_WALRUS_PACKAGE_CONFIG.md +0 -0
  134. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/variables/PUBLIC_UPLOAD_RELAY_HOSTS.md +0 -0
  135. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/variables/TESTNET_WALRUS_PACKAGE_CONFIG.md +0 -0
  136. /package/docs/{walrus-storage → blockchain/sui/walrus-storage}/api/variables/WALRUS_AGGREGATOR_HOSTS.md +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  All notable changes to `@meddleware/docs` are documented here.
4
4
 
5
+ ## [0.0.3] — 2026-09-17
6
+
7
+ Restructured to a blockchain-agnostic architecture with Sui as the first active chain.
8
+
9
+ - All Sui content moved under `/blockchain/sui/` URL hierarchy
10
+ - New blockchain-agnostic home page — hero + Sui card + "more blockchains coming soon" card
11
+ - New `/blockchain/` chain picker landing page
12
+ - New `/blockchain/sui/` Sui section landing page
13
+ - Navbar: `Blockchain` dropdown (Active / Coming soon groups) + `Sui Tools` dropdown
14
+ - Sidebar: per-path keyed — full Sui sidebar under `/blockchain/sui/`, minimal chain sidebar under `/blockchain/`
15
+ - Removed all references to the inactive `dev.meddleware.co.uk` URL; replaced with "forthcoming developer documentation"
16
+ - Bumped gen-api autodoc output paths to match new `/blockchain/sui/` hierarchy
17
+
5
18
  ## [0.0.1] — 2026-09-17
6
19
 
7
20
  Initial release. VitePress documentation site for `docs.meddleware.co.uk` covering the four
@@ -1,19 +1,19 @@
1
1
  import { defineConfig } from 'vitepress'
2
2
  import { fileURLToPath } from 'node:url'
3
3
 
4
- // User-facing documentation for the Meddleware Sui tools. One site, one section per service.
5
- // Output is pinned to the repo-root dist/ so the Dockerfile's `COPY --from=build /app/dist`
6
- // (the shared static-server image pattern) works unchanged.
4
+ // User-facing documentation for the Meddleware developer tools. Blockchain-agnostic site with
5
+ // per-chain sections; Sui is the first active chain. Output is pinned to the repo-root dist/ so
6
+ // the Dockerfile's `COPY --from=build /app/dist` (shared static-server pattern) works unchanged.
7
7
  const outDir = fileURLToPath(new URL('../../dist', import.meta.url))
8
8
 
9
9
  export default defineConfig({
10
10
  title: 'Meddleware Docs',
11
11
  description:
12
- 'How to use the Meddleware Sui tools the DAO console, Walrus Storage, Sealed Storage, and Access Gate.',
12
+ 'Developer tools for decentralised applications documentation for the Meddleware Sui platform and beyond.',
13
13
  lang: 'en-GB',
14
14
  outDir,
15
15
  cleanUrls: true,
16
- lastUpdated: true,
16
+ lastUpdated: false,
17
17
  // The per-service `api/` subtrees are generated at build time by scripts/gen-api.mjs (TypeDoc);
18
18
  // their exact filenames depend on the TypeDoc version, so don't fail the build on links into them.
19
19
  ignoreDeadLinks: [/\/api\//],
@@ -25,13 +25,21 @@ export default defineConfig({
25
25
  search: { provider: 'local' },
26
26
 
27
27
  nav: [
28
- { text: 'Start here', link: '/getting-started' },
29
- { text: 'DAO', link: '/dao/' },
30
- { text: 'Walrus Storage', link: '/walrus-storage/' },
31
- { text: 'Sealed Storage', link: '/sealed-storage/' },
32
- { text: 'Access Gate', link: '/access-gate/' },
33
28
  {
34
- text: 'Tools',
29
+ text: 'Blockchain',
30
+ items: [
31
+ {
32
+ text: 'Active',
33
+ items: [{ text: 'Sui', link: '/blockchain/sui/' }],
34
+ },
35
+ {
36
+ text: 'Coming soon',
37
+ items: [{ text: 'More blockchains', link: '/blockchain/' }],
38
+ },
39
+ ],
40
+ },
41
+ {
42
+ text: 'Sui Tools',
35
43
  items: [
36
44
  { text: 'Tools hub', link: 'https://sui.meddleware.co.uk' },
37
45
  { text: 'DAO console', link: 'https://sui-dao.meddleware.co.uk' },
@@ -43,49 +51,58 @@ export default defineConfig({
43
51
  ],
44
52
 
45
53
  sidebar: {
46
- '/': [
54
+ '/blockchain/sui/': [
47
55
  {
48
- text: 'Introduction',
56
+ text: 'Sui',
49
57
  items: [
50
- { text: 'Overview', link: '/' },
51
- { text: 'Getting started', link: '/getting-started' },
52
- { text: 'How the tools fit together', link: '/architecture' },
58
+ { text: 'Overview', link: '/blockchain/sui/' },
59
+ { text: 'Getting started', link: '/blockchain/sui/getting-started' },
60
+ { text: 'How the tools fit together', link: '/blockchain/sui/architecture' },
53
61
  ],
54
62
  },
55
63
  {
56
64
  text: 'DAO',
57
65
  collapsed: false,
58
66
  items: [
59
- { text: 'Overview', link: '/dao/' },
60
- { text: 'Reference', link: '/dao/reference' },
67
+ { text: 'Overview', link: '/blockchain/sui/dao/' },
68
+ { text: 'Reference', link: '/blockchain/sui/dao/reference' },
61
69
  ],
62
70
  },
63
71
  {
64
72
  text: 'Walrus Storage',
65
73
  collapsed: false,
66
74
  items: [
67
- { text: 'Overview', link: '/walrus-storage/' },
68
- { text: 'Using it', link: '/walrus-storage/using' },
69
- { text: 'Reference', link: '/walrus-storage/reference' },
75
+ { text: 'Overview', link: '/blockchain/sui/walrus-storage/' },
76
+ { text: 'Using it', link: '/blockchain/sui/walrus-storage/using' },
77
+ { text: 'Reference', link: '/blockchain/sui/walrus-storage/reference' },
70
78
  ],
71
79
  },
72
80
  {
73
81
  text: 'Sealed Storage',
74
82
  collapsed: false,
75
83
  items: [
76
- { text: 'Overview', link: '/sealed-storage/' },
77
- { text: 'Using it', link: '/sealed-storage/using' },
78
- { text: 'Policies', link: '/sealed-storage/policies' },
79
- { text: 'Reference', link: '/sealed-storage/reference' },
84
+ { text: 'Overview', link: '/blockchain/sui/sealed-storage/' },
85
+ { text: 'Using it', link: '/blockchain/sui/sealed-storage/using' },
86
+ { text: 'Policies', link: '/blockchain/sui/sealed-storage/policies' },
87
+ { text: 'Reference', link: '/blockchain/sui/sealed-storage/reference' },
80
88
  ],
81
89
  },
82
90
  {
83
91
  text: 'Access Gate',
84
92
  collapsed: false,
85
93
  items: [
86
- { text: 'Overview', link: '/access-gate/' },
87
- { text: 'Using it', link: '/access-gate/using' },
88
- { text: 'Reference', link: '/access-gate/reference' },
94
+ { text: 'Overview', link: '/blockchain/sui/access-gate/' },
95
+ { text: 'Using it', link: '/blockchain/sui/access-gate/using' },
96
+ { text: 'Reference', link: '/blockchain/sui/access-gate/reference' },
97
+ ],
98
+ },
99
+ ],
100
+ '/blockchain/': [
101
+ {
102
+ text: 'Blockchains',
103
+ items: [
104
+ { text: 'Overview', link: '/blockchain/' },
105
+ { text: 'Sui', link: '/blockchain/sui/' },
89
106
  ],
90
107
  },
91
108
  ],
@@ -94,7 +111,7 @@ export default defineConfig({
94
111
  socialLinks: [{ icon: 'github', link: 'https://github.com/meddleware-org' }],
95
112
 
96
113
  footer: {
97
- message: 'Documentation for the Meddleware Sui tools.',
114
+ message: 'Documentation for the Meddleware developer tools.',
98
115
  copyright: 'Meddleware · 0BSD',
99
116
  },
100
117
  },
@@ -0,0 +1,18 @@
1
+ # Blockchains
2
+
3
+ Meddleware builds developer tools across blockchain ecosystems. This page is your starting point for
4
+ blockchain-specific documentation.
5
+
6
+ ## Available now
7
+
8
+ ### Sui
9
+
10
+ Four tools, one connected platform — decentralised storage, threshold encryption, NFT access control,
11
+ and a transparent DAO console. Built for Sui's object model and Walrus decentralised storage.
12
+
13
+ **[Go to the Sui docs →](/blockchain/sui/)**
14
+
15
+ ## Coming soon
16
+
17
+ More blockchain ecosystems are being evaluated. The platform is designed from the ground up to be
18
+ blockchain-agnostic, so new chains can be added without changing the existing tooling.
@@ -0,0 +1 @@
1
+ [{"text":"Interfaces","collapsed":true,"items":[{"text":"AccessGateConfig","link":"/docs/blockchain/sui/access-gate/api/interfaces/AccessGateConfig.md"},{"text":"AccessProof","link":"/docs/blockchain/sui/access-gate/api/interfaces/AccessProof.md"},{"text":"Challenge","link":"/docs/blockchain/sui/access-gate/api/interfaces/Challenge.md"},{"text":"GateAdminContext","link":"/docs/blockchain/sui/access-gate/api/interfaces/GateAdminContext.md"},{"text":"OwnedAccessNft","link":"/docs/blockchain/sui/access-gate/api/interfaces/OwnedAccessNft.md"},{"text":"OwnedGate","link":"/docs/blockchain/sui/access-gate/api/interfaces/OwnedGate.md"},{"text":"OwnedObjectsClient","link":"/docs/blockchain/sui/access-gate/api/interfaces/OwnedObjectsClient.md"},{"text":"SuiObjectClient","link":"/docs/blockchain/sui/access-gate/api/interfaces/SuiObjectClient.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"PersonalMessageSigner","link":"/docs/blockchain/sui/access-gate/api/type-aliases/PersonalMessageSigner.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"buildAccessProof","link":"/docs/blockchain/sui/access-gate/api/functions/buildAccessProof.md"},{"text":"buildAirdropTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildAirdropTx.md"},{"text":"buildConsumeTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildConsumeTx.md"},{"text":"buildCreateGateTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildCreateGateTx.md"},{"text":"buildMakeGateImmutableTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildMakeGateImmutableTx.md"},{"text":"buildPurchaseTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildPurchaseTx.md"},{"text":"buildSetAutoBurnAtZeroTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildSetAutoBurnAtZeroTx.md"},{"text":"buildSetDefaultUsesTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildSetDefaultUsesTx.md"},{"text":"buildSetNftDescriptionTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildSetNftDescriptionTx.md"},{"text":"buildSetNftImageUrlTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildSetNftImageUrlTx.md"},{"text":"buildSetNftNameTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildSetNftNameTx.md"},{"text":"buildSetPausedTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildSetPausedTx.md"},{"text":"buildSetPaymentRecipientTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildSetPaymentRecipientTx.md"},{"text":"buildSetPriceTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildSetPriceTx.md"},{"text":"buildSetSoulboundTx","link":"/docs/blockchain/sui/access-gate/api/functions/buildSetSoulboundTx.md"},{"text":"decodeAccessProof","link":"/docs/blockchain/sui/access-gate/api/functions/decodeAccessProof.md"},{"text":"encodeAccessProof","link":"/docs/blockchain/sui/access-gate/api/functions/encodeAccessProof.md"},{"text":"fetchAccessNftById","link":"/docs/blockchain/sui/access-gate/api/functions/fetchAccessNftById.md"},{"text":"fetchAccessNfts","link":"/docs/blockchain/sui/access-gate/api/functions/fetchAccessNfts.md"},{"text":"fetchAdminCaps","link":"/docs/blockchain/sui/access-gate/api/functions/fetchAdminCaps.md"},{"text":"fetchChallenge","link":"/docs/blockchain/sui/access-gate/api/functions/fetchChallenge.md"},{"text":"fetchGate","link":"/docs/blockchain/sui/access-gate/api/functions/fetchGate.md"},{"text":"fetchOwnedGates","link":"/docs/blockchain/sui/access-gate/api/functions/fetchOwnedGates.md"},{"text":"ownsAccessNft","link":"/docs/blockchain/sui/access-gate/api/functions/ownsAccessNft.md"},{"text":"parseAdminCap","link":"/docs/blockchain/sui/access-gate/api/functions/parseAdminCap.md"},{"text":"parseGate","link":"/docs/blockchain/sui/access-gate/api/functions/parseGate.md"},{"text":"parseOwnedAccessNft","link":"/docs/blockchain/sui/access-gate/api/functions/parseOwnedAccessNft.md"},{"text":"personalMessageForNonce","link":"/docs/blockchain/sui/access-gate/api/functions/personalMessageForNonce.md"}]}]
@@ -19,8 +19,8 @@ There are two perspectives:
19
19
 
20
20
  - You want to **sell access** — a paid community, premium content, a members' area.
21
21
  - You want to **gate an API or app** behind on-chain ownership (pair it with the
22
- [nft-gate gateway](/access-gate/reference), which puts any HTTP service behind a gate).
23
- - You want to gate **encrypted content** — combine it with [Sealed Storage](/sealed-storage/), where
22
+ [nft-gate gateway](/blockchain/sui/access-gate/reference), which puts any HTTP service behind a gate).
23
+ - You want to gate **encrypted content** — combine it with [Sealed Storage](/blockchain/sui/sealed-storage/), where
24
24
  a pass becomes the key.
25
25
  - You want **single-use tickets** or **memberships** represented as NFTs.
26
26
 
@@ -52,10 +52,10 @@ identity and not resold. The non-transferability is enforced at the contract lev
52
52
 
53
53
  Every purchase routes a commission (in basis points, capped on-chain at 10%) to the platform
54
54
  treasury; the rest goes to the operator. The rate is set in shared on-chain config and shown in the
55
- [DAO console](/dao/). Operators don't set the commission — only the price.
55
+ [DAO console](/blockchain/sui/dao/). Operators don't set the commission — only the price.
56
56
 
57
57
  ## Next
58
58
 
59
- - **[Using it](/access-gate/using)** — create and manage a gate; buy and use a pass.
60
- - **[Reference](/access-gate/reference)** — objects, entry functions, events, the gateway, and the
59
+ - **[Using it](/blockchain/sui/access-gate/using)** — create and manage a gate; buy and use a pass.
60
+ - **[Reference](/blockchain/sui/access-gate/reference)** — objects, entry functions, events, the gateway, and the
61
61
  SDK API.
@@ -67,7 +67,7 @@ Owned capability authorising management of one gate (`{ gate_id }`). Authorisati
67
67
  ::: warning Event pruning
68
68
  Sui testnet prunes old events after ~3 months. Systems that need a reliable gate list should read
69
69
  **`AdminCap` ownership → `Gate`** rather than replaying `GateCreatedEvent` (this is what the
70
- [DAO console](/dao/) does).
70
+ [DAO console](/blockchain/sui/dao/) does).
71
71
  :::
72
72
 
73
73
  ## Error codes
@@ -94,7 +94,7 @@ signed proof and on-chain pass ownership, failing **closed** on any ambiguity.
94
94
 
95
95
  The gateway consumes the nonce immediately (single-use replay protection) and, for single-use passes,
96
96
  verifies the on-chain consumption by digest. Two wire-identical implementations exist (Cloudflare
97
- Workers and Rust); running one is a [self-host / `dev.`](#developer-note) topic.
97
+ Workers and Rust); running one is covered in the forthcoming developer documentation.
98
98
 
99
99
  ## SDK API
100
100
 
@@ -105,7 +105,6 @@ airdrop, admin setters), ownership reads, and the challenge/proof helpers — is
105
105
 
106
106
  ## Developer note
107
107
 
108
- Deploying the gateway, integrating the SDK into your own app, and white-label operation are
109
- `dev.meddleware.co.uk` topics, planned in the `access-gate-sui`, `nft-gate`, and `nft-gate-client`
110
- package docs. This page is the on-chain contract and wire-protocol reference users and bots can rely
111
- on.
108
+ Deploying the gateway, integrating the SDK into your own app, and white-label operation are covered
109
+ in the forthcoming developer documentation. This page is the on-chain contract and wire-protocol
110
+ reference users and bots can rely on.
@@ -5,7 +5,7 @@ Two audiences: **operators** who run gates, and **buyers** who hold passes.
5
5
  ## For operators
6
6
 
7
7
  Manage gates in the [operator console](https://sui-access-gate.meddleware.co.uk). You'll need a
8
- [Sui wallet](/getting-started).
8
+ [Sui wallet](/blockchain/sui/getting-started).
9
9
 
10
10
  ### Create a gate
11
11
 
@@ -53,7 +53,7 @@ receive the pass NFT. Overpayment is refunded automatically.
53
53
 
54
54
  ### Use a pass to unlock encrypted content
55
55
 
56
- If content was sealed to a gate with [Sealed Storage](/sealed-storage/), holding a valid pass lets you
56
+ If content was sealed to a gate with [Sealed Storage](/blockchain/sui/sealed-storage/), holding a valid pass lets you
57
57
  **decrypt** it — provide your pass when unlocking.
58
58
 
59
59
  ## Common questions
@@ -1,4 +1,4 @@
1
- # How the tools fit together
1
+ # How the Sui tools fit together
2
2
 
3
3
  The four tools are useful on their own, but they're designed to compose. This page shows how.
4
4
 
@@ -13,7 +13,7 @@ The four tools are useful on their own, but they're designed to compose. This pa
13
13
 
14
14
  ## Sealed Storage = Walrus + Seal + Access Gate
15
15
 
16
- The clearest example of composition is **[Sealed Storage](/sealed-storage/)**. When you seal a file:
16
+ The clearest example of composition is **[Sealed Storage](/blockchain/sui/sealed-storage/)**. When you seal a file:
17
17
 
18
18
  1. **Seal** encrypts it in your browser, under a **policy** you choose.
19
19
  2. **Walrus** stores the resulting ciphertext — publicly, because it's useless without the key.
@@ -36,14 +36,14 @@ So an Access Gate pass can act as the key to encrypted Walrus content — three
36
36
 
37
37
  ## How gated Walrus uploads work
38
38
 
39
- **[Walrus Storage](/walrus-storage/)** can route uploads through a **relay**. Meddleware's relay can
39
+ **[Walrus Storage](/blockchain/sui/walrus-storage/)** can route uploads through a **relay**. Meddleware's relay can
40
40
  be **gated** by an Access Gate NFT: you prove you hold a valid pass, and the relay accepts your
41
41
  upload. A commission on gate purchases funds the service. If you don't need the gated relay, uploads
42
42
  fall back to the public relay.
43
43
 
44
44
  ## Where the DAO fits
45
45
 
46
- The **[DAO console](/dao/)** doesn't create anything — it *observes*. It reads the platform's
46
+ The **[DAO console](/blockchain/sui/dao/)** doesn't create anything — it *observes*. It reads the platform's
47
47
  on-chain configuration: the treasury address, the **commission rate** charged on Access Gate
48
48
  purchases, the community gates the treasury controls, and a live feed of gate activity (passes sold,
49
49
  used, burned). It's the transparency window over the Access Gate economics.
@@ -57,5 +57,5 @@ capability can. This is the pattern throughout: **economics live in the smart co
57
57
 
58
58
  ## Next
59
59
 
60
- - [DAO](/dao/) · [Walrus Storage](/walrus-storage/) · [Sealed Storage](/sealed-storage/) ·
61
- [Access Gate](/access-gate/)
60
+ - [DAO](/blockchain/sui/dao/) · [Walrus Storage](/blockchain/sui/walrus-storage/) · [Sealed Storage](/blockchain/sui/sealed-storage/) ·
61
+ [Access Gate](/blockchain/sui/access-gate/)
@@ -23,7 +23,7 @@ You do **not** need to connect a wallet to browse it — everything shown is pub
23
23
  - You hold a platform admin capability and want to confirm the tool **detects** it (see
24
24
  [Governance](#governance)).
25
25
 
26
- If you want to *create* a gate, that's the [Access Gate](/access-gate/) tool, not this one.
26
+ If you want to *create* a gate, that's the [Access Gate](/blockchain/sui/access-gate/) tool, not this one.
27
27
 
28
28
  ## The tabs
29
29
 
@@ -62,7 +62,7 @@ The console finds gates by looking up the **admin capabilities** the treasury ow
62
62
  gate each one controls — rather than replaying historical events. This matters because Sui testnet
63
63
  **prunes** old events after a few months, which would otherwise make a naive event-based count read
64
64
  as zero. The capability-based approach always reflects live reality. (The technical details are in
65
- [Reference](/dao/reference).)
65
+ [Reference](/blockchain/sui/dao/reference).)
66
66
 
67
67
  ## Commission, in one line
68
68
 
@@ -88,7 +88,7 @@ When it ships, proposals will be read from its registry; the console's display s
88
88
  stable so wiring it in won't change the UI.
89
89
 
90
90
  ::: tip Developer note
91
- Full SDK/contract API reference (entry functions, exhaustive event schemas) is being consolidated for
92
- `dev.meddleware.co.uk`. The [Access Gate reference](/access-gate/reference) already lists the gate
93
- contract's entry points and events, which is the on-chain source these DAO views read.
91
+ Full SDK/contract API reference (entry functions, exhaustive event schemas) is covered in the
92
+ forthcoming developer documentation. The [Access Gate reference](/blockchain/sui/access-gate/reference) already
93
+ lists the gate contract's entry points and events, which is the on-chain source these DAO views read.
94
94
  :::
@@ -1,4 +1,4 @@
1
- # Getting started
1
+ # Getting started with Sui
2
2
 
3
3
  Everything here runs on [Sui](https://sui.io). You interact with each tool through its hosted web app
4
4
  using a **Sui wallet**. This page covers the basics that apply to all of them.
@@ -41,7 +41,7 @@ Each tool has its own subdomain, and they're all linked from the **tools hub**:
41
41
  Click **Connect** and approve the connection in your wallet. The tools hub shares one wallet
42
42
  connection across every tool embedded in it.
43
43
 
44
- - **Browsing** the [DAO console](/dao/) needs **no wallet** — it's read-only.
44
+ - **Browsing** the [DAO console](/blockchain/sui/dao/) needs **no wallet** — it's read-only.
45
45
  - **Uploading, encrypting, buying, or managing** needs a connected wallet to sign transactions.
46
46
 
47
47
  ## 4. Understand what's on-chain
@@ -54,6 +54,6 @@ the chain says. Anything an app displays can be independently verified on a
54
54
 
55
55
  ## Next steps
56
56
 
57
- - **[How the tools fit together](/architecture)** — the big picture.
58
- - Jump into a tool: [DAO](/dao/) · [Walrus Storage](/walrus-storage/) ·
59
- [Sealed Storage](/sealed-storage/) · [Access Gate](/access-gate/).
57
+ - **[How the tools fit together](/blockchain/sui/architecture)** — the big picture.
58
+ - Jump into a tool: [DAO](/blockchain/sui/dao/) · [Walrus Storage](/blockchain/sui/walrus-storage/) ·
59
+ [Sealed Storage](/blockchain/sui/sealed-storage/) · [Access Gate](/blockchain/sui/access-gate/).
@@ -0,0 +1,41 @@
1
+ # Sui
2
+
3
+ Meddleware's Sui platform is a set of four connected tools — each useful on its own, designed to
4
+ compose. They run against Sui's object model and use Walrus for decentralised storage where needed.
5
+
6
+ ## The tools
7
+
8
+ | Tool | What it does |
9
+ | --- | --- |
10
+ | [DAO](/blockchain/sui/dao/) | A read-only console showing the platform's treasury, commission rate, community access gates, and live on-chain activity |
11
+ | [Walrus Storage](/blockchain/sui/walrus-storage/) | Upload files to Walrus (decentralised blob storage on Sui) and manage how long they live |
12
+ | [Sealed Storage](/blockchain/sui/sealed-storage/) | Client-side encryption layered on Walrus, with the access rule enforced on-chain by a policy you choose |
13
+ | [Access Gate](/blockchain/sui/access-gate/) | Create NFT passes that gate access to content, APIs, or apps — ownership checked on-chain |
14
+
15
+ ## How they fit together
16
+
17
+ The tools are designed to compose. [Sealed Storage](/blockchain/sui/sealed-storage/) uses Walrus for
18
+ storage and optionally [Access Gate](/blockchain/sui/access-gate/) passes as the decryption key. The
19
+ [DAO](/blockchain/sui/dao/) reads the live economics of the Access Gate platform — commission rate,
20
+ treasury, active gates.
21
+
22
+ See **[How the tools fit together](/blockchain/sui/architecture)** for the full picture.
23
+
24
+ ## Apps
25
+
26
+ Each tool has a hosted web app:
27
+
28
+ | Tool | App |
29
+ | --- | --- |
30
+ | Tools hub | [sui.meddleware.co.uk](https://sui.meddleware.co.uk) |
31
+ | DAO console | [sui-dao.meddleware.co.uk](https://sui-dao.meddleware.co.uk) |
32
+ | Walrus Storage | [sui-walrus.meddleware.co.uk](https://sui-walrus.meddleware.co.uk) |
33
+ | Sealed Storage | [sui-seal.meddleware.co.uk](https://sui-seal.meddleware.co.uk) |
34
+ | Access Gate | [sui-access-gate.meddleware.co.uk](https://sui-access-gate.meddleware.co.uk) |
35
+
36
+ New here? **[Getting started with Sui →](/blockchain/sui/getting-started)**
37
+
38
+ ::: tip Developer documentation
39
+ This site covers using the tools. SDK integration, self-hosting, and white-label deployment are
40
+ covered in the forthcoming developer documentation.
41
+ :::
@@ -0,0 +1 @@
1
+ [{"text":"Classes","collapsed":true,"items":[{"text":"PolicyRegistry","link":"/docs/blockchain/sui/sealed-storage/api/classes/PolicyRegistry.md"},{"text":"SealController","link":"/docs/blockchain/sui/sealed-storage/api/classes/SealController.md"}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"EncryptResult","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/EncryptResult.md"},{"text":"FieldSpec","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/FieldSpec.md"},{"text":"FieldSuggestion","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/FieldSuggestion.md"},{"text":"KeyServerConfig","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/KeyServerConfig.md"},{"text":"NftGateParams","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/NftGateParams.md"},{"text":"PolicyDescriptor","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/PolicyDescriptor.md"},{"text":"SealControllerConfig","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/SealControllerConfig.md"},{"text":"SealedContentInput","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/SealedContentInput.md"},{"text":"SealedContentPointer","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/SealedContentPointer.md"},{"text":"SealedManifest","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/SealedManifest.md"},{"text":"SealPolicyProvider","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/SealPolicyProvider.md"},{"text":"SealSuggestClient","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/SealSuggestClient.md"},{"text":"SuggestContext","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/SuggestContext.md"},{"text":"TimeLockParams","link":"/docs/blockchain/sui/sealed-storage/api/interfaces/TimeLockParams.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"SignPersonalMessage","link":"/docs/blockchain/sui/sealed-storage/api/type-aliases/SignPersonalMessage.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"nftGateProvider","link":"/docs/blockchain/sui/sealed-storage/api/variables/nftGateProvider.md"},{"text":"timeLockProvider","link":"/docs/blockchain/sui/sealed-storage/api/variables/timeLockProvider.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"buildPublishSealedContentTx","link":"/docs/blockchain/sui/sealed-storage/api/functions/buildPublishSealedContentTx.md"},{"text":"bytesToHex","link":"/docs/blockchain/sui/sealed-storage/api/functions/bytesToHex.md"},{"text":"concatBytes","link":"/docs/blockchain/sui/sealed-storage/api/functions/concatBytes.md"},{"text":"createDefaultRegistry","link":"/docs/blockchain/sui/sealed-storage/api/functions/createDefaultRegistry.md"},{"text":"createNftGateProvider","link":"/docs/blockchain/sui/sealed-storage/api/functions/createNftGateProvider.md"},{"text":"hexToBytes","link":"/docs/blockchain/sui/sealed-storage/api/functions/hexToBytes.md"},{"text":"objectIdBytes","link":"/docs/blockchain/sui/sealed-storage/api/functions/objectIdBytes.md"},{"text":"randomBytes","link":"/docs/blockchain/sui/sealed-storage/api/functions/randomBytes.md"},{"text":"sealedContentEventType","link":"/docs/blockchain/sui/sealed-storage/api/functions/sealedContentEventType.md"},{"text":"u64beBytes","link":"/docs/blockchain/sui/sealed-storage/api/functions/u64beBytes.md"}]}]
@@ -1,6 +1,6 @@
1
1
  # Sealed Storage
2
2
 
3
- Encrypt a file in your browser, store the ciphertext on [Walrus](/walrus-storage/), and let only the
3
+ Encrypt a file in your browser, store the ciphertext on [Walrus](/blockchain/sui/walrus-storage/), and let only the
4
4
  right people decrypt it — with the access rule enforced **on-chain**. Open the app at
5
5
  [sui-seal.meddleware.co.uk](https://sui-seal.meddleware.co.uk).
6
6
 
@@ -10,7 +10,7 @@ Sealed Storage combines three things:
10
10
 
11
11
  - **[Seal](https://seal-docs.wal.app/)** — threshold encryption where the decryption keys are held by
12
12
  a committee of independent **key servers**, not by any single party (or by Meddleware).
13
- - **[Walrus](/walrus-storage/)** — decentralised storage for the encrypted bytes.
13
+ - **[Walrus](/blockchain/sui/walrus-storage/)** — decentralised storage for the encrypted bytes.
14
14
  - A **policy** — an on-chain rule that decides who is allowed to decrypt.
15
15
 
16
16
  You encrypt under a policy, share a small **manifest** (a pointer), and anyone who satisfies the
@@ -20,11 +20,11 @@ policy can decrypt. Nobody else can — even though the ciphertext itself is sto
20
20
 
21
21
  - You want to store something **private** on public/decentralised storage.
22
22
  - You want access tied to an **on-chain condition** — for example, "only holders of this
23
- [Access Gate](/access-gate/) pass" or "only after a certain time".
23
+ [Access Gate](/blockchain/sui/access-gate/) pass" or "only after a certain time".
24
24
  - You want to **share** encrypted content without running your own key server or handing anyone a raw
25
25
  key.
26
26
 
27
- When plain [Walrus Storage](/walrus-storage/) is enough: if the content isn't sensitive, skip
27
+ When plain [Walrus Storage](/blockchain/sui/walrus-storage/) is enough: if the content isn't sensitive, skip
28
28
  encryption.
29
29
 
30
30
  ## How it works, in three steps
@@ -48,7 +48,7 @@ encryption.
48
48
  Sealing produces a small **manifest** — the portable pointer you share or save. It records the policy
49
49
  type, the encryption **identity**, the Walrus blob ID, the network, and any non-secret parameters
50
50
  (like which gate). It contains **no secrets**; it's just enough to locate the ciphertext and rebuild
51
- the on-chain access check. See [Reference](/sealed-storage/reference).
51
+ the on-chain access check. See [Reference](/blockchain/sui/sealed-storage/reference).
52
52
 
53
53
  ## Who holds the keys?
54
54
 
@@ -63,6 +63,6 @@ committee is available — the app shows a clear notice until then.
63
63
 
64
64
  ## Next
65
65
 
66
- - **[Using it](/sealed-storage/using)** — encrypt, share, and decrypt step by step.
67
- - **[Policies](/sealed-storage/policies)** — the access rules you can choose, and when to use each.
68
- - **[Reference](/sealed-storage/reference)** — manifest shape and the SDK API.
66
+ - **[Using it](/blockchain/sui/sealed-storage/using)** — encrypt, share, and decrypt step by step.
67
+ - **[Policies](/blockchain/sui/sealed-storage/policies)** — the access rules you can choose, and when to use each.
68
+ - **[Reference](/blockchain/sui/sealed-storage/reference)** — manifest shape and the SDK API.
@@ -7,7 +7,7 @@ encrypt. Each policy is a self-contained on-chain module with a matching option
7
7
 
8
8
  ### Access-gate NFT (`nft-gate`)
9
9
 
10
- **Only holders of a valid pass for a chosen [Access Gate](/access-gate/) can decrypt.**
10
+ **Only holders of a valid pass for a chosen [Access Gate](/blockchain/sui/access-gate/) can decrypt.**
11
11
 
12
12
  - **Encrypt with:** the gate's object ID.
13
13
  - **Decrypt with:** the pass NFT you hold for that gate (and whether it's soulbound).
@@ -47,6 +47,6 @@ policy picker automatically as they ship.
47
47
 
48
48
  ::: tip Developer note
49
49
  The mechanics of writing a new policy (the on-chain `seal_approve` module + the matching client
50
- provider) are `dev.meddleware.co.uk` material, planned in the `seal-policies` and `seal-client`
51
- package docs. The [Reference](/sealed-storage/reference) lists the current policy identifiers.
50
+ provider) are covered in the forthcoming developer documentation. The
51
+ [Reference](/blockchain/sui/sealed-storage/reference) lists the current policy identifiers.
52
52
  :::
@@ -74,6 +74,6 @@ providers, and the manifest/byte helpers — is generated here:
74
74
  - [Seal client API](./api/)
75
75
 
76
76
  ::: tip Writing your own policy?
77
- That's `dev.meddleware.co.uk` material (a `seal_policies` Move module + a matching client provider),
78
- planned in the package docs.
77
+ That's covered in the forthcoming developer documentation (a `seal_policies` Move module + a matching
78
+ client provider).
79
79
  :::
@@ -1,13 +1,13 @@
1
1
  # Sealed Storage — using it
2
2
 
3
3
  A walkthrough of the [Sealed Storage app](https://sui-seal.meddleware.co.uk). You'll need a
4
- [Sui wallet](/getting-started); browsing policies needs nothing, but decrypting requires a signature.
4
+ [Sui wallet](/blockchain/sui/getting-started); browsing policies needs nothing, but decrypting requires a signature.
5
5
 
6
6
  ## Encrypt and store
7
7
 
8
8
  1. Open the **Encrypt** tab.
9
9
  2. **Choose a file.**
10
- 3. **Pick a policy** (see [Policies](/sealed-storage/policies)). The form adapts to the policy — for
10
+ 3. **Pick a policy** (see [Policies](/blockchain/sui/sealed-storage/policies)). The form adapts to the policy — for
11
11
  an Access Gate policy you select the gate; for a time-lock you pick an unlock time.
12
12
  4. Encrypt. The file is sealed **in your browser** and the ciphertext is uploaded to Walrus.
13
13
  5. You receive a **manifest** — save or share it. It's the pointer needed to decrypt later, and it
@@ -0,0 +1 @@
1
+ [{"text":"Classes","collapsed":true,"items":[{"text":"RetryableWalrusClientError","link":"/docs/blockchain/sui/walrus-storage/api/classes/RetryableWalrusClientError.md"},{"text":"WalrusFile","link":"/docs/blockchain/sui/walrus-storage/api/classes/WalrusFile.md"}]},{"text":"Interfaces","collapsed":true,"items":[{"text":"CertifyOptions","link":"/docs/blockchain/sui/walrus-storage/api/interfaces/CertifyOptions.md"},{"text":"StorageCost","link":"/docs/blockchain/sui/walrus-storage/api/interfaces/StorageCost.md"}]},{"text":"Type Aliases","collapsed":true,"items":[{"text":"AccessProofInput","link":"/docs/blockchain/sui/walrus-storage/api/type-aliases/AccessProofInput.md"},{"text":"CreateWalrusClientOptions","link":"/docs/blockchain/sui/walrus-storage/api/type-aliases/CreateWalrusClientOptions.md"},{"text":"ExtendOptions","link":"/docs/blockchain/sui/walrus-storage/api/type-aliases/ExtendOptions.md"},{"text":"OwnedBlob","link":"/docs/blockchain/sui/walrus-storage/api/type-aliases/OwnedBlob.md"},{"text":"PersonalMessageSigner","link":"/docs/blockchain/sui/walrus-storage/api/type-aliases/PersonalMessageSigner.md"},{"text":"RelayChallenge","link":"/docs/blockchain/sui/walrus-storage/api/type-aliases/RelayChallenge.md"},{"text":"UploadOptions","link":"/docs/blockchain/sui/walrus-storage/api/type-aliases/UploadOptions.md"},{"text":"UploadResult","link":"/docs/blockchain/sui/walrus-storage/api/type-aliases/UploadResult.md"},{"text":"WalrusClient","link":"/docs/blockchain/sui/walrus-storage/api/type-aliases/WalrusClient.md"},{"text":"WalrusNetwork","link":"/docs/blockchain/sui/walrus-storage/api/type-aliases/WalrusNetwork.md"}]},{"text":"Variables","collapsed":true,"items":[{"text":"DEFAULT_RPC_URLS","link":"/docs/blockchain/sui/walrus-storage/api/variables/DEFAULT_RPC_URLS.md"},{"text":"LONG_TERM_EPOCHS","link":"/docs/blockchain/sui/walrus-storage/api/variables/LONG_TERM_EPOCHS.md"},{"text":"MAINNET_WALRUS_PACKAGE_CONFIG","link":"/docs/blockchain/sui/walrus-storage/api/variables/MAINNET_WALRUS_PACKAGE_CONFIG.md"},{"text":"PUBLIC_UPLOAD_RELAY_HOSTS","link":"/docs/blockchain/sui/walrus-storage/api/variables/PUBLIC_UPLOAD_RELAY_HOSTS.md"},{"text":"TESTNET_WALRUS_PACKAGE_CONFIG","link":"/docs/blockchain/sui/walrus-storage/api/variables/TESTNET_WALRUS_PACKAGE_CONFIG.md"},{"text":"WALRUS_AGGREGATOR_HOSTS","link":"/docs/blockchain/sui/walrus-storage/api/variables/WALRUS_AGGREGATOR_HOSTS.md"}]},{"text":"Functions","collapsed":true,"items":[{"text":"buildAccessProofToken","link":"/docs/blockchain/sui/walrus-storage/api/functions/buildAccessProofToken.md"},{"text":"certifyBlobTransaction","link":"/docs/blockchain/sui/walrus-storage/api/functions/certifyBlobTransaction.md"},{"text":"createBlobUploadFlow","link":"/docs/blockchain/sui/walrus-storage/api/functions/createBlobUploadFlow.md"},{"text":"createRelayAccessToken","link":"/docs/blockchain/sui/walrus-storage/api/functions/createRelayAccessToken.md"},{"text":"createUploadFlow","link":"/docs/blockchain/sui/walrus-storage/api/functions/createUploadFlow.md"},{"text":"createWalrusClient","link":"/docs/blockchain/sui/walrus-storage/api/functions/createWalrusClient.md"},{"text":"estimateStorageCost","link":"/docs/blockchain/sui/walrus-storage/api/functions/estimateStorageCost.md"},{"text":"extendBlobLifetime","link":"/docs/blockchain/sui/walrus-storage/api/functions/extendBlobLifetime.md"},{"text":"extendBlobLifetimeTransaction","link":"/docs/blockchain/sui/walrus-storage/api/functions/extendBlobLifetimeTransaction.md"},{"text":"fetchOwnedWalrusBlobs","link":"/docs/blockchain/sui/walrus-storage/api/functions/fetchOwnedWalrusBlobs.md"},{"text":"fetchRelayChallenge","link":"/docs/blockchain/sui/walrus-storage/api/functions/fetchRelayChallenge.md"},{"text":"getWalrusPackageConfig","link":"/docs/blockchain/sui/walrus-storage/api/functions/getWalrusPackageConfig.md"},{"text":"personalMessageForNonce","link":"/docs/blockchain/sui/walrus-storage/api/functions/personalMessageForNonce.md"},{"text":"readBlobAttributes","link":"/docs/blockchain/sui/walrus-storage/api/functions/readBlobAttributes.md"},{"text":"setBlobAttributes","link":"/docs/blockchain/sui/walrus-storage/api/functions/setBlobAttributes.md"},{"text":"setBlobAttributesTransaction","link":"/docs/blockchain/sui/walrus-storage/api/functions/setBlobAttributesTransaction.md"},{"text":"uploadBytes","link":"/docs/blockchain/sui/walrus-storage/api/functions/uploadBytes.md"},{"text":"uploadImageBytes","link":"/docs/blockchain/sui/walrus-storage/api/functions/uploadImageBytes.md"},{"text":"uploadLocalFile","link":"/docs/blockchain/sui/walrus-storage/api/functions/uploadLocalFile.md"},{"text":"walrusBlobUrl","link":"/docs/blockchain/sui/walrus-storage/api/functions/walrusBlobUrl.md"}]}]
@@ -13,7 +13,7 @@ wallet, upload a file, get back a **blob ID**, and later list and extend the blo
13
13
 
14
14
  - You need **durable, decentralised** file storage addressable by a stable ID.
15
15
  - You're storing content for an app, NFT media, datasets, or documents.
16
- - You want to store **encrypted** content — pair it with [Sealed Storage](/sealed-storage/), which
16
+ - You want to store **encrypted** content — pair it with [Sealed Storage](/blockchain/sui/sealed-storage/), which
17
17
  uses Walrus underneath.
18
18
 
19
19
  When **not** to: Walrus is not a permanent free drive. Storage is paid and **time-bounded** (see
@@ -35,7 +35,7 @@ confirm, and long-term durations are supported for content you intend to keep.
35
35
  Browser uploads go through an **upload relay**. Two modes:
36
36
 
37
37
  - **Public relay** — the default fallback (Mysten's public relay). Works for anyone.
38
- - **Gated relay** — Meddleware's relay, gated by an [Access Gate](/access-gate/) NFT. You prove you
38
+ - **Gated relay** — Meddleware's relay, gated by an [Access Gate](/blockchain/sui/access-gate/) NFT. You prove you
39
39
  hold a valid pass and the relay accepts your upload. A small **tip** covers the relay's costs, and
40
40
  the app caps the tip so you never overpay.
41
41
 
@@ -45,10 +45,10 @@ same Walrus network.
45
45
  ## What you get back
46
46
 
47
47
  After an upload completes you receive a **blob ID** — the stable handle you use to read the content
48
- back (via a Walrus aggregator) or to reference it elsewhere. See [Reference](/walrus-storage/reference)
48
+ back (via a Walrus aggregator) or to reference it elsewhere. See [Reference](/blockchain/sui/walrus-storage/reference)
49
49
  for the exact shapes.
50
50
 
51
51
  ## Next
52
52
 
53
- - **[Using it](/walrus-storage/using)** — upload, view, and extend blobs step by step.
54
- - **[Reference](/walrus-storage/reference)** — blob/relay shapes and the SDK API.
53
+ - **[Using it](/blockchain/sui/walrus-storage/using)** — upload, view, and extend blobs step by step.
54
+ - **[Reference](/blockchain/sui/walrus-storage/reference)** — blob/relay shapes and the SDK API.
@@ -44,7 +44,7 @@ interface StorageCost {
44
44
  ## Gated relay: access-proof wire format
45
45
 
46
46
  When uploading through the **gated** relay, the client proves NFT ownership with a signed proof. The
47
- wire format is shared with the [Access Gate](/access-gate/) gateway:
47
+ wire format is shared with the [Access Gate](/blockchain/sui/access-gate/) gateway:
48
48
 
49
49
  - **Personal message signed by the wallet:** `nft-gate:access:<nonce>`
50
50
  - **Proof token** (sent as `Authorization: Bearer …`): base64 of
@@ -54,7 +54,7 @@ wire format is shared with the [Access Gate](/access-gate/) gateway:
54
54
  ```
55
55
 
56
56
  The relay verifies the signature and on-chain pass ownership, then accepts the upload. See the
57
- [Access Gate reference](/access-gate/reference) for the full protocol.
57
+ [Access Gate reference](/blockchain/sui/access-gate/reference) for the full protocol.
58
58
 
59
59
  ## SDK API
60
60
 
@@ -65,5 +65,5 @@ queries, and relay access helpers — is generated here:
65
65
 
66
66
  ::: tip Using the SDK in your own app?
67
67
  This reference lists the shapes; the **how-to** for integrating the SDK (and self-hosting a relay) is
68
- `dev.meddleware.co.uk` material, planned in the package's own docs.
68
+ covered in the forthcoming developer documentation.
69
69
  :::
@@ -1,7 +1,7 @@
1
1
  # Walrus Storage — using it
2
2
 
3
3
  A walkthrough of the [Walrus Storage app](https://sui-walrus.meddleware.co.uk). You'll need a
4
- [Sui wallet with a little SUI](/getting-started).
4
+ [Sui wallet with a little SUI](/blockchain/sui/getting-started).
5
5
 
6
6
  ## Upload a blob
7
7
 
@@ -9,7 +9,7 @@ A walkthrough of the [Walrus Storage app](https://sui-walrus.meddleware.co.uk).
9
9
  2. Go to the **Upload** tab and **choose a file**.
10
10
  3. Pick a **storage duration** (in epochs). The app estimates the cost — longer durations cost more
11
11
  up front.
12
- 4. If you hold an [Access Gate](/access-gate/) pass for the gated relay, the app detects it and uses
12
+ 4. If you hold an [Access Gate](/blockchain/sui/access-gate/) pass for the gated relay, the app detects it and uses
13
13
  the gated relay (a capped **tip** applies); otherwise it uses the public relay.
14
14
  5. **Confirm** the transaction(s) in your wallet. Uploading registers the blob on Sui and stores the
15
15
  bytes on Walrus.
@@ -39,12 +39,12 @@ re-uploaded.
39
39
  ## Read a blob back
40
40
 
41
41
  A blob ID resolves through a Walrus **aggregator** over plain HTTP. Anyone with the ID can fetch the
42
- bytes (blobs are public unless you encrypted them first with [Sealed Storage](/sealed-storage/)).
42
+ bytes (blobs are public unless you encrypted them first with [Sealed Storage](/blockchain/sui/sealed-storage/)).
43
43
 
44
44
  ## Common questions
45
45
 
46
46
  **Is my file private?** No — Walrus blobs are public. If you need privacy, use
47
- [Sealed Storage](/sealed-storage/), which encrypts before storing.
47
+ [Sealed Storage](/blockchain/sui/sealed-storage/), which encrypts before storing.
48
48
 
49
49
  **Why did I sign more than once?** Registering and storing can involve more than one step; the app
50
50
  guides you through each wallet prompt.