@meshconnect/uwc-wallet-connect-connector 0.3.6 → 0.4.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.
@@ -1,14 +1,13 @@
1
- import type { EVMNativeTransferRequest, EVMContractCallRequest, EVMDataTransferRequest } from '@meshconnect/uwc-types';
2
- import type { TransactionRequest } from 'ethers';
1
+ import type { EVMNativeTransferRequest, EVMContractCallRequest, EVMTransactionParams, EVMDataTransferRequest } from '@meshconnect/uwc-types';
3
2
  /**
4
3
  * Service for handling Ethereum/EVM transaction operations
5
4
  */
6
5
  export declare class EthereumTransactionBuilder {
7
- getContractTransaction(request: EVMContractCallRequest): Promise<TransactionRequest>;
8
- getNativeTransaction(request: EVMNativeTransferRequest): Promise<TransactionRequest>;
9
- getDataTransaction(request: EVMDataTransferRequest): Promise<TransactionRequest>;
6
+ getContractTransaction(request: EVMContractCallRequest): Promise<EVMTransactionParams>;
7
+ getNativeTransaction(request: EVMNativeTransferRequest): Promise<EVMTransactionParams>;
8
+ getDataTransaction(request: EVMDataTransferRequest): Promise<EVMTransactionParams>;
10
9
  /**
11
- * Helper to format gas configuration for ethers
10
+ * Helper to format gas configuration for viem
12
11
  */
13
12
  private formatGasConfig;
14
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-transaction-builder.d.ts","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-transaction-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAEhD;;GAEG;AACH,qBAAa,0BAA0B;IAC/B,sBAAsB,CAC1B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IAiCxB,oBAAoB,CACxB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC;IAaxB,kBAAkB,CACtB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,kBAAkB,CAAC;IAiB9B;;OAEG;IACH,OAAO,CAAC,eAAe;CAiBxB"}
1
+ {"version":3,"file":"ethereum-transaction-builder.d.ts","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-transaction-builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAG/B;;GAEG;AACH,qBAAa,0BAA0B;IAC/B,sBAAsB,CAC1B,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAuB1B,oBAAoB,CACxB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,oBAAoB,CAAC;IAa1B,kBAAkB,CACtB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,oBAAoB,CAAC;IAgBhC;;OAEG;IACH,OAAO,CAAC,eAAe;CAmBxB"}
@@ -1,4 +1,4 @@
1
- import { ethers } from 'ethers';
1
+ import { encodeFunctionData } from 'viem';
2
2
  import { parseError } from '../../utils/error-utils';
3
3
  /**
4
4
  * Service for handling Ethereum/EVM transaction operations
@@ -6,22 +6,18 @@ import { parseError } from '../../utils/error-utils';
6
6
  export class EthereumTransactionBuilder {
7
7
  async getContractTransaction(request) {
8
8
  try {
9
- // Build transaction options
10
- const txOptions = {
11
- ...this.formatGasConfig(request.gasConfig)
12
- };
13
- // Add value for payable functions
14
- if (request.value) {
15
- txOptions.value = request.value;
16
- }
17
- const iface = new ethers.Interface(request.abi);
18
- const data = iface.encodeFunctionData(request.functionName, request.args || []);
9
+ // Encode function data using viem
10
+ const data = encodeFunctionData({
11
+ abi: request.abi,
12
+ functionName: request.functionName,
13
+ args: request.args || []
14
+ });
19
15
  const txRequest = {
20
16
  from: request.from,
21
17
  to: request.contractAddress,
22
18
  data,
23
19
  value: request.value ?? 0n,
24
- ...txOptions
20
+ ...this.formatGasConfig(request.gasConfig)
25
21
  };
26
22
  return txRequest;
27
23
  }
@@ -49,7 +45,6 @@ export class EthereumTransactionBuilder {
49
45
  to: request.to,
50
46
  data: request.data,
51
47
  value: request.value ?? 0n,
52
- chainId: BigInt(request.chainId),
53
48
  ...this.formatGasConfig(request.gasConfig)
54
49
  };
55
50
  return txRequest;
@@ -59,7 +54,7 @@ export class EthereumTransactionBuilder {
59
54
  }
60
55
  }
61
56
  /**
62
- * Helper to format gas configuration for ethers
57
+ * Helper to format gas configuration for viem
63
58
  */
64
59
  formatGasConfig(gasConfig) {
65
60
  const txOptions = {};
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-transaction-builder.js","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-transaction-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ethereum-transaction-builder.js","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-transaction-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;AAQzC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAEpD;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACrC,KAAK,CAAC,sBAAsB,CAC1B,OAA+B;QAE/B,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,IAAI,GAAG,kBAAkB,CAAC;gBAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE;aACzB,CAAC,CAAA;YAEF,MAAM,SAAS,GAAyB;gBACtC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,EAAE,EAAE,OAAO,CAAC,eAAe;gBAC3B,IAAI;gBACJ,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1B,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;aAC3C,CAAA;YAED,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAAiC;QAEjC,IAAI,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;aAC3C,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,OAA+B;QAE/B,IAAI,CAAC;YACH,MAAM,SAAS,GAAyB;gBACtC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1B,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC;aAC3C,CAAA;YAED,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CACrB,SAAwB;QAExB,MAAM,SAAS,GAAkC,EAAE,CAAA;QAEnD,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC;YACxB,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC7D,CAAC;QACD,IAAI,SAAS,EAAE,YAAY,EAAE,CAAC;YAC5B,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAA;QACrE,CAAC;QACD,IAAI,SAAS,EAAE,oBAAoB,EAAE,CAAC;YACpC,SAAS,CAAC,oBAAoB,GAAG,MAAM,CACrC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAC3C,CAAA;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-transaction-service.d.ts","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAK3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAMxD,qBAAa,0BAA0B;IACrC,OAAO,CAAC,OAAO,CAA4B;;IAI3C;;OAEG;IACG,eAAe,CACnB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,YAAY,CAAC,MAAM,EAC5B,OAAO,EAAE,0BAA0B,EACnC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC;IAwClB;;OAEG;YACW,qBAAqB;IA6BnC;;OAEG;YACW,gBAAgB;IA6B9B;;OAEG;YACW,gBAAgB;IA6B9B,OAAO,CAAC,gBAAgB;CA6BzB"}
1
+ {"version":3,"file":"ethereum-transaction-service.d.ts","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAM3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKxD,qBAAa,0BAA0B;IACrC,OAAO,CAAC,OAAO,CAA4B;;IAI3C;;OAEG;IACG,eAAe,CACnB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,YAAY,CAAC,MAAM,EAC5B,OAAO,EAAE,0BAA0B,EACnC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC;IAwClB;;OAEG;YACW,qBAAqB;IA6BnC;;OAEG;YACW,gBAAgB;IA6B9B;;OAEG;YACW,gBAAgB;IA6B9B,OAAO,CAAC,gBAAgB;CA6BzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum-transaction-service.js","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-transaction-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ethereum-transaction-service.js","sourceRoot":"","sources":["../../../src/services/ethereum/ethereum-transaction-service.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { ConnectionService } from './connection-service';
3
3
  import { findAccountInNamespaces, parseAccount } from '../utils/account-utils';
4
4
  import { base58Encode } from '../utils/encoding-utils';
5
5
  import { parseError } from '../utils/error-utils';
6
- import { TronWeb } from 'tronweb';
6
+ import { triggerSmartContract, stringToHex } from '../utils/tron-utils';
7
7
  /**
8
8
  * Service for handling message signing in WalletConnect
9
9
  */
@@ -60,16 +60,22 @@ export class SignatureService {
60
60
  }
61
61
  case 'tron': {
62
62
  // For TRON the user signs a mock transaction, since trust wallet returns incorrect TRON signatures
63
- const tronWeb = new TronWeb({ fullHost: 'https://api.trongrid.io/' });
64
63
  const mockContract = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t';
65
- const mockTransaction = await tronWeb.transactionBuilder.triggerSmartContract(mockContract, 'approve(address,uint256)', { feeLimit: 200000000 }, [
66
- { type: 'address', value: address },
67
- { type: 'uint256', value: 0 }
68
- ], address);
64
+ const mockTransaction = await triggerSmartContract({
65
+ contractAddress: mockContract,
66
+ functionSelector: 'approve(address,uint256)',
67
+ feeLimit: 200000000,
68
+ parameters: [
69
+ { type: 'address', value: address },
70
+ { type: 'uint256', value: 0 }
71
+ ],
72
+ ownerAddress: address
73
+ });
69
74
  if (!mockTransaction.transaction) {
70
- throw new Error('Failed to trigger contract');
75
+ throw new Error('Failed to create mock transaction');
71
76
  }
72
- mockTransaction.transaction.raw_data.data = tronWeb.toHex(message);
77
+ // Embed the message in the transaction data field
78
+ mockTransaction.transaction.raw_data.data = stringToHex(message);
73
79
  method = 'tron_signTransaction';
74
80
  params = {
75
81
  address,
@@ -1 +1 @@
1
- {"version":3,"file":"signature-service.js","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signature-service.js","sourceRoot":"","sources":["../../src/services/signature-service.ts"],"names":[],"mappings":"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"}
@@ -27,11 +27,15 @@ export declare function getChainIdFromNetworkId(networkId: NetworkId): string;
27
27
  /**
28
28
  * Find an account in session namespaces that matches the given network and address
29
29
  */
30
- export declare function findAccountInNamespaces(namespaces: Record<string, any>, targetNetworkId: NetworkId, targetAddress: string): string | null;
30
+ export declare function findAccountInNamespaces(namespaces: Record<string, {
31
+ accounts?: string[];
32
+ }>, targetNetworkId: NetworkId, targetAddress: string): string | null;
31
33
  /**
32
34
  * Extract all accounts from session namespaces
33
35
  */
34
- export declare function extractAccountsFromNamespaces(namespaces: Record<string, any>): Array<{
36
+ export declare function extractAccountsFromNamespaces(namespaces: Record<string, {
37
+ accounts?: string[];
38
+ }>): Array<{
35
39
  account: string;
36
40
  namespace: Namespace;
37
41
  chainId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"account-utils.d.ts","sourceRoot":"","sources":["../../src/utils/account-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAC7C,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,CAkBA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAGzE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAGpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,eAAe,EAAE,SAAS,EAC1B,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CAUf;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC9B,KAAK,CAAC;IACP,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAC,CAwBD"}
1
+ {"version":3,"file":"account-utils.d.ts","sourceRoot":"","sources":["../../src/utils/account-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAC7C,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,CAkBA;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAGzE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAGpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,EACnD,eAAe,EAAE,SAAS,EAC1B,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,IAAI,CAUf;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAClD,KAAK,CAAC;IACP,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAC,CAwBD"}
@@ -1 +1 @@
1
- {"version":3,"file":"account-utils.js","sourceRoot":"","sources":["../../src/utils/account-utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAM1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAc,CAAA;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IACzB,MAAM,SAAS,GAAG,GAAG,SAAS,IAAI,OAAO,EAAe,CAAA;IACxD,0EAA0E;IAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAExC,OAAO;QACL,SAAS;QACT,OAAO;QACP,SAAS;QACT,OAAO;KACR,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAoB,EACpB,OAAe,EACf,OAAe;IAEf,OAAO,GAAG,SAAS,IAAI,OAAO,IAAI,OAAO,EAAE,CAAA;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAoB;IAC5D,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxC,OAAO,SAAsB,CAAA;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAoB;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxC,OAAO,OAAO,IAAI,EAAE,CAAA;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAA+B,EAC/B,eAA0B,EAC1B,aAAqB;IAErB,KAAK,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YACpD,IAAI,SAAS,KAAK,eAAe,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;gBAC/D,OAAO,OAAO,CAAA;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,UAA+B;IAQ/B,MAAM,QAAQ,GAMT,EAAE,CAAA;IAEP,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,EAAE;QACvD,CAAC;QAAA,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE;YAC1D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;gBACpC,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO;oBACP,GAAG,MAAM;iBACV,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"account-utils.js","sourceRoot":"","sources":["../../src/utils/account-utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAM1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAc,CAAA;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAA;IACzB,MAAM,SAAS,GAAG,GAAG,SAAS,IAAI,OAAO,EAAe,CAAA;IACxD,0EAA0E;IAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAExC,OAAO;QACL,SAAS;QACT,OAAO;QACP,SAAS;QACT,OAAO;KACR,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAoB,EACpB,OAAe,EACf,OAAe;IAEf,OAAO,GAAG,SAAS,IAAI,OAAO,IAAI,OAAO,EAAE,CAAA;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAoB;IAC5D,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxC,OAAO,SAAsB,CAAA;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAoB;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxC,OAAO,OAAO,IAAI,EAAE,CAAA;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAmD,EACnD,eAA0B,EAC1B,aAAqB;IAErB,KAAK,MAAM,CAAC,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;YACnD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;YACpD,IAAI,SAAS,KAAK,eAAe,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;gBAC/D,OAAO,OAAO,CAAA;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,UAAmD;IAQnD,MAAM,QAAQ,GAMT,EAAE,CAAA;IAEP,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,EAAE;QACvD,CAAC;QAAA,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE;YAC1D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;gBACpC,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO;oBACP,GAAG,MAAM;iBACV,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Minimal TRON utilities to replace TronWeb dependency
3
+ * Only includes functionality needed for creating mock transactions
4
+ */
5
+ /**
6
+ * Convert UTF-8 string to hex
7
+ */
8
+ export declare function stringToHex(str: string): string;
9
+ /**
10
+ * Trigger smart contract via TronGrid API
11
+ * This creates a transaction structure without requiring the full TronWeb library
12
+ */
13
+ export declare function triggerSmartContract(params: {
14
+ contractAddress: string;
15
+ functionSelector: string;
16
+ feeLimit: number;
17
+ parameters: Array<{
18
+ type: string;
19
+ value: string | number;
20
+ }>;
21
+ ownerAddress: string;
22
+ }): Promise<{
23
+ transaction?: {
24
+ raw_data: {
25
+ contract: Array<{
26
+ parameter: {
27
+ value: {
28
+ data: string;
29
+ owner_address: string;
30
+ contract_address: string;
31
+ };
32
+ type_url: string;
33
+ };
34
+ type: string;
35
+ }>;
36
+ ref_block_bytes: string;
37
+ ref_block_hash: string;
38
+ expiration: number;
39
+ fee_limit: number;
40
+ timestamp: number;
41
+ data?: string;
42
+ };
43
+ txID: string;
44
+ };
45
+ result?: {
46
+ result: boolean;
47
+ };
48
+ transaction_id?: string;
49
+ }>;
50
+ //# sourceMappingURL=tron-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tron-utils.d.ts","sourceRoot":"","sources":["../../src/utils/tron-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ/C;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAA;IAC3D,YAAY,EAAE,MAAM,CAAA;CACrB,GAAG,OAAO,CAAC;IACV,WAAW,CAAC,EAAE;QACZ,QAAQ,EAAE;YACR,QAAQ,EAAE,KAAK,CAAC;gBACd,SAAS,EAAE;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,MAAM,CAAA;wBACZ,aAAa,EAAE,MAAM,CAAA;wBACrB,gBAAgB,EAAE,MAAM,CAAA;qBACzB,CAAA;oBACD,QAAQ,EAAE,MAAM,CAAA;iBACjB,CAAA;gBACD,IAAI,EAAE,MAAM,CAAA;aACb,CAAC,CAAA;YACF,eAAe,EAAE,MAAM,CAAA;YACvB,cAAc,EAAE,MAAM,CAAA;YACtB,UAAU,EAAE,MAAM,CAAA;YAClB,SAAS,EAAE,MAAM,CAAA;YACjB,SAAS,EAAE,MAAM,CAAA;YACjB,IAAI,CAAC,EAAE,MAAM,CAAA;SACd,CAAA;QACD,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,MAAM,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAC,CAsGD"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Minimal TRON utilities to replace TronWeb dependency
3
+ * Only includes functionality needed for creating mock transactions
4
+ */
5
+ /**
6
+ * Convert UTF-8 string to hex
7
+ */
8
+ export function stringToHex(str) {
9
+ let hex = '';
10
+ for (let i = 0; i < str.length; i++) {
11
+ const charCode = str.charCodeAt(i);
12
+ const hexValue = charCode.toString(16);
13
+ hex += hexValue.padStart(2, '0');
14
+ }
15
+ return hex;
16
+ }
17
+ /**
18
+ * Trigger smart contract via TronGrid API
19
+ * This creates a transaction structure without requiring the full TronWeb library
20
+ */
21
+ export async function triggerSmartContract(params) {
22
+ const { contractAddress, functionSelector, feeLimit, parameters, ownerAddress } = params;
23
+ try {
24
+ // Call TronGrid API to generate transaction
25
+ const response = await fetch('https://api.trongrid.io/wallet/triggersmartcontract', {
26
+ method: 'POST',
27
+ headers: {
28
+ 'Content-Type': 'application/json'
29
+ },
30
+ body: JSON.stringify({
31
+ contract_address: contractAddress,
32
+ function_selector: functionSelector,
33
+ fee_limit: feeLimit,
34
+ parameter: parameters
35
+ .map(p => {
36
+ if (p.type === 'address') {
37
+ // Convert base58 address to hex for API
38
+ return { type: p.type, value: p.value };
39
+ }
40
+ return p;
41
+ })
42
+ .join(','),
43
+ owner_address: ownerAddress,
44
+ call_value: 0
45
+ })
46
+ });
47
+ if (!response.ok) {
48
+ throw new Error(`TronGrid API error: ${response.statusText}`);
49
+ }
50
+ const result = (await response.json());
51
+ return result;
52
+ }
53
+ catch (error) {
54
+ // If API call fails, create a minimal mock structure
55
+ // This ensures the code doesn't break even if TronGrid is down
56
+ // eslint-disable-next-line no-console
57
+ console.warn('TronGrid API call failed, using minimal mock transaction:', error);
58
+ return {
59
+ transaction: {
60
+ raw_data: {
61
+ contract: [
62
+ {
63
+ parameter: {
64
+ value: {
65
+ data: '',
66
+ owner_address: ownerAddress,
67
+ contract_address: contractAddress
68
+ },
69
+ type_url: 'type.googleapis.com/protocol.TriggerSmartContract'
70
+ },
71
+ type: 'TriggerSmartContract'
72
+ }
73
+ ],
74
+ ref_block_bytes: '0000',
75
+ ref_block_hash: '0000000000000000',
76
+ expiration: Date.now() + 60000,
77
+ fee_limit: feeLimit,
78
+ timestamp: Date.now()
79
+ },
80
+ txID: '0000000000000000000000000000000000000000000000000000000000000000'
81
+ }
82
+ };
83
+ }
84
+ }
85
+ //# sourceMappingURL=tron-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tron-utils.js","sourceRoot":"","sources":["../../src/utils/tron-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACtC,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAM1C;IA0BC,MAAM,EACJ,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,YAAY,EACb,GAAG,MAAM,CAAA;IAEV,IAAI,CAAC;QACH,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,qDAAqD,EACrD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,gBAAgB,EAAE,eAAe;gBACjC,iBAAiB,EAAE,gBAAgB;gBACnC,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,UAAU;qBAClB,GAAG,CAAC,CAAC,CAAC,EAAE;oBACP,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACzB,wCAAwC;wBACxC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;oBACzC,CAAC;oBACD,OAAO,CAAC,CAAA;gBACV,CAAC,CAAC;qBACD,IAAI,CAAC,GAAG,CAAC;gBACZ,aAAa,EAAE,YAAY;gBAC3B,UAAU,EAAE,CAAC;aACd,CAAC;SACH,CACF,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;QAC/D,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAyBpC,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qDAAqD;QACrD,+DAA+D;QAC/D,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,2DAA2D,EAC3D,KAAK,CACN,CAAA;QACD,OAAO;YACL,WAAW,EAAE;gBACX,QAAQ,EAAE;oBACR,QAAQ,EAAE;wBACR;4BACE,SAAS,EAAE;gCACT,KAAK,EAAE;oCACL,IAAI,EAAE,EAAE;oCACR,aAAa,EAAE,YAAY;oCAC3B,gBAAgB,EAAE,eAAe;iCAClC;gCACD,QAAQ,EAAE,mDAAmD;6BAC9D;4BACD,IAAI,EAAE,sBAAsB;yBAC7B;qBACF;oBACD,eAAe,EAAE,MAAM;oBACvB,cAAc,EAAE,kBAAkB;oBAClC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC9B,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB;gBACD,IAAI,EAAE,kEAAkE;aACzE;SACF,CAAA;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshconnect/uwc-wallet-connect-connector",
3
- "version": "0.3.6",
3
+ "version": "0.4.0",
4
4
  "description": "WalletConnect connector for Universal Wallet Connector",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -23,9 +23,8 @@
23
23
  "@walletconnect/utils": "^2.21.8",
24
24
  "bs58": "^6.0.0",
25
25
  "buffer": "^6.0.3",
26
- "ethers": "^6.15.0",
27
- "tronweb": "^6.0.4",
28
- "@meshconnect/uwc-types": "0.4.5"
26
+ "viem": "^2.39.2",
27
+ "@meshconnect/uwc-types": "0.5.0"
29
28
  },
30
29
  "devDependencies": {
31
30
  "typescript": "^5.9.2"
@@ -141,11 +141,28 @@ describe('WalletConnect EthereumTransactionBuilder', () => {
141
141
  from: request.from,
142
142
  to: request.to,
143
143
  data: request.data,
144
- chainId: BigInt(1),
144
+ value: request.value,
145
145
  gasLimit: BigInt(100000),
146
146
  maxFeePerGas: BigInt(50000000000),
147
- maxPriorityFeePerGas: BigInt(2000000000),
148
- value: BigInt('500000000000000000')
147
+ maxPriorityFeePerGas: BigInt(2000000000)
148
+ })
149
+ })
150
+
151
+ it('should build a data transaction without value', async () => {
152
+ const request: EVMDataTransferRequest = {
153
+ from: '0x1234567890123456789012345678901234567890',
154
+ to: '0x0987654321098765432109876543210987654321',
155
+ data: '0xa9059cbb',
156
+ chainId: '137' // Polygon
157
+ }
158
+
159
+ const result = await builder.getDataTransaction(request)
160
+
161
+ expect(result).toEqual({
162
+ from: request.from,
163
+ to: request.to,
164
+ data: request.data,
165
+ value: 0n
149
166
  })
150
167
  })
151
168
 
@@ -181,7 +198,7 @@ describe('WalletConnect EthereumTransactionBuilder', () => {
181
198
  expect(result.from).toBe(request.from)
182
199
  expect(result.data).toBe('0x')
183
200
  expect(result.to).toBe(request.to)
184
- expect(result.chainId).toBe(BigInt(1))
201
+ expect(result.value).toBe(0n)
185
202
  })
186
203
 
187
204
  it('should handle complex encoded data', async () => {
@@ -198,10 +215,10 @@ describe('WalletConnect EthereumTransactionBuilder', () => {
198
215
 
199
216
  expect(result.from).toBe(request.from)
200
217
  expect(result.data).toBe(complexData)
201
- expect(result.chainId).toBe(BigInt(42161))
218
+ expect(result.value).toBe(0n)
202
219
  })
203
220
 
204
- it('should handle different chain IDs', async () => {
221
+ it('should handle different chain IDs in request', async () => {
205
222
  const chains = [
206
223
  { id: '1', name: 'Ethereum' },
207
224
  { id: '137', name: 'Polygon' },
@@ -220,7 +237,10 @@ describe('WalletConnect EthereumTransactionBuilder', () => {
220
237
 
221
238
  const result = await builder.getDataTransaction(request)
222
239
 
223
- expect(result.chainId).toBe(BigInt(chain.id))
240
+ // The builder doesn't return chainId, but it should accept it in the request
241
+ expect(result.from).toBe(request.from)
242
+ expect(result.data).toBe(request.data)
243
+ expect(result.value).toBe(0n)
224
244
  }
225
245
  })
226
246
  })
@@ -1,12 +1,12 @@
1
- import { ethers } from 'ethers'
1
+ import { encodeFunctionData } from 'viem'
2
2
  import type {
3
3
  EVMGasConfig,
4
4
  EVMNativeTransferRequest,
5
5
  EVMContractCallRequest,
6
+ EVMTransactionParams,
6
7
  EVMDataTransferRequest
7
8
  } from '@meshconnect/uwc-types'
8
9
  import { parseError } from '../../utils/error-utils'
9
- import type { TransactionRequest } from 'ethers'
10
10
 
11
11
  /**
12
12
  * Service for handling Ethereum/EVM transaction operations
@@ -14,31 +14,21 @@ import type { TransactionRequest } from 'ethers'
14
14
  export class EthereumTransactionBuilder {
15
15
  async getContractTransaction(
16
16
  request: EVMContractCallRequest
17
- ): Promise<TransactionRequest> {
17
+ ): Promise<EVMTransactionParams> {
18
18
  try {
19
- // Build transaction options
20
- const txOptions: ethers.Overrides = {
21
- ...this.formatGasConfig(request.gasConfig)
22
- }
23
-
24
- // Add value for payable functions
25
- if (request.value) {
26
- txOptions.value = request.value
27
- }
19
+ // Encode function data using viem
20
+ const data = encodeFunctionData({
21
+ abi: request.abi,
22
+ functionName: request.functionName,
23
+ args: request.args || []
24
+ })
28
25
 
29
- const iface = new ethers.Interface(request.abi)
30
-
31
- const data = iface.encodeFunctionData(
32
- request.functionName,
33
- request.args || []
34
- )
35
-
36
- const txRequest: TransactionRequest = {
26
+ const txRequest: EVMTransactionParams = {
37
27
  from: request.from,
38
28
  to: request.contractAddress,
39
29
  data,
40
30
  value: request.value ?? 0n,
41
- ...txOptions
31
+ ...this.formatGasConfig(request.gasConfig)
42
32
  }
43
33
 
44
34
  return txRequest
@@ -49,7 +39,7 @@ export class EthereumTransactionBuilder {
49
39
 
50
40
  async getNativeTransaction(
51
41
  request: EVMNativeTransferRequest
52
- ): Promise<TransactionRequest> {
42
+ ): Promise<EVMTransactionParams> {
53
43
  try {
54
44
  return {
55
45
  from: request.from,
@@ -64,14 +54,13 @@ export class EthereumTransactionBuilder {
64
54
 
65
55
  async getDataTransaction(
66
56
  request: EVMDataTransferRequest
67
- ): Promise<TransactionRequest> {
57
+ ): Promise<EVMTransactionParams> {
68
58
  try {
69
- const txRequest: TransactionRequest = {
59
+ const txRequest: EVMTransactionParams = {
70
60
  from: request.from,
71
61
  to: request.to,
72
62
  data: request.data,
73
63
  value: request.value ?? 0n,
74
- chainId: BigInt(request.chainId),
75
64
  ...this.formatGasConfig(request.gasConfig)
76
65
  }
77
66
 
@@ -82,10 +71,12 @@ export class EthereumTransactionBuilder {
82
71
  }
83
72
 
84
73
  /**
85
- * Helper to format gas configuration for ethers
74
+ * Helper to format gas configuration for viem
86
75
  */
87
- private formatGasConfig(gasConfig?: EVMGasConfig): ethers.Overrides {
88
- const txOptions: ethers.Overrides = {}
76
+ private formatGasConfig(
77
+ gasConfig?: EVMGasConfig
78
+ ): Partial<EVMTransactionParams> {
79
+ const txOptions: Partial<EVMTransactionParams> = {}
89
80
 
90
81
  if (gasConfig?.gasLimit) {
91
82
  txOptions.gasLimit = BigInt(Math.floor(gasConfig.gasLimit))
@@ -3,14 +3,14 @@ import type {
3
3
  EVMContractCallRequest,
4
4
  EVMNativeTransferRequest,
5
5
  EVMDataTransferRequest,
6
- NetworkId
6
+ NetworkId,
7
+ EVMTransactionParams
7
8
  } from '@meshconnect/uwc-types'
8
9
  import type SignClient from '@walletconnect/sign-client'
9
10
  import type { SessionTypes } from '@walletconnect/types'
10
11
  import { getChainIdFromNetworkId } from '../../utils/account-utils'
11
12
  import { parseError } from '../../utils/error-utils'
12
13
  import { EthereumTransactionBuilder } from './ethereum-transaction-builder'
13
- import type { TransactionRequest } from 'ethers'
14
14
 
15
15
  export class EthereumTransactionService {
16
16
  private builder: EthereumTransactionBuilder
@@ -161,7 +161,7 @@ export class EthereumTransactionService {
161
161
  }
162
162
  }
163
163
 
164
- private parseTransaction(tx: TransactionRequest): Record<string, string> {
164
+ private parseTransaction(tx: EVMTransactionParams): Record<string, string> {
165
165
  // Convert to hex format for WalletConnect
166
166
  const txParams: Record<string, string> = {
167
167
  from: tx.from as string,
@@ -3,7 +3,7 @@ import { ConnectionService } from './connection-service'
3
3
  import { findAccountInNamespaces, parseAccount } from '../utils/account-utils'
4
4
  import { base58Encode } from '../utils/encoding-utils'
5
5
  import { parseError } from '../utils/error-utils'
6
- import { TronWeb } from 'tronweb'
6
+ import { triggerSmartContract, stringToHex } from '../utils/tron-utils'
7
7
  import type { SignatureType } from '@meshconnect/uwc-types'
8
8
 
9
9
  /**
@@ -83,25 +83,25 @@ export class SignatureService {
83
83
 
84
84
  case 'tron': {
85
85
  // For TRON the user signs a mock transaction, since trust wallet returns incorrect TRON signatures
86
- const tronWeb = new TronWeb({ fullHost: 'https://api.trongrid.io/' })
87
86
  const mockContract = 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
88
87
 
89
- const mockTransaction =
90
- await tronWeb.transactionBuilder.triggerSmartContract(
91
- mockContract,
92
- 'approve(address,uint256)',
93
- { feeLimit: 200000000 },
94
- [
95
- { type: 'address', value: address },
96
- { type: 'uint256', value: 0 }
97
- ],
98
- address
99
- )
88
+ const mockTransaction = await triggerSmartContract({
89
+ contractAddress: mockContract,
90
+ functionSelector: 'approve(address,uint256)',
91
+ feeLimit: 200000000,
92
+ parameters: [
93
+ { type: 'address', value: address },
94
+ { type: 'uint256', value: 0 }
95
+ ],
96
+ ownerAddress: address
97
+ })
100
98
 
101
99
  if (!mockTransaction.transaction) {
102
- throw new Error('Failed to trigger contract')
100
+ throw new Error('Failed to create mock transaction')
103
101
  }
104
- mockTransaction.transaction.raw_data.data = tronWeb.toHex(message)
102
+
103
+ // Embed the message in the transaction data field
104
+ mockTransaction.transaction.raw_data.data = stringToHex(message)
105
105
 
106
106
  method = 'tron_signTransaction'
107
107
  params = {
@@ -63,7 +63,7 @@ export function getChainIdFromNetworkId(networkId: NetworkId): string {
63
63
  * Find an account in session namespaces that matches the given network and address
64
64
  */
65
65
  export function findAccountInNamespaces(
66
- namespaces: Record<string, any>,
66
+ namespaces: Record<string, { accounts?: string[] }>,
67
67
  targetNetworkId: NetworkId,
68
68
  targetAddress: string
69
69
  ): string | null {
@@ -82,7 +82,7 @@ export function findAccountInNamespaces(
82
82
  * Extract all accounts from session namespaces
83
83
  */
84
84
  export function extractAccountsFromNamespaces(
85
- namespaces: Record<string, any>
85
+ namespaces: Record<string, { accounts?: string[] }>
86
86
  ): Array<{
87
87
  account: string
88
88
  namespace: Namespace
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Minimal TRON utilities to replace TronWeb dependency
3
+ * Only includes functionality needed for creating mock transactions
4
+ */
5
+
6
+ /**
7
+ * Convert UTF-8 string to hex
8
+ */
9
+ export function stringToHex(str: string): string {
10
+ let hex = ''
11
+ for (let i = 0; i < str.length; i++) {
12
+ const charCode = str.charCodeAt(i)
13
+ const hexValue = charCode.toString(16)
14
+ hex += hexValue.padStart(2, '0')
15
+ }
16
+ return hex
17
+ }
18
+
19
+ /**
20
+ * Trigger smart contract via TronGrid API
21
+ * This creates a transaction structure without requiring the full TronWeb library
22
+ */
23
+ export async function triggerSmartContract(params: {
24
+ contractAddress: string
25
+ functionSelector: string
26
+ feeLimit: number
27
+ parameters: Array<{ type: string; value: string | number }>
28
+ ownerAddress: string
29
+ }): Promise<{
30
+ transaction?: {
31
+ raw_data: {
32
+ contract: Array<{
33
+ parameter: {
34
+ value: {
35
+ data: string
36
+ owner_address: string
37
+ contract_address: string
38
+ }
39
+ type_url: string
40
+ }
41
+ type: string
42
+ }>
43
+ ref_block_bytes: string
44
+ ref_block_hash: string
45
+ expiration: number
46
+ fee_limit: number
47
+ timestamp: number
48
+ data?: string
49
+ }
50
+ txID: string
51
+ }
52
+ result?: { result: boolean }
53
+ transaction_id?: string
54
+ }> {
55
+ const {
56
+ contractAddress,
57
+ functionSelector,
58
+ feeLimit,
59
+ parameters,
60
+ ownerAddress
61
+ } = params
62
+
63
+ try {
64
+ // Call TronGrid API to generate transaction
65
+ const response = await fetch(
66
+ 'https://api.trongrid.io/wallet/triggersmartcontract',
67
+ {
68
+ method: 'POST',
69
+ headers: {
70
+ 'Content-Type': 'application/json'
71
+ },
72
+ body: JSON.stringify({
73
+ contract_address: contractAddress,
74
+ function_selector: functionSelector,
75
+ fee_limit: feeLimit,
76
+ parameter: parameters
77
+ .map(p => {
78
+ if (p.type === 'address') {
79
+ // Convert base58 address to hex for API
80
+ return { type: p.type, value: p.value }
81
+ }
82
+ return p
83
+ })
84
+ .join(','),
85
+ owner_address: ownerAddress,
86
+ call_value: 0
87
+ })
88
+ }
89
+ )
90
+
91
+ if (!response.ok) {
92
+ throw new Error(`TronGrid API error: ${response.statusText}`)
93
+ }
94
+
95
+ const result = (await response.json()) as {
96
+ transaction?: {
97
+ raw_data: {
98
+ contract: Array<{
99
+ parameter: {
100
+ value: {
101
+ data: string
102
+ owner_address: string
103
+ contract_address: string
104
+ }
105
+ type_url: string
106
+ }
107
+ type: string
108
+ }>
109
+ ref_block_bytes: string
110
+ ref_block_hash: string
111
+ expiration: number
112
+ fee_limit: number
113
+ timestamp: number
114
+ data?: string
115
+ }
116
+ txID: string
117
+ }
118
+ result?: { result: boolean }
119
+ transaction_id?: string
120
+ }
121
+ return result
122
+ } catch (error) {
123
+ // If API call fails, create a minimal mock structure
124
+ // This ensures the code doesn't break even if TronGrid is down
125
+ // eslint-disable-next-line no-console
126
+ console.warn(
127
+ 'TronGrid API call failed, using minimal mock transaction:',
128
+ error
129
+ )
130
+ return {
131
+ transaction: {
132
+ raw_data: {
133
+ contract: [
134
+ {
135
+ parameter: {
136
+ value: {
137
+ data: '',
138
+ owner_address: ownerAddress,
139
+ contract_address: contractAddress
140
+ },
141
+ type_url: 'type.googleapis.com/protocol.TriggerSmartContract'
142
+ },
143
+ type: 'TriggerSmartContract'
144
+ }
145
+ ],
146
+ ref_block_bytes: '0000',
147
+ ref_block_hash: '0000000000000000',
148
+ expiration: Date.now() + 60000,
149
+ fee_limit: feeLimit,
150
+ timestamp: Date.now()
151
+ },
152
+ txID: '0000000000000000000000000000000000000000000000000000000000000000'
153
+ }
154
+ }
155
+ }
156
+ }