@meshconnect/uwc-wallet-connect-connector 0.10.0 → 0.11.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.
- package/dist/services/connection-service.d.ts.map +1 -1
- package/dist/services/connection-service.js +2 -1
- package/dist/services/connection-service.js.map +1 -1
- package/dist/services/transaction-service.d.ts +1 -0
- package/dist/services/transaction-service.d.ts.map +1 -1
- package/dist/services/transaction-service.js +6 -0
- package/dist/services/transaction-service.js.map +1 -1
- package/dist/services/tron/tron-methods.d.ts +5 -0
- package/dist/services/tron/tron-methods.d.ts.map +1 -0
- package/dist/services/tron/tron-methods.js +7 -0
- package/dist/services/tron/tron-methods.js.map +1 -0
- package/dist/services/tron/tron-transaction-service.d.ts +8 -0
- package/dist/services/tron/tron-transaction-service.d.ts.map +1 -0
- package/dist/services/tron/tron-transaction-service.js +59 -0
- package/dist/services/tron/tron-transaction-service.js.map +1 -0
- package/dist/utils/tron-utils.d.ts +41 -1
- package/dist/utils/tron-utils.d.ts.map +1 -1
- package/dist/utils/tron-utils.js +230 -1
- package/dist/utils/tron-utils.js.map +1 -1
- package/package.json +1 -1
- package/src/services/connection-service.ts +2 -1
- package/src/services/transaction-service.ts +12 -0
- package/src/services/tron/tron-methods.ts +6 -0
- package/src/services/tron/tron-transaction-service.test.ts +272 -0
- package/src/services/tron/tron-transaction-service.ts +97 -0
- package/src/utils/tron-utils.test.ts +307 -0
- package/src/utils/tron-utils.ts +312 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-service.d.ts","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EACV,OAAO,EAEP,eAAe,EACf,qBAAqB,EAEtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"connection-service.d.ts","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EACV,OAAO,EAEP,eAAe,EACf,qBAAqB,EAEtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAmB5D;;GAEG;AACH,qBAAa,iBAAiB;IAiChB,OAAO,CAAC,mBAAmB;IAhCvC,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAA8B;IACpD;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAA+B;IACzD;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB,CAAI;IAC7B;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAQ;IAE5B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAgB;gBAE1C,mBAAmB,EAAE,mBAAmB;IAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,YAAY,CAChB,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,GAC3D,OAAO,CAAC,MAAM,CAAC;IAsClB;;;;;;OAMG;YACW,WAAW;IAyCzB,oFAAoF;IACpF,OAAO,CAAC,uBAAuB;IAS/B;;;;;;OAMG;YACW,eAAe;IAmC7B;;;OAGG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,qBAAqB,GAC9B,OAAO,CAAC,eAAe,CAAC;IAkD3B;;OAEG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiGnC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+CxB;;OAEG;IACH,UAAU,IAAI,YAAY,CAAC,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,MAAM,GAAG,IAAI;IAI9C;;OAEG;IACH,gBAAgB,IAAI,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIxC;;OAEG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIvC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAelC"}
|
|
@@ -2,6 +2,7 @@ import { WalletConnectClient } from './walletconnect-client';
|
|
|
2
2
|
import { parseAccount, getNamespaceFromNetworkId } from '../utils/account-utils';
|
|
3
3
|
import { parseError } from '../utils/error-utils';
|
|
4
4
|
import { SOLANA_WC_METHODS } from './solana/solana-methods';
|
|
5
|
+
import { TRON_WC_METHODS } from './tron/tron-methods';
|
|
5
6
|
/**
|
|
6
7
|
* Service for handling WalletConnect connections
|
|
7
8
|
*/
|
|
@@ -285,7 +286,7 @@ export class ConnectionService {
|
|
|
285
286
|
case 'tron':
|
|
286
287
|
namespaces['tron'] = {
|
|
287
288
|
chains,
|
|
288
|
-
methods:
|
|
289
|
+
methods: Object.values(TRON_WC_METHODS),
|
|
289
290
|
events: []
|
|
290
291
|
};
|
|
291
292
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-service.js","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"connection-service.js","sourceRoot":"","sources":["../../src/services/connection-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export declare class TransactionService {
|
|
|
9
9
|
private connectionService;
|
|
10
10
|
private ethereumService;
|
|
11
11
|
private solanaService;
|
|
12
|
+
private tronService;
|
|
12
13
|
constructor(walletConnectClient: WalletConnectClient, connectionService: ConnectionService, networkRpcMap?: NetworkRpcMap);
|
|
13
14
|
/**
|
|
14
15
|
* Send a transaction with the connected wallet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"transaction-service.d.ts","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAIjB,aAAa,EACd,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAKxD;;GAEG;AACH,qBAAa,kBAAkB;IAM3B,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,iBAAiB;IAN3B,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,WAAW,CAAwB;gBAGjC,mBAAmB,EAAE,mBAAmB,EACxC,iBAAiB,EAAE,iBAAiB,EAC5C,aAAa,GAAE,aAAkB;IAOnC;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAkD7B;;;;OAIG;IACG,0BAA0B,CAC9B,YAAY,EAAE,UAAU,GACvB,OAAO,CAAC,UAAU,CAAC;CAiCvB"}
|
|
@@ -2,6 +2,7 @@ import { WalletConnectClient } from './walletconnect-client';
|
|
|
2
2
|
import { ConnectionService } from './connection-service';
|
|
3
3
|
import { EthereumTransactionService } from './ethereum/ethereum-transaction-service';
|
|
4
4
|
import { SolanaTransactionService } from './solana/solana-transaction-service';
|
|
5
|
+
import { TronTransactionService } from './tron/tron-transaction-service';
|
|
5
6
|
/**
|
|
6
7
|
* Service for handling transactions in WalletConnect
|
|
7
8
|
*/
|
|
@@ -10,11 +11,13 @@ export class TransactionService {
|
|
|
10
11
|
connectionService;
|
|
11
12
|
ethereumService;
|
|
12
13
|
solanaService;
|
|
14
|
+
tronService;
|
|
13
15
|
constructor(walletConnectClient, connectionService, networkRpcMap = {}) {
|
|
14
16
|
this.walletConnectClient = walletConnectClient;
|
|
15
17
|
this.connectionService = connectionService;
|
|
16
18
|
this.ethereumService = new EthereumTransactionService();
|
|
17
19
|
this.solanaService = new SolanaTransactionService(networkRpcMap);
|
|
20
|
+
this.tronService = new TronTransactionService();
|
|
18
21
|
}
|
|
19
22
|
/**
|
|
20
23
|
* Send a transaction with the connected wallet
|
|
@@ -41,6 +44,9 @@ export class TransactionService {
|
|
|
41
44
|
else if (namespace === 'solana') {
|
|
42
45
|
return this.solanaService.sendTransaction(client, session, request, activeNetwork.id, activeAddress);
|
|
43
46
|
}
|
|
47
|
+
else if (namespace === 'tron') {
|
|
48
|
+
return this.tronService.sendTransaction(client, session, request, activeNetwork.id, activeAddress);
|
|
49
|
+
}
|
|
44
50
|
else {
|
|
45
51
|
throw new Error(`Unsupported namespace: ${namespace}`);
|
|
46
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-service.js","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transaction-service.js","sourceRoot":"","sources":["../../src/services/transaction-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tron-methods.d.ts","sourceRoot":"","sources":["../../../src/services/tron/tron-methods.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;CAGlB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// Single source for the Tron JSON-RPC method names used over WalletConnect, so the methods
|
|
2
|
+
// we advertise in the session proposal and the ones we request can't drift apart.
|
|
3
|
+
export const TRON_WC_METHODS = {
|
|
4
|
+
signTransaction: 'tron_signTransaction',
|
|
5
|
+
signMessage: 'tron_signMessage'
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=tron-methods.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tron-methods.js","sourceRoot":"","sources":["../../../src/services/tron/tron-methods.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,eAAe,EAAE,sBAAsB;IACvC,WAAW,EAAE,kBAAkB;CACvB,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { TronTransactionRequest } from '@meshconnect/uwc-types';
|
|
2
|
+
import type SignClient from '@walletconnect/sign-client';
|
|
3
|
+
import type { SessionTypes } from '@walletconnect/types';
|
|
4
|
+
export declare class TronTransactionService {
|
|
5
|
+
sendTransaction(client: SignClient, session: SessionTypes.Struct, request: TronTransactionRequest, activeNetworkId: string, activeAddress: string): Promise<string>;
|
|
6
|
+
private buildTransaction;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=tron-transaction-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tron-transaction-service.d.ts","sourceRoot":"","sources":["../../../src/services/tron/tron-transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EAIvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAWxD,qBAAa,sBAAsB;IAC3B,eAAe,CACnB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,YAAY,CAAC,MAAM,EAC5B,OAAO,EAAE,sBAAsB,EAC/B,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;YAyCJ,gBAAgB;CA8B/B"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { TRON_WC_METHODS } from './tron-methods';
|
|
2
|
+
import { buildNativeTronTx, buildTrc20TronTx, buildContractCallTronTx, broadcastTronTx, tronAddressToHex } from '../../utils/tron-utils';
|
|
3
|
+
import { parseError } from '../../utils/error-utils';
|
|
4
|
+
export class TronTransactionService {
|
|
5
|
+
async sendTransaction(client, session, request, activeNetworkId, activeAddress) {
|
|
6
|
+
try {
|
|
7
|
+
const unsignedTx = await this.buildTransaction(request, activeNetworkId, activeAddress);
|
|
8
|
+
const result = await client.request({
|
|
9
|
+
topic: session.topic,
|
|
10
|
+
chainId: activeNetworkId,
|
|
11
|
+
request: {
|
|
12
|
+
method: TRON_WC_METHODS.signTransaction,
|
|
13
|
+
params: { address: activeAddress, transaction: unsignedTx }
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
if (result === null || typeof result !== 'object') {
|
|
17
|
+
throw new Error(`tron-wc: wallet returned unexpected result for tron_signTransaction (got ${result === null ? 'null' : typeof result})`);
|
|
18
|
+
}
|
|
19
|
+
// Normalize: Trust Wallet wraps the signed tx in { result: {...} };
|
|
20
|
+
// other wallets return the signed tx object directly.
|
|
21
|
+
// Note: typeof null === 'object', so we also guard against result.result === null.
|
|
22
|
+
const inner = result['result'];
|
|
23
|
+
const signedTx = ('result' in result &&
|
|
24
|
+
inner !== null &&
|
|
25
|
+
typeof inner === 'object'
|
|
26
|
+
? inner
|
|
27
|
+
: result);
|
|
28
|
+
return await broadcastTronTx(activeNetworkId, signedTx);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw parseError(error);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async buildTransaction(request, networkId, activeAddress) {
|
|
35
|
+
if ('data' in request) {
|
|
36
|
+
const r = request;
|
|
37
|
+
if (tronAddressToHex(r.from) !== tronAddressToHex(activeAddress)) {
|
|
38
|
+
throw new Error('From address does not match connected wallet');
|
|
39
|
+
}
|
|
40
|
+
return buildContractCallTronTx(networkId, r);
|
|
41
|
+
}
|
|
42
|
+
if ('contractAddress' in request) {
|
|
43
|
+
// TronTRC20TransferRequest
|
|
44
|
+
const r = request;
|
|
45
|
+
// Normalize before comparing — WC may return hex while the request uses base58.
|
|
46
|
+
if (tronAddressToHex(r.from) !== tronAddressToHex(activeAddress)) {
|
|
47
|
+
throw new Error('From address does not match connected wallet');
|
|
48
|
+
}
|
|
49
|
+
return buildTrc20TronTx(networkId, r);
|
|
50
|
+
}
|
|
51
|
+
// TronNativeTransferRequest
|
|
52
|
+
const r = request;
|
|
53
|
+
if (tronAddressToHex(r.from) !== tronAddressToHex(activeAddress)) {
|
|
54
|
+
throw new Error('From address does not match connected wallet');
|
|
55
|
+
}
|
|
56
|
+
return buildNativeTronTx(networkId, r);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=tron-transaction-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tron-transaction-service.js","sourceRoot":"","sources":["../../../src/services/tron/tron-transaction-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,47 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Minimal TRON utilities to replace TronWeb dependency
|
|
3
|
-
*
|
|
3
|
+
* Covers: message signing support (mock-tx workaround), address conversion,
|
|
4
|
+
* and full-node HTTP wrappers for building and broadcasting real transactions.
|
|
4
5
|
*/
|
|
6
|
+
/** Convert a base58 Tron address to its 42-char lowercase hex form (`41…`). */
|
|
7
|
+
export declare function tronAddressToHex(address: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* Minimal shape of an unsigned Tron transaction.
|
|
10
|
+
* Only txID + raw_data* are load-bearing; the rest passes through opaquely
|
|
11
|
+
* to whatever the wallet returns after signing.
|
|
12
|
+
*/
|
|
13
|
+
export interface UnsignedTronTx {
|
|
14
|
+
txID?: string;
|
|
15
|
+
raw_data?: unknown;
|
|
16
|
+
raw_data_hex?: string;
|
|
17
|
+
visible?: boolean;
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
/** Build an unsigned native TRX transfer. Amount in SUN. */
|
|
21
|
+
export declare function buildNativeTronTx(networkId: string, params: {
|
|
22
|
+
from: string;
|
|
23
|
+
to: string;
|
|
24
|
+
amount: number | bigint;
|
|
25
|
+
}): Promise<UnsignedTronTx>;
|
|
26
|
+
/** Build an unsigned TRC20 `transfer(address,uint256)` transaction. */
|
|
27
|
+
export declare function buildTrc20TronTx(networkId: string, params: {
|
|
28
|
+
from: string;
|
|
29
|
+
to: string;
|
|
30
|
+
amount: number | bigint;
|
|
31
|
+
contractAddress: string;
|
|
32
|
+
}): Promise<UnsignedTronTx>;
|
|
33
|
+
/**
|
|
34
|
+
* Build an unsigned `TriggerSmartContract` from pre-encoded calldata.
|
|
35
|
+
* Used for bridging deposits where the calldata must be forwarded verbatim
|
|
36
|
+
* (e.g. Relay request-id tag appended after ABI args — see TronContractCallRequest).
|
|
37
|
+
*/
|
|
38
|
+
export declare function buildContractCallTronTx(networkId: string, params: {
|
|
39
|
+
from: string;
|
|
40
|
+
contractAddress: string;
|
|
41
|
+
data: string;
|
|
42
|
+
}): Promise<UnsignedTronTx>;
|
|
43
|
+
/** Broadcast a signed Tron transaction. Returns the on-chain txid. */
|
|
44
|
+
export declare function broadcastTronTx(networkId: string, signedTx: Record<string, unknown>): Promise<string>;
|
|
5
45
|
/**
|
|
6
46
|
* Convert UTF-8 string to hex
|
|
7
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tron-utils.d.ts","sourceRoot":"","sources":["../../src/utils/tron-utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tron-utils.d.ts","sourceRoot":"","sources":["../../src/utils/tron-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqDH,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAaxD;AAgGD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,4DAA4D;AAC5D,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAC5D,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAED,uEAAuE;AACvE,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IACN,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;CACxB,GACA,OAAO,CAAC,cAAc,CAAC,CAiCzB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9D,OAAO,CAAC,cAAc,CAAC,CA4BzB;AAED,sEAAsE;AACtE,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;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"}
|
package/dist/utils/tron-utils.js
CHANGED
|
@@ -1,7 +1,236 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Minimal TRON utilities to replace TronWeb dependency
|
|
3
|
-
*
|
|
3
|
+
* Covers: message signing support (mock-tx workaround), address conversion,
|
|
4
|
+
* and full-node HTTP wrappers for building and broadcasting real transactions.
|
|
4
5
|
*/
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Address conversion — base58check ↔ hex, dependency-free.
|
|
8
|
+
//
|
|
9
|
+
// Tron addresses have two on-wire forms:
|
|
10
|
+
// base58check (`T…`): Base58Check of `0x41 ‖ 20-byte body ‖ 4-byte checksum`
|
|
11
|
+
// hex (`41` + 40 hex chars): the 21-byte payload
|
|
12
|
+
//
|
|
13
|
+
// Full-node build calls use hex form (`visible: false`) so strict wallet signers
|
|
14
|
+
// (Trust Wallet wallet-core WASM) accept the resulting raw_data object; base58
|
|
15
|
+
// addresses in raw_data cause those signers to abort silently.
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
const BASE58_ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
18
|
+
function base58DecodeBytes(input) {
|
|
19
|
+
if (input.length === 0)
|
|
20
|
+
throw new Error('tron: empty address');
|
|
21
|
+
let value = 0n;
|
|
22
|
+
for (const char of input) {
|
|
23
|
+
const index = BASE58_ALPHABET.indexOf(char);
|
|
24
|
+
if (index === -1)
|
|
25
|
+
throw new Error(`tron: invalid base58 character "${char}"`);
|
|
26
|
+
value = value * 58n + BigInt(index);
|
|
27
|
+
}
|
|
28
|
+
const bytes = [];
|
|
29
|
+
while (value > 0n) {
|
|
30
|
+
bytes.unshift(Number(value & 0xffn));
|
|
31
|
+
value >>= 8n;
|
|
32
|
+
}
|
|
33
|
+
for (const char of input) {
|
|
34
|
+
if (char !== '1')
|
|
35
|
+
break;
|
|
36
|
+
bytes.unshift(0);
|
|
37
|
+
}
|
|
38
|
+
return Uint8Array.from(bytes);
|
|
39
|
+
}
|
|
40
|
+
/** True when `s` is already in 42-char hex form (`41` + 40 hex digits). */
|
|
41
|
+
function isHexTronAddress(s) {
|
|
42
|
+
if (s.length !== 42)
|
|
43
|
+
return false;
|
|
44
|
+
// First two chars must be '4' (0x34) and '1' (0x31)
|
|
45
|
+
if (s.charCodeAt(0) !== 52 || s.charCodeAt(1) !== 49)
|
|
46
|
+
return false;
|
|
47
|
+
for (let i = 2; i < 42; i++) {
|
|
48
|
+
const c = s.charCodeAt(i);
|
|
49
|
+
if (!((c >= 48 && c <= 57) || (c >= 97 && c <= 102) || (c >= 65 && c <= 70)))
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
/** Convert a base58 Tron address to its 42-char lowercase hex form (`41…`). */
|
|
55
|
+
export function tronAddressToHex(address) {
|
|
56
|
+
const stripped = address.startsWith('0x') ? address.slice(2) : address;
|
|
57
|
+
if (isHexTronAddress(stripped))
|
|
58
|
+
return stripped.toLowerCase();
|
|
59
|
+
const decoded = base58DecodeBytes(address);
|
|
60
|
+
if (decoded.length !== 25)
|
|
61
|
+
throw new Error(`tron: expected 25 bytes after base58 decode, got ${decoded.length}`);
|
|
62
|
+
const payload = decoded.subarray(0, 21);
|
|
63
|
+
if (payload[0] !== 0x41)
|
|
64
|
+
throw new Error('tron: missing 0x41 address prefix');
|
|
65
|
+
let out = '';
|
|
66
|
+
for (const byte of payload)
|
|
67
|
+
out += byte.toString(16).padStart(2, '0');
|
|
68
|
+
return out;
|
|
69
|
+
}
|
|
70
|
+
/** 20-byte EVM body (no 0x41 prefix) — used for TRC20 ABI parameters. */
|
|
71
|
+
function tronAddressToEvmHex(address) {
|
|
72
|
+
return tronAddressToHex(address).slice(2);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Verify the 4-byte Base58Check checksum of a Tron address.
|
|
76
|
+
* Hex addresses pass through unchecked (no checksum embedded).
|
|
77
|
+
* Matters for TRC20/native recipients: a typo'd base58 address can survive
|
|
78
|
+
* decode and become a valid-looking but wrong hex destination on-chain.
|
|
79
|
+
*/
|
|
80
|
+
async function assertValidTronChecksum(address) {
|
|
81
|
+
const stripped = address.startsWith('0x') ? address.slice(2) : address;
|
|
82
|
+
if (isHexTronAddress(stripped))
|
|
83
|
+
return; // hex: no checksum to verify
|
|
84
|
+
const decoded = base58DecodeBytes(address);
|
|
85
|
+
if (decoded.length !== 25)
|
|
86
|
+
throw new Error(`tron: expected 25 bytes after base58 decode, got ${decoded.length}`);
|
|
87
|
+
const payload = decoded.subarray(0, 21);
|
|
88
|
+
if (payload[0] !== 0x41)
|
|
89
|
+
throw new Error('tron: missing 0x41 address prefix');
|
|
90
|
+
const expected = decoded.subarray(21, 25);
|
|
91
|
+
const sha256 = async (b) => new Uint8Array(await crypto.subtle.digest('SHA-256', Uint8Array.from(b)));
|
|
92
|
+
const round2 = await sha256(await sha256(payload));
|
|
93
|
+
for (let i = 0; i < 4; i++) {
|
|
94
|
+
if (round2[i] !== expected[i])
|
|
95
|
+
throw new Error('tron: base58 checksum mismatch (possible typo in recipient address)');
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/** ABI-encode args for `transfer(address,uint256)`. */
|
|
99
|
+
function encodeTrc20Params(to, amount) {
|
|
100
|
+
const addressWord = tronAddressToEvmHex(to).padStart(64, '0');
|
|
101
|
+
const amountWord = BigInt(amount).toString(16).padStart(64, '0');
|
|
102
|
+
return addressWord + amountWord;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* TronGrid often returns `message` as hex-encoded ASCII. Decode when it looks
|
|
106
|
+
* like hex AND the result is printable ASCII; otherwise pass through unchanged.
|
|
107
|
+
*/
|
|
108
|
+
function decodeHexMessage(message) {
|
|
109
|
+
if (!message)
|
|
110
|
+
return '';
|
|
111
|
+
if (!/^[0-9a-fA-F]+$/.test(message) || message.length % 2 !== 0) {
|
|
112
|
+
return message;
|
|
113
|
+
}
|
|
114
|
+
let decoded = '';
|
|
115
|
+
for (let i = 0; i < message.length; i += 2) {
|
|
116
|
+
decoded += String.fromCharCode(parseInt(message.slice(i, i + 2), 16));
|
|
117
|
+
}
|
|
118
|
+
return /^[\x20-\x7e\t\n\r]*$/.test(decoded) ? decoded : message;
|
|
119
|
+
}
|
|
120
|
+
// ---------------------------------------------------------------------------
|
|
121
|
+
// TronGrid full-node HTTP wrappers
|
|
122
|
+
// ---------------------------------------------------------------------------
|
|
123
|
+
const TRON_ENDPOINTS = {
|
|
124
|
+
'tron:0x2b6653dc': 'https://api.trongrid.io', // Mainnet
|
|
125
|
+
'tron:0x94a9059e': 'https://api.shasta.trongrid.io', // Shasta testnet
|
|
126
|
+
'tron:0xcd8690dc': 'https://nile.trongrid.io' // Nile testnet
|
|
127
|
+
};
|
|
128
|
+
const DEFAULT_FEE_LIMIT_SUN = 100_000_000; // 100 TRX
|
|
129
|
+
function tronGridBaseUrl(networkId) {
|
|
130
|
+
const url = TRON_ENDPOINTS[networkId];
|
|
131
|
+
if (!url)
|
|
132
|
+
throw new Error(`tron-wc: no full-node endpoint for network "${networkId}"`);
|
|
133
|
+
return url;
|
|
134
|
+
}
|
|
135
|
+
async function tronGridPost(networkId, path, body) {
|
|
136
|
+
const url = `${tronGridBaseUrl(networkId)}${path}`;
|
|
137
|
+
const response = await fetch(url, {
|
|
138
|
+
method: 'POST',
|
|
139
|
+
headers: { 'Content-Type': 'application/json' },
|
|
140
|
+
body: JSON.stringify(body)
|
|
141
|
+
});
|
|
142
|
+
if (!response.ok) {
|
|
143
|
+
throw new Error(`tron-wc: ${path} responded ${response.status} ${response.statusText}`);
|
|
144
|
+
}
|
|
145
|
+
return (await response.json());
|
|
146
|
+
}
|
|
147
|
+
/** Build an unsigned native TRX transfer. Amount in SUN. */
|
|
148
|
+
export async function buildNativeTronTx(networkId, params) {
|
|
149
|
+
const amountNum = Number(params.amount);
|
|
150
|
+
if (!Number.isSafeInteger(amountNum) || amountNum < 0) {
|
|
151
|
+
throw new Error(`tron-wc: native transfer amount must be a non-negative safe integer (got ${params.amount})`);
|
|
152
|
+
}
|
|
153
|
+
await assertValidTronChecksum(params.to);
|
|
154
|
+
const tx = await tronGridPost(networkId, '/wallet/createtransaction', {
|
|
155
|
+
owner_address: tronAddressToHex(params.from),
|
|
156
|
+
to_address: tronAddressToHex(params.to),
|
|
157
|
+
// Node expects a JSON number; native amounts are safe-integers on this path.
|
|
158
|
+
amount: amountNum,
|
|
159
|
+
visible: false
|
|
160
|
+
});
|
|
161
|
+
if (tx.Error)
|
|
162
|
+
throw new Error(`tron-wc: createtransaction failed — ${tx.Error}`);
|
|
163
|
+
if (!tx.txID)
|
|
164
|
+
throw new Error('tron-wc: createtransaction returned no txID');
|
|
165
|
+
return tx;
|
|
166
|
+
}
|
|
167
|
+
/** Build an unsigned TRC20 `transfer(address,uint256)` transaction. */
|
|
168
|
+
export async function buildTrc20TronTx(networkId, params) {
|
|
169
|
+
if (typeof params.amount === 'number') {
|
|
170
|
+
if (!Number.isSafeInteger(params.amount) || params.amount < 0)
|
|
171
|
+
throw new Error(`tron-wc: TRC20 transfer amount must be a non-negative safe integer (got ${params.amount})`);
|
|
172
|
+
}
|
|
173
|
+
else if (params.amount < 0n) {
|
|
174
|
+
throw new Error(`tron-wc: TRC20 transfer amount must be non-negative (got ${params.amount})`);
|
|
175
|
+
}
|
|
176
|
+
await assertValidTronChecksum(params.to);
|
|
177
|
+
await assertValidTronChecksum(params.contractAddress);
|
|
178
|
+
const response = await tronGridPost(networkId, '/wallet/triggersmartcontract', {
|
|
179
|
+
owner_address: tronAddressToHex(params.from),
|
|
180
|
+
contract_address: tronAddressToHex(params.contractAddress),
|
|
181
|
+
function_selector: 'transfer(address,uint256)',
|
|
182
|
+
parameter: encodeTrc20Params(params.to, params.amount),
|
|
183
|
+
fee_limit: DEFAULT_FEE_LIMIT_SUN,
|
|
184
|
+
call_value: 0,
|
|
185
|
+
visible: false
|
|
186
|
+
});
|
|
187
|
+
if (!response.result?.result || !response.transaction?.txID) {
|
|
188
|
+
throw new Error(decodeHexMessage(response.result?.message) ||
|
|
189
|
+
response.result?.code ||
|
|
190
|
+
'tron-wc: triggersmartcontract failed');
|
|
191
|
+
}
|
|
192
|
+
return response.transaction;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Build an unsigned `TriggerSmartContract` from pre-encoded calldata.
|
|
196
|
+
* Used for bridging deposits where the calldata must be forwarded verbatim
|
|
197
|
+
* (e.g. Relay request-id tag appended after ABI args — see TronContractCallRequest).
|
|
198
|
+
*/
|
|
199
|
+
export async function buildContractCallTronTx(networkId, params) {
|
|
200
|
+
await assertValidTronChecksum(params.contractAddress);
|
|
201
|
+
const data = params.data.replace(/^0x/i, '').toLowerCase();
|
|
202
|
+
if (data.length < 8)
|
|
203
|
+
throw new Error('tron-wc: contract-call data too short — need at least a 4-byte selector');
|
|
204
|
+
if (data.length % 2 !== 0 || !/^[0-9a-f]+$/.test(data))
|
|
205
|
+
throw new Error('tron-wc: contract-call data is not valid hex');
|
|
206
|
+
const response = await tronGridPost(networkId, '/wallet/triggersmartcontract', {
|
|
207
|
+
owner_address: tronAddressToHex(params.from),
|
|
208
|
+
contract_address: tronAddressToHex(params.contractAddress),
|
|
209
|
+
data,
|
|
210
|
+
fee_limit: DEFAULT_FEE_LIMIT_SUN,
|
|
211
|
+
call_value: 0,
|
|
212
|
+
visible: false
|
|
213
|
+
});
|
|
214
|
+
if (!response.result?.result || !response.transaction?.txID) {
|
|
215
|
+
throw new Error(decodeHexMessage(response.result?.message) ||
|
|
216
|
+
response.result?.code ||
|
|
217
|
+
'tron-wc: triggersmartcontract (contract-call) failed');
|
|
218
|
+
}
|
|
219
|
+
return response.transaction;
|
|
220
|
+
}
|
|
221
|
+
/** Broadcast a signed Tron transaction. Returns the on-chain txid. */
|
|
222
|
+
export async function broadcastTronTx(networkId, signedTx) {
|
|
223
|
+
const response = await tronGridPost(networkId, '/wallet/broadcasttransaction', signedTx);
|
|
224
|
+
if (response.result !== true) {
|
|
225
|
+
throw new Error(decodeHexMessage(response.message) ||
|
|
226
|
+
response.code ||
|
|
227
|
+
'tron-wc: broadcast rejected by node');
|
|
228
|
+
}
|
|
229
|
+
const txid = response.txid ?? response.transaction?.txID ?? signedTx['txID'];
|
|
230
|
+
if (!txid)
|
|
231
|
+
throw new Error('tron-wc: broadcast returned no txid');
|
|
232
|
+
return txid;
|
|
233
|
+
}
|
|
5
234
|
/**
|
|
6
235
|
* Convert UTF-8 string to hex
|
|
7
236
|
*/
|
|
@@ -1 +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"}
|
|
1
|
+
{"version":3,"file":"tron-utils.js","sourceRoot":"","sources":["../../src/utils/tron-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -10,6 +10,7 @@ import { WalletConnectClient } from './walletconnect-client'
|
|
|
10
10
|
import { parseAccount, getNamespaceFromNetworkId } from '../utils/account-utils'
|
|
11
11
|
import { parseError } from '../utils/error-utils'
|
|
12
12
|
import { SOLANA_WC_METHODS } from './solana/solana-methods'
|
|
13
|
+
import { TRON_WC_METHODS } from './tron/tron-methods'
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* A pairing generated ahead of the user's wallet selection (see
|
|
@@ -379,7 +380,7 @@ export class ConnectionService {
|
|
|
379
380
|
case 'tron':
|
|
380
381
|
namespaces['tron'] = {
|
|
381
382
|
chains,
|
|
382
|
-
methods:
|
|
383
|
+
methods: Object.values(TRON_WC_METHODS),
|
|
383
384
|
events: []
|
|
384
385
|
}
|
|
385
386
|
break
|
|
@@ -3,12 +3,14 @@ import type {
|
|
|
3
3
|
TransactionResult,
|
|
4
4
|
EthereumTransactionRequest,
|
|
5
5
|
SolanaTransactionRequest,
|
|
6
|
+
TronTransactionRequest,
|
|
6
7
|
NetworkRpcMap
|
|
7
8
|
} from '@meshconnect/uwc-types'
|
|
8
9
|
import { WalletConnectClient } from './walletconnect-client'
|
|
9
10
|
import { ConnectionService } from './connection-service'
|
|
10
11
|
import { EthereumTransactionService } from './ethereum/ethereum-transaction-service'
|
|
11
12
|
import { SolanaTransactionService } from './solana/solana-transaction-service'
|
|
13
|
+
import { TronTransactionService } from './tron/tron-transaction-service'
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
* Service for handling transactions in WalletConnect
|
|
@@ -16,6 +18,7 @@ import { SolanaTransactionService } from './solana/solana-transaction-service'
|
|
|
16
18
|
export class TransactionService {
|
|
17
19
|
private ethereumService: EthereumTransactionService
|
|
18
20
|
private solanaService: SolanaTransactionService
|
|
21
|
+
private tronService: TronTransactionService
|
|
19
22
|
|
|
20
23
|
constructor(
|
|
21
24
|
private walletConnectClient: WalletConnectClient,
|
|
@@ -24,6 +27,7 @@ export class TransactionService {
|
|
|
24
27
|
) {
|
|
25
28
|
this.ethereumService = new EthereumTransactionService()
|
|
26
29
|
this.solanaService = new SolanaTransactionService(networkRpcMap)
|
|
30
|
+
this.tronService = new TronTransactionService()
|
|
27
31
|
}
|
|
28
32
|
|
|
29
33
|
/**
|
|
@@ -68,6 +72,14 @@ export class TransactionService {
|
|
|
68
72
|
activeNetwork.id,
|
|
69
73
|
activeAddress
|
|
70
74
|
)
|
|
75
|
+
} else if (namespace === 'tron') {
|
|
76
|
+
return this.tronService.sendTransaction(
|
|
77
|
+
client,
|
|
78
|
+
session,
|
|
79
|
+
request as TronTransactionRequest,
|
|
80
|
+
activeNetwork.id,
|
|
81
|
+
activeAddress
|
|
82
|
+
)
|
|
71
83
|
} else {
|
|
72
84
|
throw new Error(`Unsupported namespace: ${namespace}`)
|
|
73
85
|
}
|