Users Data
Provider that allows to interact with users data. (E.g. Public key)
Users Data
Initialization
const afSdk = new Aftermath("MAINNET");
await afSdk.init(); // initialize provider
const userData = afSdk.UserData();
Get Users Public Key
const publicKey = userData.getUserPublicKey({
walletAddress: "0x.."
});
Create User Public Key
const messageToSign = userData.createUserAccountMessageToSign();
const signedMessage = await signPersonalMessage({
message: new TextEncoder().encode(JSON.stringify(messageToSign)),
});
const publicKey = userData.createUserPublicKey({
walletAddress: "0x..",
bytes: signedMessage.bytes,
signature: signedMessage.signature
});
Complete Example
import { Aftermath } from "aftermath-ts-sdk";
import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519";
import dotenv from "dotenv";
dotenv.config();
const privateKeyHex = String(process.env.SECRET); // Use your own secret key
const keyPair = Ed25519Keypair.fromSecretKey(privateKeyHex);
const walletAddress = keyPair.getPublicKey().toSuiAddress();
const aftermath = new Aftermath("MAINNET");
const userData = aftermath.UserData();
const test = async () => {
const messageToSign = userData.createUserAccountMessageToSign();
const message = new TextEncoder().encode(JSON.stringify(messageToSign));
const signedMessage = await keyPair.signPersonalMessage(message);
const success = await userData.createUserPublicKey({
...signedMessage,
walletAddress,
});
const userPk = await userData.getUserPublicKey({
walletAddress,
});
console.log({ success, userPk });
};
test();
Last updated