@magiceden/magiceden-sdk
Version:
A TypeScript SDK for interacting with Magic Eden's API across multiple chains.
37 lines (36 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSolanaLaunchpadAuthorizationPayload = createSolanaLaunchpadAuthorizationPayload;
exports.createEvmLaunchpadAuthorizationPayload = createEvmLaunchpadAuthorizationPayload;
/**
* Generate a signed authorization payload for Solana operations
* @param wallet The wallet to sign with
* @param candyMachineId The candy machine ID
* @returns Authorization payload with signer, signature and timestamp
*/
async function createSolanaLaunchpadAuthorizationPayload(wallet, candyMachineId) {
const timestamp = Date.now().toString();
const message = `Signing as authority for ${candyMachineId} at ${timestamp}`;
const signature = await wallet.signMessage(message);
return {
signer: wallet.getAddress(),
signature,
timestamp,
};
}
/**
* Generate a signed message for EVM operations
* @param wallet The wallet to sign with
* @param message The message to sign
* @returns The signature
*/
async function createEvmLaunchpadAuthorizationPayload(wallet) {
const timestamp = Date.now();
const message = `Please sign this message to prove ownership of the NFT collection - ${timestamp}`;
const signature = await wallet.signMessage(message);
return {
owner: wallet.getAddress(),
message,
signature,
};
}