@dynamic-labs-wallet/sui 0.0.0-preview-124.2 → 0.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs.js +25 -6
- package/index.esm.js +27 -8
- package/package.json +4 -3
- package/src/client/client.d.ts.map +1 -1
- package/src/utils.d.ts +3 -0
- package/src/utils.d.ts.map +1 -0
package/index.cjs.js
CHANGED
|
@@ -4,6 +4,8 @@ var browser = require('@dynamic-labs-wallet/browser');
|
|
|
4
4
|
var ed25519 = require('@mysten/sui/keypairs/ed25519');
|
|
5
5
|
var cryptography = require('@mysten/sui/cryptography');
|
|
6
6
|
var verify = require('@mysten/sui/verify');
|
|
7
|
+
var bcs = require('@mysten/sui/bcs');
|
|
8
|
+
var blake2b = require('@noble/hashes/blake2b');
|
|
7
9
|
|
|
8
10
|
function _extends() {
|
|
9
11
|
_extends = Object.assign || function assign(target) {
|
|
@@ -21,6 +23,23 @@ const ERROR_CREATE_WALLET_ACCOUNT = 'Error creating sui wallet account';
|
|
|
21
23
|
const ERROR_VERIFY_MESSAGE_SIGNATURE = 'Error verifying message signature';
|
|
22
24
|
const ERROR_VERIFY_TRANSACTION_SIGNATURE = 'Error verifying transaction signature';
|
|
23
25
|
|
|
26
|
+
const formatMessage = (message, intentScope)=>{
|
|
27
|
+
if (intentScope === 'TransactionData') {
|
|
28
|
+
const txBytes = Uint8Array.from(Buffer.from(message, 'hex'));
|
|
29
|
+
const intentMessage = cryptography.messageWithIntent(intentScope, txBytes);
|
|
30
|
+
return blake2b.blake2b(intentMessage, {
|
|
31
|
+
dkLen: 32
|
|
32
|
+
});
|
|
33
|
+
} else {
|
|
34
|
+
const encodedMessage = new TextEncoder().encode(message);
|
|
35
|
+
const serializedMessage = bcs.bcs.vector(bcs.bcs.u8()).serialize(encodedMessage).toBytes();
|
|
36
|
+
const intentMessage = cryptography.messageWithIntent(intentScope, serializedMessage);
|
|
37
|
+
return blake2b.blake2b(intentMessage, {
|
|
38
|
+
dkLen: 32
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
24
43
|
class DynamicSuiWalletClient extends browser.DynamicWalletClient {
|
|
25
44
|
async createWalletAccount({ thresholdSignatureScheme, password = undefined, onError }) {
|
|
26
45
|
try {
|
|
@@ -132,12 +151,12 @@ class DynamicSuiWalletClient extends browser.DynamicWalletClient {
|
|
|
132
151
|
throw new Error('Account address is required');
|
|
133
152
|
}
|
|
134
153
|
try {
|
|
154
|
+
const formattedMessage = formatMessage(message, 'PersonalMessage');
|
|
135
155
|
const signatureEd25519 = await this.sign({
|
|
136
|
-
message,
|
|
156
|
+
message: formattedMessage,
|
|
137
157
|
accountAddress: accountAddress,
|
|
138
158
|
chainName: this.chainName,
|
|
139
|
-
password
|
|
140
|
-
intent: browser.MessageIntent.SIGN_MESSAGE
|
|
159
|
+
password
|
|
141
160
|
});
|
|
142
161
|
const formattedSignature = await this.formatSignature(signatureEd25519, accountAddress);
|
|
143
162
|
await this.verifyMessageSignature({
|
|
@@ -156,12 +175,12 @@ class DynamicSuiWalletClient extends browser.DynamicWalletClient {
|
|
|
156
175
|
throw new Error('Account address is required');
|
|
157
176
|
}
|
|
158
177
|
try {
|
|
178
|
+
const formattedMessage = formatMessage(message, 'TransactionData');
|
|
159
179
|
const signatureEd25519 = await this.sign({
|
|
160
|
-
message,
|
|
180
|
+
message: formattedMessage,
|
|
161
181
|
accountAddress: accountAddress,
|
|
162
182
|
chainName: this.chainName,
|
|
163
|
-
password
|
|
164
|
-
intent: browser.MessageIntent.SIGN_TRANSACTION
|
|
183
|
+
password
|
|
165
184
|
});
|
|
166
185
|
const formattedSignature = await this.formatSignature(signatureEd25519, accountAddress);
|
|
167
186
|
await this.verifyTransactionSignature({
|
package/index.esm.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { DynamicWalletClient, getClientKeyShareBackupInfo, getMPCChainConfig
|
|
1
|
+
import { DynamicWalletClient, getClientKeyShareBackupInfo, getMPCChainConfig } from '@dynamic-labs-wallet/browser';
|
|
2
2
|
import { Ed25519PublicKey } from '@mysten/sui/keypairs/ed25519';
|
|
3
|
-
import { toSerializedSignature } from '@mysten/sui/cryptography';
|
|
3
|
+
import { messageWithIntent, toSerializedSignature } from '@mysten/sui/cryptography';
|
|
4
4
|
import { verifyPersonalMessageSignature, verifyTransactionSignature } from '@mysten/sui/verify';
|
|
5
|
+
import { bcs } from '@mysten/sui/bcs';
|
|
6
|
+
import { blake2b } from '@noble/hashes/blake2b';
|
|
5
7
|
|
|
6
8
|
function _extends() {
|
|
7
9
|
_extends = Object.assign || function assign(target) {
|
|
@@ -19,6 +21,23 @@ const ERROR_CREATE_WALLET_ACCOUNT = 'Error creating sui wallet account';
|
|
|
19
21
|
const ERROR_VERIFY_MESSAGE_SIGNATURE = 'Error verifying message signature';
|
|
20
22
|
const ERROR_VERIFY_TRANSACTION_SIGNATURE = 'Error verifying transaction signature';
|
|
21
23
|
|
|
24
|
+
const formatMessage = (message, intentScope)=>{
|
|
25
|
+
if (intentScope === 'TransactionData') {
|
|
26
|
+
const txBytes = Uint8Array.from(Buffer.from(message, 'hex'));
|
|
27
|
+
const intentMessage = messageWithIntent(intentScope, txBytes);
|
|
28
|
+
return blake2b(intentMessage, {
|
|
29
|
+
dkLen: 32
|
|
30
|
+
});
|
|
31
|
+
} else {
|
|
32
|
+
const encodedMessage = new TextEncoder().encode(message);
|
|
33
|
+
const serializedMessage = bcs.vector(bcs.u8()).serialize(encodedMessage).toBytes();
|
|
34
|
+
const intentMessage = messageWithIntent(intentScope, serializedMessage);
|
|
35
|
+
return blake2b(intentMessage, {
|
|
36
|
+
dkLen: 32
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
22
41
|
class DynamicSuiWalletClient extends DynamicWalletClient {
|
|
23
42
|
async createWalletAccount({ thresholdSignatureScheme, password = undefined, onError }) {
|
|
24
43
|
try {
|
|
@@ -130,12 +149,12 @@ class DynamicSuiWalletClient extends DynamicWalletClient {
|
|
|
130
149
|
throw new Error('Account address is required');
|
|
131
150
|
}
|
|
132
151
|
try {
|
|
152
|
+
const formattedMessage = formatMessage(message, 'PersonalMessage');
|
|
133
153
|
const signatureEd25519 = await this.sign({
|
|
134
|
-
message,
|
|
154
|
+
message: formattedMessage,
|
|
135
155
|
accountAddress: accountAddress,
|
|
136
156
|
chainName: this.chainName,
|
|
137
|
-
password
|
|
138
|
-
intent: MessageIntent.SIGN_MESSAGE
|
|
157
|
+
password
|
|
139
158
|
});
|
|
140
159
|
const formattedSignature = await this.formatSignature(signatureEd25519, accountAddress);
|
|
141
160
|
await this.verifyMessageSignature({
|
|
@@ -154,12 +173,12 @@ class DynamicSuiWalletClient extends DynamicWalletClient {
|
|
|
154
173
|
throw new Error('Account address is required');
|
|
155
174
|
}
|
|
156
175
|
try {
|
|
176
|
+
const formattedMessage = formatMessage(message, 'TransactionData');
|
|
157
177
|
const signatureEd25519 = await this.sign({
|
|
158
|
-
message,
|
|
178
|
+
message: formattedMessage,
|
|
159
179
|
accountAddress: accountAddress,
|
|
160
180
|
chainName: this.chainName,
|
|
161
|
-
password
|
|
162
|
-
intent: MessageIntent.SIGN_TRANSACTION
|
|
181
|
+
password
|
|
163
182
|
});
|
|
164
183
|
const formattedSignature = await this.formatSignature(signatureEd25519, accountAddress);
|
|
165
184
|
await this.verifyTransactionSignature({
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs-wallet/sui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.56",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@dynamic-labs-wallet/browser": "0.0.
|
|
7
|
-
"@mysten/sui": "
|
|
6
|
+
"@dynamic-labs-wallet/browser": "0.0.56",
|
|
7
|
+
"@mysten/sui": "1.26.0",
|
|
8
|
+
"@noble/hashes": "1.7.1"
|
|
8
9
|
},
|
|
9
10
|
"publishConfig": {
|
|
10
11
|
"access": "public"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,8BAA8B,CAAC;AAetC,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,QAAQ,CAAC,SAAS,SAAS;gBAEf,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,KAAK,GACN,EAAE,wBAAwB;IAWrB,mBAAmB,CAAC,EACxB,wBAAwB,EACxB,QAAoB,EACpB,OAAO,GACR,EAAE;QACD,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KAClC,GAAG,OAAO,CAAC;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;QACtD,eAAe,EAAE,cAAc,EAAE,CAAC;KACnC,CAAC;IAwDI,kCAAkC,CAAC,EACvC,SAAS,EACT,cAAc,GACf,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,cAAc,CAAC;KAChC;IAYD;;OAEG;YACW,eAAe;YAyBf,sBAAsB;YA6BtB,0BAA0B;IA6BlC,WAAW,CAAC,EAChB,OAAO,EACP,cAAc,EACd,QAAoB,GACrB,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiCb,eAAe,CAAC,EACpB,OAAO,EACP,cAAc,EACd,QAAoB,GACrB,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCnB,oBAAoB,CAAC,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,EAAE,UAAU,CAAA;KAAE;;;;IAU7D,aAAa;CAOpB"}
|
package/src/utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../packages/src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAqB,MAAM,0BAA0B,CAAC;AAG1E,eAAO,MAAM,aAAa,YACf,MAAM,eACF,WAAW,KACvB,UAeF,CAAC"}
|