Ownership Transfer
Ownership transfer in SuiPulse allows you to transfer ownership of streams and snapshots to other addresses.
Overview
Ownership transfer enables:
- Transferring stream ownership
- Transferring snapshot ownership
- Managing ownership permissions
- Verifying ownership changes
Transferring Stream Ownership
import { SuiPulse, Network } from "@suipulse/sdk";
import { Ed25519Keypair } from "@mysten/sui.js/keypairs/ed25519";
// Initialize SuiPulse
const keypair = Ed25519Keypair.fromSecretKey(/* your private key */);
const suiPulse = new SuiPulse(keypair, Network.MAINNET);
// Transfer stream ownership
const response = await suiPulse.transferStreamOwnership(
"0x123...", // stream ID
"0x456..." // new owner address
);
Transferring Snapshot Ownership
// Transfer snapshot ownership
const response = await suiPulse.transferSnapshot(
"0x123...", // snapshot ID
"0x456..." // new owner address
);
Ownership Verification
// Get stream owner
const stream = await suiPulse.getDataStream("0x123...");
console.log("Stream owner:", stream.owner);
// Get snapshot owner
const snapshot = await suiPulse.getSnapshotData("0x123...");
console.log("Snapshot owner:", snapshot.owner);
Best Practices
-
Security
- Verify recipient address
- Confirm ownership before transfer
- Use secure channels for transfer
- Implement proper access control
-
Transaction Management
- Handle transfer failures
- Verify transfer success
- Monitor ownership changes
- Maintain transfer logs
-
Access Control
- Update permissions after transfer
- Notify relevant parties
- Update access lists
- Handle permission inheritance
Use Cases
- Asset transfer
- Business ownership changes
- Access control updates
- Permission management
- Organizational restructuring
Next Steps
- Learn about Stream Management
- Explore Access Control
- Check out Event Handling