@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.
Files changed (58) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/rest/address.d.ts +5 -3
  6. package/dist/rest/address.d.ts.map +1 -1
  7. package/dist/rest/address.js +5 -3
  8. package/dist/rest/address.js.map +1 -1
  9. package/dist/rest/trongrid-client.d.ts +2 -2
  10. package/dist/rest/trongrid-client.d.ts.map +1 -1
  11. package/dist/rest/trongrid-client.js +17 -7
  12. package/dist/rest/trongrid-client.js.map +1 -1
  13. package/dist/tron-connector.d.ts +63 -22
  14. package/dist/tron-connector.d.ts.map +1 -1
  15. package/dist/tron-connector.js +181 -65
  16. package/dist/tron-connector.js.map +1 -1
  17. package/dist/wallets/base.d.ts +55 -1
  18. package/dist/wallets/base.d.ts.map +1 -1
  19. package/dist/wallets/base.js +101 -12
  20. package/dist/wallets/base.js.map +1 -1
  21. package/package.json +2 -2
  22. package/src/index.ts +6 -6
  23. package/src/rest/address.ts +5 -3
  24. package/src/rest/trongrid-client.test.ts +19 -12
  25. package/src/rest/trongrid-client.ts +19 -9
  26. package/src/tron-connector.test.ts +467 -87
  27. package/src/tron-connector.ts +231 -84
  28. package/src/wallets/base.ts +147 -12
  29. package/dist/wallets/bitget.d.ts +0 -8
  30. package/dist/wallets/bitget.d.ts.map +0 -1
  31. package/dist/wallets/bitget.js +0 -14
  32. package/dist/wallets/bitget.js.map +0 -1
  33. package/dist/wallets/okx.d.ts +0 -4
  34. package/dist/wallets/okx.d.ts.map +0 -1
  35. package/dist/wallets/okx.js +0 -10
  36. package/dist/wallets/okx.js.map +0 -1
  37. package/dist/wallets/registry.d.ts +0 -8
  38. package/dist/wallets/registry.d.ts.map +0 -1
  39. package/dist/wallets/registry.js +0 -18
  40. package/dist/wallets/registry.js.map +0 -1
  41. package/dist/wallets/tokenpocket.d.ts +0 -9
  42. package/dist/wallets/tokenpocket.d.ts.map +0 -1
  43. package/dist/wallets/tokenpocket.js +0 -15
  44. package/dist/wallets/tokenpocket.js.map +0 -1
  45. package/dist/wallets/tronlink.d.ts +0 -8
  46. package/dist/wallets/tronlink.d.ts.map +0 -1
  47. package/dist/wallets/tronlink.js +0 -15
  48. package/dist/wallets/tronlink.js.map +0 -1
  49. package/dist/wallets/trust.d.ts +0 -9
  50. package/dist/wallets/trust.d.ts.map +0 -1
  51. package/dist/wallets/trust.js +0 -15
  52. package/dist/wallets/trust.js.map +0 -1
  53. package/src/wallets/bitget.ts +0 -17
  54. package/src/wallets/okx.ts +0 -10
  55. package/src/wallets/registry.ts +0 -26
  56. package/src/wallets/tokenpocket.ts +0 -15
  57. package/src/wallets/tronlink.ts +0 -15
  58. 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 { ALL_TRON_WALLET_IDS, TRON_WALLET_REGISTRY, isTronWalletId } from './wallets/registry';
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';
@@ -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,EACL,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACf,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC7E,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"}
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
@@ -1,3 +1,3 @@
1
1
  export { TronConnector } from './tron-connector';
2
- export { ALL_TRON_WALLET_IDS, TRON_WALLET_REGISTRY, isTronWalletId } from './wallets/registry';
2
+ export { tronWrapperFor, TRON_WALLET_BEHAVIOR } from './wallets/base';
3
3
  //# sourceMappingURL=index.js.map
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,EACL,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACf,MAAM,oBAAoB,CAAA"}
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"}
@@ -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 full-node HTTP API accepts base58 directly when `visible: true` is set, so
9
- * build/broadcast never needs conversion. The one place we DO need it is the
10
- * TRC20 ABI parameter, which encodes the recipient as the bare 20-byte body.
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;;;;;;;;;;;;;;;;;;GAkBG;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"}
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"}
@@ -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 full-node HTTP API accepts base58 directly when `visible: true` is set, so
9
- * build/broadcast never needs conversion. The one place we DO need it is the
10
- * TRC20 ABI parameter, which encodes the recipient as the bare 20-byte body.
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.js","sourceRoot":"","sources":["../../src/rest/address.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,eAAe,GACnB,4DAA4D,CAAA;AAE9D,kFAAkF;AAClF,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IAE5E,IAAI,KAAK,GAAG,EAAE,CAAA;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,GAAG,CAAC,CAAA;QACrE,CAAC;QACD,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,OAAO,KAAK,GAAG,EAAE,EAAE,CAAC;QAClB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAA;QACpC,KAAK,KAAK,EAAE,CAAA;IACd,CAAC;IAED,6DAA6D;IAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,GAAG;YAAE,MAAK;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,KAAK,CAAC,KAAiB;IAC9B,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,mDAAmD;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IACtE,IAAI,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,WAAW,EAAE,CAAA;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACrC,sEAAsE;IACtE,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,4DAA4D,OAAO,CAAC,MAAM,EAAE,CAC7E,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACvC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAA;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC3C,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,MAAM,CAAC,KAAiB;IACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5E,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAe;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IACtE,IAAI,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAM,CAAC,kCAAkC;IAEnF,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACrC,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,4DAA4D,OAAO,CAAC,MAAM,EAAE,CAC7E,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACvC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
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;AAGvE;;;;;;;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,CAAA;KACf,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAmBpC,uEAAuE;IACjE,mBAAmB,CAAC,MAAM,EAAE;QAChC,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;QACV,MAAM,EAAE,MAAM,CAAA;QACd,eAAe,EAAE,MAAM,CAAA;KACxB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAyBpC,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
+ {"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: params.amount,
49
- visible: true
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
- owner_address: params.from,
63
- contract_address: params.contractAddress,
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: true
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":"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"}
1
+ {"version":3,"file":"trongrid-client.js","sourceRoot":"","sources":["../../src/rest/trongrid-client.ts"],"names":[],"mappings":"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"}
@@ -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 all 5 supported wallets TronLink, Bitget, OKX,
8
- * TokenPocket, Trust — selected per-connect by the wallet id. Per-wallet
9
- * enablement is controlled by `config.enabledWallets`.
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
- private readonly enabled;
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
- * `walletProvider.uuid` (or `.walletId`), which must be an enabled
37
- * `TronWalletId`. On success this connector holds the active provider until
38
- * `disconnect()` or the next `connect()`.
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 safe non-negative integers. Two reasons, both on
69
- * the money path: a fractional value makes `BigInt(amount)` throw a raw
70
- * `RangeError` (and the build runs outside the sign/broadcast try/catch, so it
71
- * would escape unwrapped); and a value beyond `Number.MAX_SAFE_INTEGER` can't
72
- * be represented exactly, so it would silently transfer the wrong amount.
73
- * `Number.isSafeInteger` covers both.
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
- private resolveAllowedIds;
79
- private requireWalletId;
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;AAqB/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAiBlD;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,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;IAKvC,+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;IA8BpC;;;;;OAKG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,OAAO,CAAC,eAAe,CAAC;IA6D3B;;;;;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;IAoBpD,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAsEnE;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAsDnC,gFAAgF;IAChF,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,aAAa;IAUrB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IASzB,6EAA6E;YAC/D,oBAAoB;IAclC,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,aAAa;IAkCrB,OAAO,CAAC,aAAa;CAUtB"}
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"}