Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions examples/ts/ada/deserialize-signed-cip-8-message-hex.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**
* Deserialize a signed CIP-8 message from an MPC wallet at BitGo.
*
* Copyright 2025, BitGo, Inc. All Rights Reserved.
*/
import { BaseCoin } from "@bitgo/statics";
import { MessageBuilderFactory, bufferToCoseObjectsOutput } from "@bitgo/sdk-coin-ada";

async function deserializeSignedCip8MessageHex(): Promise<void> {
const signedMsgHex = '';

const coinConfig = { name: 'ada' } as BaseCoin;
const factory = new MessageBuilderFactory(coinConfig);
const builder = factory.fromBroadcastString(signedMsgHex);
const message = await builder.build();

const payload = message.getPayload();
console.log(`Message: ${payload}`);

const address = message.getSigners()[0];
console.log(`Signer address: ${address}`);

const signature = message.getSignatures()[0].signature;
const publicKeyHex = message.getSignatures()[0].publicKey.pub;
console.log(`Public key hex: ${publicKeyHex}`);

const coseObjectsOutput = await bufferToCoseObjectsOutput(signature);

const coseKey = coseObjectsOutput.manualCoseKeyHex;
console.log(`Cose key: ${coseKey}`);

const coseSign1 = coseObjectsOutput.manualCoseSign1Hex;
console.log(`Cose sign1: ${coseSign1}`);
}

deserializeSignedCip8MessageHex().catch(console.error);
1 change: 1 addition & 0 deletions modules/sdk-coin-ada/src/lib/messages/cip8/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
export * from './cip8Message';
export * from './cip8MessageBuilder';
export * from './utils';