Skip to content

Commit 02cfa42

Browse files
committed
feat: add support for sip018
closes #225
1 parent 3aea543 commit 02cfa42

File tree

6 files changed

+879
-869
lines changed

6 files changed

+879
-869
lines changed

.changeset/cuddly-rabbits-reply.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@stacks/connect': patch
3+
---
4+
5+
Add better support for SIP-018 signing structured data

packages/connect/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"@stacks/connect-ui": "5.5.0",
3030
"@stacks/network": "4.2.1",
3131
"@stacks/prettier-config": "0.0.8",
32-
"@stacks/transactions": "4.2.1",
32+
"@stacks/transactions": "4.3.0-beta.1",
3333
"bn.js": "^5.2.0",
3434
"buffer": "6.0.3",
3535
"jsontokens": "^3.0.0",

packages/connect/src/signature/structuredData.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@ async function generateTokenAndOpenPopup<T extends StructuredDataSignatureOption
2323

2424
async function signPayload(payload: StructuredDataSignaturePayload, privateKey: string) {
2525
const tokenSigner = new TokenSigner('ES256k', privateKey);
26+
2627
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
2728
return tokenSigner.signAsync({
2829
...payload,
2930
message: serializeCV(payload.message).toString('hex'),
31+
domain: serializeCV(payload.domain).toString('hex'),
3032
} as any);
3133
}
3234

packages/connect/src/types/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ export * from './provider';
22
export * from './auth';
33
export * from './transactions';
44
export * from './signature';
5+
export * from './structuredDataSignature';

packages/connect/src/types/structuredDataSignature.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ import {
88

99
export interface StructuredDataSignatureRequestOptions extends CommonSignatureRequestOptions {
1010
message: ClarityValue;
11+
domain: ClarityValue;
1112
}
1213

1314
export interface StructuredDataSignatureOptions {
1415
message: ClarityValue;
16+
domain: ClarityValue;
1517
onFinish?: SignatureFinished;
1618
onCancel?: SignatureCanceled;
1719
}
@@ -23,4 +25,5 @@ export type StructuredDataSignaturePopup = {
2325

2426
export interface StructuredDataSignaturePayload extends CommonSignaturePayload {
2527
message: ClarityValue;
28+
domain: ClarityValue;
2629
}

0 commit comments

Comments
 (0)