Skip to content

Interface: SealControllerConfig ​

Defined in: @meddleware/sealed-storage-client/src/controller.ts:25

Properties ​

accessGateOriginalId? ​

optional accessGateOriginalId?: string

Defined in: @meddleware/sealed-storage-client/src/controller.ts:63

The access_gate package's original id that sealed_storage links. When set, encrypt for the nft-gate policy reads the gate first and refuses one that is not a Gate of that package (content sealed to it could never be decrypted).


allowTransferableGates? ​

optional allowTransferableGates?: boolean

Defined in: @meddleware/sealed-storage-client/src/controller.ts:69

Allow sealing to a gate that mints transferable passes (default false). A holder of a transferable pass can freeze or share it, after which anyone can present it and nft_gate::seal_approve approves: the content is then effectively public. Only checked when accessGateOriginalId is set (the gate is read).


checkShareConsistency? ​

optional checkShareConsistency?: boolean

Defined in: @meddleware/sealed-storage-client/src/controller.ts:57

Check that key shares from different servers are consistent before combining them (default true, recommended by Seal for sensitive data).


originalId ​

originalId: string

Defined in: @meddleware/sealed-storage-client/src/controller.ts:32

The sealed_storage package's original id: the Seal identity namespace (encrypt, the ciphertext check) and the SessionKey scope. It never changes across upgrades.


policyConfigId ​

policyConfigId: string

Defined in: @meddleware/sealed-storage-client/src/controller.ts:36

The package's shared PolicyConfig (version gate), passed to every seal_approve*.


publishedAt ​

publishedAt: string

Defined in: @meddleware/sealed-storage-client/src/controller.ts:34

The package's latest published-at id: the call target of the seal_approve* PTB.


serverConfigs ​

serverConfigs: KeyServerConfig[]

Defined in: @meddleware/sealed-storage-client/src/controller.ts:38

Committee of key servers: encryption targets all; decryption needs threshold of them.


sessionTtlMin? ​

optional sessionTtlMin?: number

Defined in: @meddleware/sealed-storage-client/src/controller.ts:42

SessionKey time-to-live in minutes (default 10).


suiClient ​

suiClient: SealCompatibleClient

Defined in: @meddleware/sealed-storage-client/src/controller.ts:27

A Sui client exposing the core API (e.g. SuiGrpcClient from @mysten/sui/grpc).


threshold ​

threshold: number

Defined in: @meddleware/sealed-storage-client/src/controller.ts:40

t in t-of-n. With a 3-server committee, 2 tolerates any one server being offline.


verifyKeyServers? ​

optional verifyKeyServers?: boolean

Defined in: @meddleware/sealed-storage-client/src/controller.ts:52

Verify each key server's URL against its on-chain object before use (prevents a look-alike server object pointing at a known URL). Defaults to true unless any server is reached through an aggregator (committee mode), where per-server verification does not apply.

The SDK offers one global switch, not one per server: in a mixed configuration (an aggregator plus independent servers) the default turns verification off for the independent servers too. See SealController.verifiesKeyServers.

2026 Meddleware. All jams preserved.