@hashgraph/hedera-wallet-connect 1.3.8-canary.edae801.0 → 1.3.8-canary.ef457e6.0

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.
@@ -31,7 +31,9 @@ export declare class DAppSigner implements Signer {
31
31
  getAccountInfo(): Promise<AccountInfo>;
32
32
  getAccountRecords(): Promise<TransactionRecord[]>;
33
33
  getMetadata(): CoreTypes.Metadata;
34
- sign(data: Uint8Array[], signOptions?: Record<string, any>): Promise<SignerSignature[]>;
34
+ sign(data: Uint8Array[], signOptions?: {
35
+ encoding?: 'utf-8' | 'base64';
36
+ }): Promise<SignerSignature[]>;
35
37
  checkTransaction<T extends Transaction>(transaction: T): Promise<T>;
36
38
  populateTransaction<T extends Transaction>(transaction: T): Promise<T>;
37
39
  /**
@@ -19,7 +19,7 @@
19
19
  */
20
20
  import { AccountBalance, AccountId, AccountInfo, LedgerId, SignerSignature, Transaction, TransactionRecord, Client, PublicKey, TransactionId, TransactionResponse, Query, AccountRecordsQuery, AccountInfoQuery, AccountBalanceQuery, TransactionReceiptQuery, TransactionReceipt, TransactionRecordQuery, } from '@hashgraph/sdk';
21
21
  import { proto } from '@hashgraph/proto';
22
- import { HederaJsonRpcMethod, Uint8ArrayToBase64String, base64StringToSignatureMap, base64StringToUint8Array, ledgerIdToCAIPChainId, queryToBase64String, transactionBodyToBase64String, transactionToBase64String, transactionToTransactionBody, extensionOpen, } from '../shared';
22
+ import { HederaJsonRpcMethod, base64StringToSignatureMap, base64StringToUint8Array, ledgerIdToCAIPChainId, queryToBase64String, transactionBodyToBase64String, transactionToBase64String, transactionToTransactionBody, extensionOpen, Uint8ArrayToBase64String, Uint8ArrayToString, } from '../shared';
23
23
  import { DefaultLogger } from '../shared/logger';
24
24
  const clients = {};
25
25
  export class DAppSigner {
@@ -95,14 +95,18 @@ export class DAppSigner {
95
95
  getMetadata() {
96
96
  return this.signClient.metadata;
97
97
  }
98
- async sign(data, signOptions) {
99
- this.logger.debug('Signing data');
98
+ async sign(data, signOptions = {
99
+ encoding: 'utf-8',
100
+ }) {
100
101
  try {
102
+ const messageToSign = signOptions.encoding === 'base64'
103
+ ? Uint8ArrayToBase64String(data[0])
104
+ : Uint8ArrayToString(data[0]);
101
105
  const { signatureMap } = await this.request({
102
106
  method: HederaJsonRpcMethod.SignMessage,
103
107
  params: {
104
108
  signerAccountId: this._signerAccountId,
105
- message: Uint8ArrayToBase64String(data[0]),
109
+ message: messageToSign,
106
110
  },
107
111
  });
108
112
  const sigmap = base64StringToSignatureMap(signatureMap);
@@ -230,9 +234,7 @@ export class DAppSigner {
230
234
  if (!(result === null || result === void 0 ? void 0 : result.error)) {
231
235
  return { result: result.result };
232
236
  }
233
- else {
234
- this.logger.error('Error executing free receipt query. Sending to wallet.', result.error);
235
- }
237
+ this.logger.error('Error executing free receipt query. Sending to wallet.', result.error);
236
238
  }
237
239
  /**
238
240
  * Note, should we be converting these to specific query types?
@@ -49,8 +49,8 @@ export declare function base64StringToTransaction<T extends Transaction>(transac
49
49
  * @param transaction - a base64 encoded string of proto.TransactionBody.encode().finish()
50
50
  * @returns `string`
51
51
  * */
52
- export declare function transactionToTransactionBody<T extends Transaction>(transaction: T, nodeAccountId: AccountId): Uint8Array | null | undefined;
53
- export declare function transactionBodyToBase64String(transactionBody: Uint8Array): string;
52
+ export declare function transactionToTransactionBody<T extends Transaction>(transaction: T, nodeAccountId: AccountId): any;
53
+ export declare function transactionBodyToBase64String(transactionBody: proto.ITransactionBody): string;
54
54
  /**
55
55
  * @param transactionList - a proto.TransactionList object
56
56
  * @returns `string`
@@ -85,6 +85,12 @@ export declare function base64StringToSignatureMap(base64string: string): proto.
85
85
  * @returns Base64-encoded string representation of the input `Uint8Array`
86
86
  */
87
87
  export declare function Uint8ArrayToBase64String(binary: Uint8Array): string;
88
+ /**
89
+ * Encodes the binary data represented by the `Uint8Array` to a UTF-8 string.
90
+ * @param binary - The `Uint8Array` containing binary data to be converted
91
+ * @returns UTF-8 string representation of the input `Uint8Array`
92
+ */
93
+ export declare function Uint8ArrayToString(binary: Uint8Array): string;
88
94
  /**
89
95
  * Converts a Base64-encoded string to a `Uint8Array`.
90
96
  * @param base64string - Base64-encoded string to be converted
@@ -86,10 +86,10 @@ export function base64StringToTransaction(transactionBytes) {
86
86
  export function transactionToTransactionBody(transaction, nodeAccountId) {
87
87
  // This is a private function, though provides the capabilities to construct a proto.TransactionBody
88
88
  //@ts-ignore
89
- return transaction._signedTransactions.current.bodyBytes;
89
+ return transaction._makeTransactionBody(nodeAccountId);
90
90
  }
91
91
  export function transactionBodyToBase64String(transactionBody) {
92
- return Uint8ArrayToBase64String(transactionBody);
92
+ return Uint8ArrayToBase64String(proto.TransactionBody.encode(transactionBody).finish());
93
93
  }
94
94
  /**
95
95
  * @param transactionList - a proto.TransactionList object
@@ -139,6 +139,14 @@ export function base64StringToSignatureMap(base64string) {
139
139
  export function Uint8ArrayToBase64String(binary) {
140
140
  return Buffer.from(binary).toString('base64');
141
141
  }
142
+ /**
143
+ * Encodes the binary data represented by the `Uint8Array` to a UTF-8 string.
144
+ * @param binary - The `Uint8Array` containing binary data to be converted
145
+ * @returns UTF-8 string representation of the input `Uint8Array`
146
+ */
147
+ export function Uint8ArrayToString(binary) {
148
+ return Buffer.from(binary).toString('utf-8');
149
+ }
142
150
  /**
143
151
  * Converts a Base64-encoded string to a `Uint8Array`.
144
152
  * @param base64string - Base64-encoded string to be converted
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hashgraph/hedera-wallet-connect",
3
- "version": "1.3.8-canary.edae801.0",
3
+ "version": "1.3.8-canary.ef457e6.0",
4
4
  "description": "A library to facilitate integrating Hedera with WalletConnect",
5
5
  "repository": {
6
6
  "type": "git",
@@ -55,6 +55,7 @@
55
55
  "dev:ts-demo": "rimraf dist && npm run build && concurrently --raw \"npm run watch\" \"node scripts/demos/typescript/dev.mjs\"",
56
56
  "dev:react-demo": "rimraf dist && npm run build && concurrently --raw \"npm run watch\" \"node scripts/demos/react/dev.mjs\"",
57
57
  "test": "jest",
58
+ "test:watch": "jest --watch",
58
59
  "test:connect": "jest --testMatch '**/DAppConnector.test.ts' --verbose",
59
60
  "test:signer": "jest --testMatch '**/DAppSigner.test.ts' --verbose",
60
61
  "prepublishOnly": "rm -Rf dist && npm run build",