@dynamic-labs-wallet/sui 0.0.0-beta.146.1

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.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./src/index";
package/index.cjs.js ADDED
@@ -0,0 +1,221 @@
1
+ 'use strict';
2
+
3
+ var browser = require('@dynamic-labs-wallet/browser');
4
+ var ed25519 = require('@mysten/sui/keypairs/ed25519');
5
+ var cryptography = require('@mysten/sui/cryptography');
6
+ var verify = require('@mysten/sui/verify');
7
+ var bcs = require('@mysten/sui/bcs');
8
+ var blake2b = require('@noble/hashes/blake2b');
9
+
10
+ function _extends() {
11
+ _extends = Object.assign || function assign(target) {
12
+ for(var i = 1; i < arguments.length; i++){
13
+ var source = arguments[i];
14
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
15
+ }
16
+ return target;
17
+ };
18
+ return _extends.apply(this, arguments);
19
+ }
20
+
21
+ const ERROR_KEYGEN_FAILED = 'Error with keygen';
22
+ const ERROR_CREATE_WALLET_ACCOUNT = 'Error creating sui wallet account';
23
+ const ERROR_VERIFY_MESSAGE_SIGNATURE = 'Error verifying message signature';
24
+ const ERROR_VERIFY_TRANSACTION_SIGNATURE = 'Error verifying transaction signature';
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
+
43
+ class DynamicSuiWalletClient extends browser.DynamicWalletClient {
44
+ async createWalletAccount({ thresholdSignatureScheme, password = undefined, onError }) {
45
+ try {
46
+ // Generate key shares for given threshold signature scheme (TSS)
47
+ const { rawPublicKey, clientKeyShares } = await this.keyGen({
48
+ chainName: this.chainName,
49
+ thresholdSignatureScheme,
50
+ onError,
51
+ onCeremonyComplete: (accountAddress, walletId)=>{
52
+ // update wallet map
53
+ this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress] || {}, {
54
+ accountAddress: accountAddress,
55
+ walletId,
56
+ chainName: this.chainName,
57
+ thresholdSignatureScheme,
58
+ clientKeySharesBackupInfo: browser.getClientKeyShareBackupInfo()
59
+ });
60
+ }
61
+ });
62
+ if (!rawPublicKey || !clientKeyShares) {
63
+ throw new Error(ERROR_KEYGEN_FAILED);
64
+ }
65
+ const { accountAddress, publicKeyHex } = this.deriveAccountAddress({
66
+ rawPublicKey: rawPublicKey
67
+ });
68
+ // Update client key shares in wallet map
69
+ // warning: this might result in race condition if `onCeremonyComplete` executes at the same time
70
+ // TODO: remove this once iframe handling for secret shares is implemented
71
+ await this.setClientKeySharesToLocalStorage({
72
+ accountAddress,
73
+ clientKeyShares,
74
+ overwriteOrMerge: 'overwrite'
75
+ });
76
+ // Backup the new wallet without waiting for the promise to resolve
77
+ void this.storeEncryptedBackupByWalletWithRetry({
78
+ accountAddress,
79
+ clientKeyShares,
80
+ password
81
+ });
82
+ return {
83
+ accountAddress,
84
+ rawPublicKey,
85
+ publicKeyHex
86
+ };
87
+ } catch (error) {
88
+ this.logger.error(ERROR_CREATE_WALLET_ACCOUNT, error);
89
+ throw new Error(ERROR_CREATE_WALLET_ACCOUNT);
90
+ }
91
+ }
92
+ async getRawPublicKeyFromClientKeyShares({ chainName, clientKeyShare }) {
93
+ const chainConfig = browser.getMPCChainConfig(chainName);
94
+ const derivationPath = new Uint32Array(chainConfig.derivationPath);
95
+ const rawPublicKey = await this.derivePublicKey({
96
+ chainName,
97
+ keyShare: clientKeyShare,
98
+ derivationPath
99
+ });
100
+ return rawPublicKey;
101
+ }
102
+ /**
103
+ * Format Ed25519 signature to string that satisfies Sui signature standard
104
+ */ async formatSignature(signatureEd25519, accountAddress) {
105
+ // get public key from keyshare
106
+ // TODO: handle this more gracefully from the client key shares if possible
107
+ const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
108
+ accountAddress
109
+ });
110
+ const rawPublicKey = await this.getRawPublicKeyFromClientKeyShares({
111
+ chainName: this.chainName,
112
+ clientKeyShare: clientKeyShares[0]
113
+ });
114
+ const suiPublicKey = new ed25519.Ed25519PublicKey(rawPublicKey);
115
+ const serializedSignature = cryptography.toSerializedSignature({
116
+ signature: signatureEd25519,
117
+ signatureScheme: 'ED25519',
118
+ publicKey: suiPublicKey
119
+ });
120
+ return serializedSignature;
121
+ }
122
+ async verifyMessageSignature({ message, signature, accountAddress }) {
123
+ try {
124
+ const messageBytes = new TextEncoder().encode(message);
125
+ const verifiedPublicKey = await verify.verifyPersonalMessageSignature(messageBytes, signature);
126
+ const isVerified = verifiedPublicKey.toSuiAddress().toLowerCase() === accountAddress.toLowerCase();
127
+ if (!isVerified) {
128
+ throw new Error(ERROR_VERIFY_MESSAGE_SIGNATURE);
129
+ }
130
+ } catch (error) {
131
+ this.logger.error('Error verifying signature:', error);
132
+ throw error;
133
+ }
134
+ }
135
+ async verifyTransactionSignature({ transaction, signature, senderAddress }) {
136
+ try {
137
+ const txBytes = Uint8Array.from(Buffer.from(transaction, 'hex'));
138
+ const verifiedPublicKey = await verify.verifyTransactionSignature(txBytes, signature);
139
+ const isVerified = verifiedPublicKey.toSuiAddress().toLowerCase() === senderAddress.toLowerCase();
140
+ if (!isVerified) {
141
+ throw new Error(ERROR_VERIFY_TRANSACTION_SIGNATURE);
142
+ }
143
+ } catch (error) {
144
+ this.logger.error('Error verifying signature:', error);
145
+ throw error;
146
+ }
147
+ }
148
+ async signMessage({ message, accountAddress, password = undefined }) {
149
+ if (!accountAddress) {
150
+ throw new Error('Account address is required');
151
+ }
152
+ try {
153
+ const formattedMessage = formatMessage(message, 'PersonalMessage');
154
+ const signatureEd25519 = await this.sign({
155
+ message: formattedMessage,
156
+ accountAddress: accountAddress,
157
+ chainName: this.chainName,
158
+ password
159
+ });
160
+ const formattedSignature = await this.formatSignature(signatureEd25519, accountAddress);
161
+ await this.verifyMessageSignature({
162
+ message,
163
+ signature: formattedSignature,
164
+ accountAddress
165
+ });
166
+ return formattedSignature;
167
+ } catch (error) {
168
+ this.logger.error('Error signing message:', error);
169
+ throw error;
170
+ }
171
+ }
172
+ async signTransaction({ transaction, senderAddress, password = undefined }) {
173
+ if (!senderAddress) {
174
+ throw new Error('Account address is required');
175
+ }
176
+ try {
177
+ const formattedMessage = formatMessage(transaction, 'TransactionData');
178
+ const signatureEd25519 = await this.sign({
179
+ message: formattedMessage,
180
+ accountAddress: senderAddress,
181
+ chainName: this.chainName,
182
+ password
183
+ });
184
+ const formattedSignature = await this.formatSignature(signatureEd25519, senderAddress);
185
+ await this.verifyTransactionSignature({
186
+ transaction,
187
+ signature: formattedSignature,
188
+ senderAddress
189
+ });
190
+ return formattedSignature;
191
+ } catch (error) {
192
+ this.logger.error('Error signing message:', error);
193
+ throw error;
194
+ }
195
+ }
196
+ deriveAccountAddress({ rawPublicKey }) {
197
+ const publicKey = new ed25519.Ed25519PublicKey(rawPublicKey);
198
+ const accountAddress = publicKey.toSuiAddress();
199
+ return {
200
+ accountAddress,
201
+ publicKeyHex: Buffer.from(rawPublicKey).toString('hex')
202
+ };
203
+ }
204
+ async getSuiWallets() {
205
+ const wallets = await this.getWallets();
206
+ const suiWallets = wallets.filter((wallet)=>wallet.chainName === 'sui');
207
+ return suiWallets;
208
+ }
209
+ constructor({ environmentId, authToken, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug }){
210
+ super({
211
+ environmentId,
212
+ authToken,
213
+ baseApiUrl,
214
+ baseMPCRelayApiUrl,
215
+ storageKey,
216
+ debug
217
+ }), this.chainName = 'SUI';
218
+ }
219
+ }
220
+
221
+ exports.DynamicSuiWalletClient = DynamicSuiWalletClient;
package/index.esm.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./src/index";
package/index.esm.js ADDED
@@ -0,0 +1,219 @@
1
+ import { DynamicWalletClient, getClientKeyShareBackupInfo, getMPCChainConfig } from '@dynamic-labs-wallet/browser';
2
+ import { Ed25519PublicKey } from '@mysten/sui/keypairs/ed25519';
3
+ import { messageWithIntent, toSerializedSignature } from '@mysten/sui/cryptography';
4
+ import { verifyPersonalMessageSignature, verifyTransactionSignature } from '@mysten/sui/verify';
5
+ import { bcs } from '@mysten/sui/bcs';
6
+ import { blake2b } from '@noble/hashes/blake2b';
7
+
8
+ function _extends() {
9
+ _extends = Object.assign || function assign(target) {
10
+ for(var i = 1; i < arguments.length; i++){
11
+ var source = arguments[i];
12
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
13
+ }
14
+ return target;
15
+ };
16
+ return _extends.apply(this, arguments);
17
+ }
18
+
19
+ const ERROR_KEYGEN_FAILED = 'Error with keygen';
20
+ const ERROR_CREATE_WALLET_ACCOUNT = 'Error creating sui wallet account';
21
+ const ERROR_VERIFY_MESSAGE_SIGNATURE = 'Error verifying message signature';
22
+ const ERROR_VERIFY_TRANSACTION_SIGNATURE = 'Error verifying transaction signature';
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
+
41
+ class DynamicSuiWalletClient extends DynamicWalletClient {
42
+ async createWalletAccount({ thresholdSignatureScheme, password = undefined, onError }) {
43
+ try {
44
+ // Generate key shares for given threshold signature scheme (TSS)
45
+ const { rawPublicKey, clientKeyShares } = await this.keyGen({
46
+ chainName: this.chainName,
47
+ thresholdSignatureScheme,
48
+ onError,
49
+ onCeremonyComplete: (accountAddress, walletId)=>{
50
+ // update wallet map
51
+ this.walletMap[accountAddress] = _extends({}, this.walletMap[accountAddress] || {}, {
52
+ accountAddress: accountAddress,
53
+ walletId,
54
+ chainName: this.chainName,
55
+ thresholdSignatureScheme,
56
+ clientKeySharesBackupInfo: getClientKeyShareBackupInfo()
57
+ });
58
+ }
59
+ });
60
+ if (!rawPublicKey || !clientKeyShares) {
61
+ throw new Error(ERROR_KEYGEN_FAILED);
62
+ }
63
+ const { accountAddress, publicKeyHex } = this.deriveAccountAddress({
64
+ rawPublicKey: rawPublicKey
65
+ });
66
+ // Update client key shares in wallet map
67
+ // warning: this might result in race condition if `onCeremonyComplete` executes at the same time
68
+ // TODO: remove this once iframe handling for secret shares is implemented
69
+ await this.setClientKeySharesToLocalStorage({
70
+ accountAddress,
71
+ clientKeyShares,
72
+ overwriteOrMerge: 'overwrite'
73
+ });
74
+ // Backup the new wallet without waiting for the promise to resolve
75
+ void this.storeEncryptedBackupByWalletWithRetry({
76
+ accountAddress,
77
+ clientKeyShares,
78
+ password
79
+ });
80
+ return {
81
+ accountAddress,
82
+ rawPublicKey,
83
+ publicKeyHex
84
+ };
85
+ } catch (error) {
86
+ this.logger.error(ERROR_CREATE_WALLET_ACCOUNT, error);
87
+ throw new Error(ERROR_CREATE_WALLET_ACCOUNT);
88
+ }
89
+ }
90
+ async getRawPublicKeyFromClientKeyShares({ chainName, clientKeyShare }) {
91
+ const chainConfig = getMPCChainConfig(chainName);
92
+ const derivationPath = new Uint32Array(chainConfig.derivationPath);
93
+ const rawPublicKey = await this.derivePublicKey({
94
+ chainName,
95
+ keyShare: clientKeyShare,
96
+ derivationPath
97
+ });
98
+ return rawPublicKey;
99
+ }
100
+ /**
101
+ * Format Ed25519 signature to string that satisfies Sui signature standard
102
+ */ async formatSignature(signatureEd25519, accountAddress) {
103
+ // get public key from keyshare
104
+ // TODO: handle this more gracefully from the client key shares if possible
105
+ const clientKeyShares = await this.getClientKeySharesFromLocalStorage({
106
+ accountAddress
107
+ });
108
+ const rawPublicKey = await this.getRawPublicKeyFromClientKeyShares({
109
+ chainName: this.chainName,
110
+ clientKeyShare: clientKeyShares[0]
111
+ });
112
+ const suiPublicKey = new Ed25519PublicKey(rawPublicKey);
113
+ const serializedSignature = toSerializedSignature({
114
+ signature: signatureEd25519,
115
+ signatureScheme: 'ED25519',
116
+ publicKey: suiPublicKey
117
+ });
118
+ return serializedSignature;
119
+ }
120
+ async verifyMessageSignature({ message, signature, accountAddress }) {
121
+ try {
122
+ const messageBytes = new TextEncoder().encode(message);
123
+ const verifiedPublicKey = await verifyPersonalMessageSignature(messageBytes, signature);
124
+ const isVerified = verifiedPublicKey.toSuiAddress().toLowerCase() === accountAddress.toLowerCase();
125
+ if (!isVerified) {
126
+ throw new Error(ERROR_VERIFY_MESSAGE_SIGNATURE);
127
+ }
128
+ } catch (error) {
129
+ this.logger.error('Error verifying signature:', error);
130
+ throw error;
131
+ }
132
+ }
133
+ async verifyTransactionSignature({ transaction, signature, senderAddress }) {
134
+ try {
135
+ const txBytes = Uint8Array.from(Buffer.from(transaction, 'hex'));
136
+ const verifiedPublicKey = await verifyTransactionSignature(txBytes, signature);
137
+ const isVerified = verifiedPublicKey.toSuiAddress().toLowerCase() === senderAddress.toLowerCase();
138
+ if (!isVerified) {
139
+ throw new Error(ERROR_VERIFY_TRANSACTION_SIGNATURE);
140
+ }
141
+ } catch (error) {
142
+ this.logger.error('Error verifying signature:', error);
143
+ throw error;
144
+ }
145
+ }
146
+ async signMessage({ message, accountAddress, password = undefined }) {
147
+ if (!accountAddress) {
148
+ throw new Error('Account address is required');
149
+ }
150
+ try {
151
+ const formattedMessage = formatMessage(message, 'PersonalMessage');
152
+ const signatureEd25519 = await this.sign({
153
+ message: formattedMessage,
154
+ accountAddress: accountAddress,
155
+ chainName: this.chainName,
156
+ password
157
+ });
158
+ const formattedSignature = await this.formatSignature(signatureEd25519, accountAddress);
159
+ await this.verifyMessageSignature({
160
+ message,
161
+ signature: formattedSignature,
162
+ accountAddress
163
+ });
164
+ return formattedSignature;
165
+ } catch (error) {
166
+ this.logger.error('Error signing message:', error);
167
+ throw error;
168
+ }
169
+ }
170
+ async signTransaction({ transaction, senderAddress, password = undefined }) {
171
+ if (!senderAddress) {
172
+ throw new Error('Account address is required');
173
+ }
174
+ try {
175
+ const formattedMessage = formatMessage(transaction, 'TransactionData');
176
+ const signatureEd25519 = await this.sign({
177
+ message: formattedMessage,
178
+ accountAddress: senderAddress,
179
+ chainName: this.chainName,
180
+ password
181
+ });
182
+ const formattedSignature = await this.formatSignature(signatureEd25519, senderAddress);
183
+ await this.verifyTransactionSignature({
184
+ transaction,
185
+ signature: formattedSignature,
186
+ senderAddress
187
+ });
188
+ return formattedSignature;
189
+ } catch (error) {
190
+ this.logger.error('Error signing message:', error);
191
+ throw error;
192
+ }
193
+ }
194
+ deriveAccountAddress({ rawPublicKey }) {
195
+ const publicKey = new Ed25519PublicKey(rawPublicKey);
196
+ const accountAddress = publicKey.toSuiAddress();
197
+ return {
198
+ accountAddress,
199
+ publicKeyHex: Buffer.from(rawPublicKey).toString('hex')
200
+ };
201
+ }
202
+ async getSuiWallets() {
203
+ const wallets = await this.getWallets();
204
+ const suiWallets = wallets.filter((wallet)=>wallet.chainName === 'sui');
205
+ return suiWallets;
206
+ }
207
+ constructor({ environmentId, authToken, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug }){
208
+ super({
209
+ environmentId,
210
+ authToken,
211
+ baseApiUrl,
212
+ baseMPCRelayApiUrl,
213
+ storageKey,
214
+ debug
215
+ }), this.chainName = 'SUI';
216
+ }
217
+ }
218
+
219
+ export { DynamicSuiWalletClient };
package/package.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "@dynamic-labs-wallet/sui",
3
+ "version": "0.0.0-beta.146.1",
4
+ "license": "MIT",
5
+ "dependencies": {
6
+ "@dynamic-labs-wallet/browser": "0.0.0-beta.146.1",
7
+ "@mysten/sui": "1.26.0",
8
+ "@noble/hashes": "1.7.1"
9
+ },
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "nx": {
14
+ "sourceRoot": "packages/sui/src",
15
+ "projectType": "library",
16
+ "name": "sui",
17
+ "targets": {
18
+ "build": {}
19
+ }
20
+ },
21
+ "main": "./index.cjs.js",
22
+ "module": "./index.esm.js",
23
+ "types": "./index.esm.d.ts",
24
+ "exports": {
25
+ "./package.json": "./package.json",
26
+ ".": {
27
+ "types": "./index.esm.d.ts",
28
+ "import": "./index.esm.js",
29
+ "require": "./index.cjs.js",
30
+ "default": "./index.cjs.js"
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,42 @@
1
+ import { ClientKeyShare, DynamicWalletClient, EcdsaPublicKey, ThresholdSignatureScheme, DynamicWalletClientProps } from '@dynamic-labs-wallet/browser';
2
+ export declare class DynamicSuiWalletClient extends DynamicWalletClient {
3
+ readonly chainName = "SUI";
4
+ constructor({ environmentId, authToken, baseApiUrl, baseMPCRelayApiUrl, storageKey, debug, }: DynamicWalletClientProps);
5
+ createWalletAccount({ thresholdSignatureScheme, password, onError, }: {
6
+ thresholdSignatureScheme: ThresholdSignatureScheme;
7
+ password?: string;
8
+ onError?: (error: Error) => void;
9
+ }): Promise<{
10
+ accountAddress: string;
11
+ publicKeyHex: string;
12
+ rawPublicKey: EcdsaPublicKey | Uint8Array | undefined;
13
+ }>;
14
+ getRawPublicKeyFromClientKeyShares({ chainName, clientKeyShare, }: {
15
+ chainName: string;
16
+ clientKeyShare: ClientKeyShare;
17
+ }): Promise<any>;
18
+ /**
19
+ * Format Ed25519 signature to string that satisfies Sui signature standard
20
+ */
21
+ private formatSignature;
22
+ private verifyMessageSignature;
23
+ private verifyTransactionSignature;
24
+ signMessage({ message, accountAddress, password, }: {
25
+ message: string;
26
+ accountAddress: string;
27
+ password?: string;
28
+ }): Promise<string>;
29
+ signTransaction({ transaction, senderAddress, password, }: {
30
+ transaction: string;
31
+ senderAddress: string;
32
+ password?: string;
33
+ }): Promise<string>;
34
+ deriveAccountAddress({ rawPublicKey }: {
35
+ rawPublicKey: Uint8Array;
36
+ }): {
37
+ accountAddress: string;
38
+ publicKeyHex: string;
39
+ };
40
+ getSuiWallets(): Promise<any>;
41
+ }
42
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +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,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;KACvD,CAAC;IAuDI,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,WAAW,EACX,aAAa,EACb,QAAoB,GACrB,EAAE;QACD,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,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"}
@@ -0,0 +1,7 @@
1
+ export declare const ERROR_KEYGEN_FAILED = "Error with keygen";
2
+ export declare const ERROR_CREATE_WALLET_ACCOUNT = "Error creating sui wallet account";
3
+ export declare const ERROR_SIGN_MESSAGE = "Error signing message";
4
+ export declare const ERROR_ACCOUNT_ADDRESS_REQUIRED = "Account address is required";
5
+ export declare const ERROR_VERIFY_MESSAGE_SIGNATURE = "Error verifying message signature";
6
+ export declare const ERROR_VERIFY_TRANSACTION_SIGNATURE = "Error verifying transaction signature";
7
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/client/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAEvD,eAAO,MAAM,2BAA2B,sCAAsC,CAAC;AAE/E,eAAO,MAAM,kBAAkB,0BAA0B,CAAC;AAE1D,eAAO,MAAM,8BAA8B,gCAAgC,CAAC;AAE5E,eAAO,MAAM,8BAA8B,sCACN,CAAC;AAEtC,eAAO,MAAM,kCAAkC,0CACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './client';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
package/src/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './client';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
package/src/utils.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { IntentScope } from '@mysten/sui/cryptography';
2
+ export declare const formatMessage: (message: string, intentScope: IntentScope) => Uint8Array;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -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"}