@meshconnect/uwc-tron-connector 0.1.0 → 0.2.0-snapshot.03fa2e7
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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/rest/address.d.ts +5 -3
- package/dist/rest/address.d.ts.map +1 -1
- package/dist/rest/address.js +5 -3
- package/dist/rest/address.js.map +1 -1
- package/dist/rest/trongrid-client.d.ts +2 -2
- package/dist/rest/trongrid-client.d.ts.map +1 -1
- package/dist/rest/trongrid-client.js +17 -7
- package/dist/rest/trongrid-client.js.map +1 -1
- package/dist/tron-connector.d.ts +63 -22
- package/dist/tron-connector.d.ts.map +1 -1
- package/dist/tron-connector.js +181 -65
- package/dist/tron-connector.js.map +1 -1
- package/dist/wallets/base.d.ts +55 -1
- package/dist/wallets/base.d.ts.map +1 -1
- package/dist/wallets/base.js +101 -12
- package/dist/wallets/base.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +6 -6
- package/src/rest/address.ts +5 -3
- package/src/rest/trongrid-client.test.ts +19 -12
- package/src/rest/trongrid-client.ts +19 -9
- package/src/tron-connector.test.ts +467 -87
- package/src/tron-connector.ts +231 -84
- package/src/wallets/base.ts +147 -12
- package/dist/wallets/bitget.d.ts +0 -8
- package/dist/wallets/bitget.d.ts.map +0 -1
- package/dist/wallets/bitget.js +0 -14
- package/dist/wallets/bitget.js.map +0 -1
- package/dist/wallets/okx.d.ts +0 -4
- package/dist/wallets/okx.d.ts.map +0 -1
- package/dist/wallets/okx.js +0 -10
- package/dist/wallets/okx.js.map +0 -1
- package/dist/wallets/registry.d.ts +0 -8
- package/dist/wallets/registry.d.ts.map +0 -1
- package/dist/wallets/registry.js +0 -18
- package/dist/wallets/registry.js.map +0 -1
- package/dist/wallets/tokenpocket.d.ts +0 -9
- package/dist/wallets/tokenpocket.d.ts.map +0 -1
- package/dist/wallets/tokenpocket.js +0 -15
- package/dist/wallets/tokenpocket.js.map +0 -1
- package/dist/wallets/tronlink.d.ts +0 -8
- package/dist/wallets/tronlink.d.ts.map +0 -1
- package/dist/wallets/tronlink.js +0 -15
- package/dist/wallets/tronlink.js.map +0 -1
- package/dist/wallets/trust.d.ts +0 -9
- package/dist/wallets/trust.d.ts.map +0 -1
- package/dist/wallets/trust.js +0 -15
- package/dist/wallets/trust.js.map +0 -1
- package/src/wallets/bitget.ts +0 -17
- package/src/wallets/okx.ts +0 -10
- package/src/wallets/registry.ts +0 -26
- package/src/wallets/tokenpocket.ts +0 -15
- package/src/wallets/tronlink.ts +0 -15
- package/src/wallets/trust.ts +0 -18
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { TronConnector } from './tron-connector';
|
|
2
|
-
export {
|
|
3
|
-
export type { TronWalletWrapper, InjectedTronProvider } from './wallets/base';
|
|
2
|
+
export { tronWrapperFor, TRON_WALLET_BEHAVIOR } from './wallets/base';
|
|
3
|
+
export type { TronWalletWrapper, TronWalletBehavior, InjectedTronProvider } from './wallets/base';
|
|
4
4
|
export type { TronConnectionState, TronConnectionStatus, TronStateListener } from './events/state-machine';
|
|
5
5
|
export type { UnsignedTronTransaction, SignedTronTransaction } from './rest/trongrid-client';
|
|
6
6
|
export type { TronConnectorConfig, TronGridConfig, TronWalletId } from './types';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrE,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/rest/address.d.ts
CHANGED
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
* - base58check (`T...`): Base58Check of `0x41 ‖ <20-byte body> ‖ <4-byte checksum>`.
|
|
6
6
|
* - hex (`41` + 40 hex chars): the 21-byte payload (`0x41` prefix + 20-byte body).
|
|
7
7
|
*
|
|
8
|
-
* The
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* The connector builds transactions in hex form (`visible: false`) so strict
|
|
9
|
+
* wallet signers (e.g. Trust Wallet's wallet-core WASM) accept the object — so
|
|
10
|
+
* `tronAddressToHex` is used to convert the caller's base58 addresses for the
|
|
11
|
+
* `/wallet/*` build calls, and for the TRC20 ABI parameter (the bare 20-byte
|
|
12
|
+
* body) via `tronAddressToEvmHex`.
|
|
11
13
|
*
|
|
12
14
|
* Decoding base58 is pure bigint math (no hashing), so the conversion helpers
|
|
13
15
|
* (`tronAddressToHex` / `tronAddressToEvmHex`) stay synchronous and do NOT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/rest/address.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../src/rest/address.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAyCH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAmBxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3D;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB5E"}
|
package/dist/rest/address.js
CHANGED
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
* - base58check (`T...`): Base58Check of `0x41 ‖ <20-byte body> ‖ <4-byte checksum>`.
|
|
6
6
|
* - hex (`41` + 40 hex chars): the 21-byte payload (`0x41` prefix + 20-byte body).
|
|
7
7
|
*
|
|
8
|
-
* The
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* The connector builds transactions in hex form (`visible: false`) so strict
|
|
9
|
+
* wallet signers (e.g. Trust Wallet's wallet-core WASM) accept the object — so
|
|
10
|
+
* `tronAddressToHex` is used to convert the caller's base58 addresses for the
|
|
11
|
+
* `/wallet/*` build calls, and for the TRC20 ABI parameter (the bare 20-byte
|
|
12
|
+
* body) via `tronAddressToEvmHex`.
|
|
11
13
|
*
|
|
12
14
|
* Decoding base58 is pure bigint math (no hashing), so the conversion helpers
|
|
13
15
|
* (`tronAddressToHex` / `tronAddressToEvmHex`) stay synchronous and do NOT
|
package/dist/rest/address.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/rest/address.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../src/rest/address.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,13 +32,13 @@ export declare class TronGridClient {
|
|
|
32
32
|
createTransaction(params: {
|
|
33
33
|
from: string;
|
|
34
34
|
to: string;
|
|
35
|
-
amount: number;
|
|
35
|
+
amount: number | bigint;
|
|
36
36
|
}): Promise<UnsignedTronTransaction>;
|
|
37
37
|
/** Build an unsigned TRC20 `transfer(address,uint256)` transaction. */
|
|
38
38
|
createTrc20Transfer(params: {
|
|
39
39
|
from: string;
|
|
40
40
|
to: string;
|
|
41
|
-
amount: number;
|
|
41
|
+
amount: number | bigint;
|
|
42
42
|
contractAddress: string;
|
|
43
43
|
}): Promise<UnsignedTronTransaction>;
|
|
44
44
|
/** Broadcast a signed transaction. Returns the on-chain txid. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trongrid-client.d.ts","sourceRoot":"","sources":["../../src/rest/trongrid-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"trongrid-client.d.ts","sourceRoot":"","sources":["../../src/rest/trongrid-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAIvE;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,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,8EAA8E;AAC9E,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACpE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAmBD;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAExB,SAAS,EAAE,SAAS,EAAE,MAAM,GAAE,cAAmB;IAmC7D,iEAAiE;IAC3D,iBAAiB,CAAC,MAAM,EAAE;QAC9B,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA0BpC,uEAAuE;IACjE,mBAAmB,CAAC,MAAM,EAAE;QAChC,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;QACvB,eAAe,EAAE,MAAM,CAAA;KACxB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA2BpC,iEAAiE;IAC3D,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;YAsB5D,IAAI;CAkBnB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAYpE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { encodeTrc20TransferParams, TRC20_TRANSFER_SELECTOR } from './abi';
|
|
2
|
+
import { tronAddressToHex } from './address';
|
|
2
3
|
const DEFAULT_ENDPOINTS = {
|
|
3
4
|
'tron:0x2b6653dc': 'https://api.trongrid.io', // Mainnet
|
|
4
5
|
'tron:0x94a9059e': 'https://api.shasta.trongrid.io', // Shasta testnet
|
|
@@ -42,11 +43,18 @@ export class TronGridClient {
|
|
|
42
43
|
}
|
|
43
44
|
/** Build an unsigned native TRX transfer. Amounts are in SUN. */
|
|
44
45
|
async createTransaction(params) {
|
|
46
|
+
// Build in hex form (`visible: false`). The node then returns a `raw_data`
|
|
47
|
+
// carrying hex (`41…`) addresses — the canonical wire form. Wallets with a
|
|
48
|
+
// strict signer (Trust Wallet's wallet-core WASM) abort when asked to sign a
|
|
49
|
+
// foreign object whose `raw_data` holds base58 (`visible: true`) addresses;
|
|
50
|
+
// hex is the form they build-and-sign natively. See TRUST-WALLET-IFRAME-RCA.
|
|
45
51
|
const tx = await this.post('/wallet/createtransaction', {
|
|
46
|
-
owner_address: params.from,
|
|
47
|
-
to_address: params.to,
|
|
48
|
-
amount
|
|
49
|
-
|
|
52
|
+
owner_address: tronAddressToHex(params.from),
|
|
53
|
+
to_address: tronAddressToHex(params.to),
|
|
54
|
+
// The node expects amount as a JSON number; the connector guarantees a
|
|
55
|
+
// safe-integer value on this path, so Number() is lossless here.
|
|
56
|
+
amount: Number(params.amount),
|
|
57
|
+
visible: false
|
|
50
58
|
});
|
|
51
59
|
if (tx.Error) {
|
|
52
60
|
throw new Error(`tron-connector: createtransaction failed — ${tx.Error}`);
|
|
@@ -59,13 +67,15 @@ export class TronGridClient {
|
|
|
59
67
|
/** Build an unsigned TRC20 `transfer(address,uint256)` transaction. */
|
|
60
68
|
async createTrc20Transfer(params) {
|
|
61
69
|
const response = await this.post('/wallet/triggersmartcontract', {
|
|
62
|
-
|
|
63
|
-
|
|
70
|
+
// Hex form (`visible: false`) — see createTransaction for why (strict
|
|
71
|
+
// wallet signers abort on base58 `raw_data`).
|
|
72
|
+
owner_address: tronAddressToHex(params.from),
|
|
73
|
+
contract_address: tronAddressToHex(params.contractAddress),
|
|
64
74
|
function_selector: TRC20_TRANSFER_SELECTOR,
|
|
65
75
|
parameter: encodeTrc20TransferParams(params.to, params.amount),
|
|
66
76
|
fee_limit: this.feeLimitSun,
|
|
67
77
|
call_value: 0,
|
|
68
|
-
visible:
|
|
78
|
+
visible: false
|
|
69
79
|
});
|
|
70
80
|
if (!response.result?.result || !response.transaction?.txID) {
|
|
71
81
|
throw new Error(`tron-connector: triggersmartcontract failed — ${decodeHexMessage(response.result?.message) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trongrid-client.js","sourceRoot":"","sources":["../../src/rest/trongrid-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"trongrid-client.js","sourceRoot":"","sources":["../../src/rest/trongrid-client.ts"],"names":[],"mappings":"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"}
|
package/dist/tron-connector.d.ts
CHANGED
|
@@ -1,21 +1,37 @@
|
|
|
1
|
-
import type { ConnectorResult, DetectedTronWalletInfo, Namespace, Network, SignatureType, SwitchNetworkResult, TransactionRequest, WalletMetadata } from '@meshconnect/uwc-types';
|
|
1
|
+
import type { Connector, ConnectorResult, DetectedTronWalletInfo, ExtensionInjectedProvider, IntegratedBrowserInjectedProvider, Namespace, Network, SignatureType, SwitchNetworkResult, TonConnectWalletProvider, TransactionRequest, WalletConnectProvider, WalletMetadata } from '@meshconnect/uwc-types';
|
|
2
2
|
import { type TronStateListener } from './events/state-machine';
|
|
3
3
|
import type { TronConnectorConfig } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Accepted `connect` argument shapes. Supports the standard UWC provider union
|
|
6
|
+
* (so `TronConnector` is a drop-in `Connector` — the wallet id is read from
|
|
7
|
+
* `namespaceMetaData.tron.detectedWallet.uuid`) as well as a direct
|
|
8
|
+
* `{ uuid }`/`{ walletId }` identifier (used by the injected-connector delegation).
|
|
9
|
+
*/
|
|
10
|
+
type TronConnectProvider = {
|
|
11
|
+
uuid?: string;
|
|
12
|
+
} | {
|
|
13
|
+
walletId?: string;
|
|
14
|
+
} | ExtensionInjectedProvider | IntegratedBrowserInjectedProvider | WalletConnectProvider | TonConnectWalletProvider;
|
|
4
15
|
/**
|
|
5
16
|
* Mesh-owned Tron wallet connector. Zero third-party Tron runtime deps.
|
|
6
17
|
*
|
|
7
|
-
* One instance fronts
|
|
8
|
-
*
|
|
9
|
-
*
|
|
18
|
+
* One instance fronts every Tron wallet the passed-in metadata declares
|
|
19
|
+
* (via `namespaceMetaData.tron.injectedId`), selected per-connect by the wallet
|
|
20
|
+
* id. By default all such wallets are enabled (catalog-driven); the optional
|
|
21
|
+
* `config.enabledWallets` allow-list narrows that set when present.
|
|
10
22
|
*
|
|
11
23
|
* Transactions are built and broadcast against the Tron full-node HTTP API
|
|
12
24
|
* (`/wallet/*`); signing goes through the wallet's own injected
|
|
13
25
|
* `provider.tronWeb.trx.sign(unsigned)`, so the crypto stays in the wallet and
|
|
14
26
|
* costs us no bundle.
|
|
15
27
|
*/
|
|
16
|
-
export declare class TronConnector {
|
|
28
|
+
export declare class TronConnector implements Connector {
|
|
17
29
|
private readonly config;
|
|
18
|
-
|
|
30
|
+
/** Enabled keys exactly as configured (original case); matched against a
|
|
31
|
+
* wallet's id or injectedId case-insensitively. `undefined` when
|
|
32
|
+
* `enabledWallets` is omitted — meaning no gate (catalog-driven: every
|
|
33
|
+
* metadata-declared Tron wallet is enabled). */
|
|
34
|
+
private readonly enabledKeys;
|
|
19
35
|
private readonly clientByNetwork;
|
|
20
36
|
private readonly state;
|
|
21
37
|
private active;
|
|
@@ -23,6 +39,13 @@ export declare class TronConnector {
|
|
|
23
39
|
/** Listeners attached to the active provider, kept so we can detach on cleanup. */
|
|
24
40
|
private boundListeners;
|
|
25
41
|
constructor(config: TronConnectorConfig);
|
|
42
|
+
/**
|
|
43
|
+
* A wallet is enabled if a configured key equals its id or injectedId. With no
|
|
44
|
+
* configured `enabledWallets`, there is no gate: every wallet the metadata
|
|
45
|
+
* marks Tron-capable is enabled (catalog-driven). An explicit empty list
|
|
46
|
+
* enables nothing.
|
|
47
|
+
*/
|
|
48
|
+
private isEnabled;
|
|
26
49
|
/** Subscribe to connection-state transitions (decision D3). */
|
|
27
50
|
subscribe(listener: TronStateListener): () => void;
|
|
28
51
|
/**
|
|
@@ -31,17 +54,25 @@ export declare class TronConnector {
|
|
|
31
54
|
* namespace `'tron'`.
|
|
32
55
|
*/
|
|
33
56
|
getAvailableWallets(namespace: Namespace, expectedWallets?: WalletMetadata[]): Promise<DetectedTronWalletInfo[]>;
|
|
57
|
+
/**
|
|
58
|
+
* The set of wallets to probe, derived from the passed-in `expectedWallets`
|
|
59
|
+
* metadata: each wallet that declares a `namespaceMetaData.tron.injectedId`
|
|
60
|
+
* and is enabled. The reported `id` is the consumer's `WalletMetadata.id` (so
|
|
61
|
+
* core matches discovery results back by id), `injectedId` is the metadata
|
|
62
|
+
* value (the window path). With no `expectedWallets`, falls back to the
|
|
63
|
+
* configured `enabledKeys` treated as injectedIds (none when `enabledWallets`
|
|
64
|
+
* is omitted — there is then nothing to probe without metadata).
|
|
65
|
+
*/
|
|
66
|
+
private tronCandidates;
|
|
34
67
|
/**
|
|
35
68
|
* Connect to a Tron wallet on the given network. The wallet is identified by
|
|
36
|
-
* `
|
|
37
|
-
*
|
|
38
|
-
*
|
|
69
|
+
* its `namespaceMetaData.tron.injectedId` — read from the standard UWC
|
|
70
|
+
* provider passed in, or supplied directly as `{ injectedId }`/`{ uuid }`. The
|
|
71
|
+
* injectedId is the window path, so no per-wallet registry is needed.
|
|
72
|
+
* On success this connector holds the active provider until `disconnect()` or
|
|
73
|
+
* the next `connect()`.
|
|
39
74
|
*/
|
|
40
|
-
connect(network: Network, walletProvider?:
|
|
41
|
-
uuid?: string;
|
|
42
|
-
} | {
|
|
43
|
-
walletId?: string;
|
|
44
|
-
}): Promise<ConnectorResult>;
|
|
75
|
+
connect(network: Network, walletProvider?: TronConnectProvider): Promise<ConnectorResult>;
|
|
45
76
|
/**
|
|
46
77
|
* Tron network selection is wallet-driven (the user picks the chain in the
|
|
47
78
|
* wallet UI); there is no standardised programmatic switch across these
|
|
@@ -65,21 +96,31 @@ export declare class TronConnector {
|
|
|
65
96
|
private assertTronNetwork;
|
|
66
97
|
private requireActive;
|
|
67
98
|
/**
|
|
68
|
-
* Reject amounts that aren't
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* `
|
|
99
|
+
* Reject amounts that aren't valid non-negative integers on the money path.
|
|
100
|
+
* A `number` must be a safe integer — a fractional value makes `BigInt(amount)`
|
|
101
|
+
* throw (surfaced clearly here rather than as a raw `RangeError`), and a value
|
|
102
|
+
* beyond `Number.MAX_SAFE_INTEGER` can't be represented exactly so it would
|
|
103
|
+
* silently transfer the wrong amount. A `bigint` is always an exact integer, so
|
|
104
|
+
* only the sign is checked — unless `requireSafeInteger` is set (the native path,
|
|
105
|
+
* where the amount is serialized to the node as a JSON number and so must still
|
|
106
|
+
* fit the safe range). The TRC20 path instead bounds it by `uint256` max, the
|
|
107
|
+
* largest value the ABI word can hold before `encodeTrc20TransferParams`
|
|
108
|
+
* overflows its 32-byte word.
|
|
74
109
|
*/
|
|
75
110
|
private assertValidAmount;
|
|
76
111
|
/** Verify a TRC20 recipient's base58 checksum, surfaced as a typed error. */
|
|
77
112
|
private assertValidRecipient;
|
|
78
|
-
|
|
79
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Resolve the wallet's `injectedId` from the connect argument: the standard
|
|
115
|
+
* UWC provider's `namespaceMetaData.tron.injectedId`, or a direct
|
|
116
|
+
* `{ injectedId }` / `{ uuid }` / `{ walletId }` (the injected-connector
|
|
117
|
+
* delegation passes the provider, so the injectedId rides its tron metadata).
|
|
118
|
+
*/
|
|
119
|
+
private resolveInjected;
|
|
80
120
|
private getClient;
|
|
81
121
|
private bindWalletEvents;
|
|
82
122
|
private onWalletEvent;
|
|
83
123
|
private cleanupActive;
|
|
84
124
|
}
|
|
125
|
+
export {};
|
|
85
126
|
//# sourceMappingURL=tron-connector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tron-connector.d.ts","sourceRoot":"","sources":["../src/tron-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,OAAO,EAEP,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAGlB,cAAc,EACf,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"tron-connector.d.ts","sourceRoot":"","sources":["../src/tron-connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EACT,eAAe,EACf,sBAAsB,EACtB,yBAAyB,EACzB,iCAAiC,EACjC,SAAS,EACT,OAAO,EAEP,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAGlB,qBAAqB,EACrB,cAAc,EACf,MAAM,wBAAwB,CAAA;AAG/B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAA;AAiB/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AA6BlD;;;;;GAKG;AACH,KAAK,mBAAmB,GACpB;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACjB;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACrB,yBAAyB,GACzB,iCAAiC,GACjC,qBAAqB,GACrB,wBAAwB,CAAA;AAE5B;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C;;;oDAGgD;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAE/C,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,eAAe,CAAyB;IAChD,mFAAmF;IACnF,OAAO,CAAC,cAAc,CAGf;gBAEK,MAAM,EAAE,mBAAmB;IAOvC;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IASjB,+DAA+D;IAC/D,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI;IAIlD;;;;OAIG;IACG,mBAAmB,CACvB,SAAS,EAAE,SAAS,EACpB,eAAe,CAAC,EAAE,cAAc,EAAE,GACjC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAuCpC;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IA4BtB;;;;;;;OAOG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,mBAAmB,GACnC,OAAO,CAAC,eAAe,CAAC;IAsE3B;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmB7D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBpD,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwEnE;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAmEnC,gFAAgF;IAChF,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,aAAa;IAUrB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IAuBzB,6EAA6E;YAC/D,oBAAoB;IAclC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,aAAa;CAUtB"}
|