@kynesyslabs/demosdk 2.5.12 → 2.5.13

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 (43) hide show
  1. package/build/abstraction/Identities.d.ts +21 -5
  2. package/build/abstraction/Identities.js +21 -20
  3. package/build/abstraction/Identities.js.map +1 -1
  4. package/build/abstraction/index.d.ts +2 -2
  5. package/build/abstraction/index.js.map +1 -1
  6. package/build/multichain/core/aptos.js.map +1 -1
  7. package/build/multichain/core/btc.d.ts +26 -2
  8. package/build/multichain/core/btc.js +106 -37
  9. package/build/multichain/core/btc.js.map +1 -1
  10. package/build/multichain/core/ibc.d.ts +1 -1
  11. package/build/multichain/core/ibc.js +29 -14
  12. package/build/multichain/core/ibc.js.map +1 -1
  13. package/build/multichain/core/index.d.ts +1 -0
  14. package/build/multichain/core/index.js +3 -1
  15. package/build/multichain/core/index.js.map +1 -1
  16. package/build/multichain/core/multiversx.d.ts +2 -2
  17. package/build/multichain/core/multiversx.js +9 -1
  18. package/build/multichain/core/multiversx.js.map +1 -1
  19. package/build/multichain/core/near.js +6 -2
  20. package/build/multichain/core/near.js.map +1 -1
  21. package/build/multichain/core/ton.d.ts +11 -3
  22. package/build/multichain/core/ton.js +61 -7
  23. package/build/multichain/core/ton.js.map +1 -1
  24. package/build/multichain/core/tron.d.ts +77 -0
  25. package/build/multichain/core/tron.js +255 -0
  26. package/build/multichain/core/tron.js.map +1 -0
  27. package/build/multichain/core/types/defaultChain.d.ts +5 -0
  28. package/build/multichain/core/types/defaultChain.js +7 -0
  29. package/build/multichain/core/types/defaultChain.js.map +1 -1
  30. package/build/multichain/localsdk/ibc.js +2 -2
  31. package/build/multichain/localsdk/ibc.js.map +1 -1
  32. package/build/multichain/localsdk/index.d.ts +1 -0
  33. package/build/multichain/localsdk/index.js +3 -1
  34. package/build/multichain/localsdk/index.js.map +1 -1
  35. package/build/multichain/localsdk/multiversx.d.ts +1 -1
  36. package/build/multichain/localsdk/multiversx.js +27 -7
  37. package/build/multichain/localsdk/multiversx.js.map +1 -1
  38. package/build/multichain/localsdk/tron.d.ts +3 -0
  39. package/build/multichain/localsdk/tron.js +8 -0
  40. package/build/multichain/localsdk/tron.js.map +1 -0
  41. package/build/types/abstraction/index.d.ts +4 -8
  42. package/build/websdk/examples/tryWeb2.js +1 -1
  43. package/package.json +6 -3
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TRON = void 0;
7
+ const _1 = require(".");
8
+ const tronweb_1 = require("tronweb");
9
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
+ const defaultChain_1 = require("./types/defaultChain");
11
+ const interfaces_1 = require("./types/interfaces");
12
+ class TRON extends defaultChain_1.DefaultChain {
13
+ constructor(rpc_url) {
14
+ super(rpc_url);
15
+ this.name = "tron";
16
+ }
17
+ setRpc(rpc_url) {
18
+ this.rpc_url = rpc_url;
19
+ this.provider = new tronweb_1.TronWeb({
20
+ fullHost: this.rpc_url,
21
+ });
22
+ }
23
+ async connect() {
24
+ try {
25
+ (0, _1.required)(this.provider, "Provider not initialized. Call setRpc first.");
26
+ // Test connection by getting latest block
27
+ const block = await this.provider.trx.getCurrentBlock();
28
+ this.connected = !!block?.block_header;
29
+ return this.connected;
30
+ }
31
+ catch (error) {
32
+ console.error("[TRON] Connection failed:", error);
33
+ this.connected = false;
34
+ return false;
35
+ }
36
+ }
37
+ async connectWallet(privateKey) {
38
+ (0, _1.required)(this.provider, "Provider not initialized. Call setRpc first.");
39
+ // Trim whitespace from private key before processing
40
+ const trimmedKey = privateKey.trim();
41
+ const cleanPrivateKey = trimmedKey.startsWith("0x")
42
+ ? trimmedKey.slice(2)
43
+ : trimmedKey;
44
+ this.wallet = new tronweb_1.TronWeb({
45
+ fullHost: this.rpc_url,
46
+ privateKey: cleanPrivateKey,
47
+ });
48
+ return this.wallet;
49
+ }
50
+ getAddress() {
51
+ (0, _1.required)(this.wallet, "Wallet not connected");
52
+ const address = this.wallet.defaultAddress.base58;
53
+ if (!address) {
54
+ throw new Error("Wallet address not available");
55
+ }
56
+ const addressStr = String(address);
57
+ // Validate the address format
58
+ if (!tronweb_1.TronWeb.isAddress(addressStr)) {
59
+ throw new Error(`Invalid TRON address: ${addressStr}`);
60
+ }
61
+ return addressStr;
62
+ }
63
+ async getBalance(address) {
64
+ (0, _1.required)(this.provider, "Provider not initialized");
65
+ try {
66
+ // Returns balance in SUN (1 TRX = 1,000,000 SUN)
67
+ const balanceSun = await this.provider.trx.getBalance(address);
68
+ return new bignumber_js_1.default(balanceSun).toString();
69
+ }
70
+ catch (error) {
71
+ console.error("[TRON] Failed to get balance:", error);
72
+ throw error;
73
+ }
74
+ }
75
+ async getInfo() {
76
+ (0, _1.required)(this.provider, "Provider not initialized");
77
+ return await this.provider.trx.getCurrentBlock();
78
+ }
79
+ /**
80
+ * Creates a new TRON wallet
81
+ * @param _password Password parameter (reserved for future encryption support)
82
+ * @returns Object containing the wallet address and private key
83
+ * @note Currently returns unencrypted private key. Password parameter is accepted
84
+ * for interface compatibility but not yet used for encryption.
85
+ */
86
+ async createWallet(_password) {
87
+ const account = await tronweb_1.TronWeb.createAccount();
88
+ // TODO: Implement password-based encryption of privateKey
89
+ // For now, return unencrypted to match other chain implementations
90
+ return {
91
+ address: account.address.base58,
92
+ privateKey: account.privateKey,
93
+ };
94
+ }
95
+ async signMessage(message, options) {
96
+ (0, _1.required)(this.wallet || options?.privateKey, "Wallet not connected");
97
+ const wallet = options?.privateKey
98
+ ? new tronweb_1.TronWeb({ fullHost: this.rpc_url, privateKey: options.privateKey })
99
+ : this.wallet;
100
+ const hexMessage = tronweb_1.TronWeb.toHex(message);
101
+ const signedMessage = await wallet.trx.signMessageV2(hexMessage);
102
+ return signedMessage;
103
+ }
104
+ async verifyMessage(message, signature, publicKey) {
105
+ try {
106
+ const hexMessage = tronweb_1.TronWeb.toHex(message);
107
+ const tronWeb = this.provider || new tronweb_1.TronWeb({
108
+ fullHost: this.rpc_url
109
+ });
110
+ const recoveredAddress = await tronWeb.trx.verifyMessageV2(hexMessage, signature);
111
+ return recoveredAddress.toLowerCase() === publicKey.toLowerCase();
112
+ }
113
+ catch (error) {
114
+ console.error("[TRON] Message verification failed:", error);
115
+ return false;
116
+ }
117
+ }
118
+ async signTransaction(tx) {
119
+ (0, _1.required)(this.wallet, "Wallet not connected");
120
+ return await this.wallet.trx.sign(tx);
121
+ }
122
+ async signTransactions(transactions, options) {
123
+ const wallet = options?.privateKey
124
+ ? new tronweb_1.TronWeb({ fullHost: this.rpc_url, privateKey: options.privateKey })
125
+ : this.wallet;
126
+ (0, _1.required)(wallet, "Wallet not connected");
127
+ const signedTxs = [];
128
+ for (const tx of transactions) {
129
+ const signedTx = await wallet.trx.sign(tx);
130
+ signedTxs.push(signedTx);
131
+ }
132
+ return signedTxs;
133
+ }
134
+ /**
135
+ * Prepare a TRX transfer transaction
136
+ * @param receiver Recipient address (base58 format)
137
+ * @param amount Amount in SUN (1 TRX = 1,000,000 SUN)
138
+ * @param options Options including optional privateKey
139
+ * @returns Signed transaction ready to broadcast
140
+ */
141
+ async preparePay(receiver, amount, options) {
142
+ const txs = await this.preparePays([{ address: receiver, amount }], options);
143
+ return txs[0];
144
+ }
145
+ /**
146
+ * Prepare multiple TRX transfer transactions
147
+ * @param payments Array of payments with address and amount (in SUN)
148
+ * @param options Options including optional privateKey
149
+ * @returns Array of signed transactions
150
+ */
151
+ async preparePays(payments, options) {
152
+ const wallet = options?.privateKey
153
+ ? new tronweb_1.TronWeb({ fullHost: this.rpc_url, privateKey: options.privateKey })
154
+ : this.wallet;
155
+ (0, _1.required)(wallet, "Wallet not connected");
156
+ const signedTxs = [];
157
+ for (const payment of payments) {
158
+ const amountBN = new bignumber_js_1.default(payment.amount);
159
+ if (!amountBN.isFinite() || amountBN.isNegative()) {
160
+ throw new Error(`Invalid payment amount: ${payment.amount}`);
161
+ }
162
+ // Convert to integer (SUN should be whole numbers)
163
+ const amountIntBN = amountBN.integerValue(bignumber_js_1.default.ROUND_FLOOR);
164
+ // Validate amount doesn't exceed JavaScript's safe integer limit
165
+ // TronWeb API requires a JavaScript Number, so we must ensure precision is preserved
166
+ if (amountIntBN.isGreaterThan(Number.MAX_SAFE_INTEGER)) {
167
+ const maxTrx = Math.floor(Number.MAX_SAFE_INTEGER / TRON.SUN_PER_TRX);
168
+ throw new Error(`Payment amount ${payment.amount} SUN exceeds maximum safe integer (${Number.MAX_SAFE_INTEGER}). ` +
169
+ `Maximum supported amount is ~${maxTrx.toLocaleString()} TRX.`);
170
+ }
171
+ const amountInSun = amountIntBN.toNumber();
172
+ const fromAddress = wallet.defaultAddress.base58;
173
+ if (!fromAddress) {
174
+ throw new Error("Wallet address not available");
175
+ }
176
+ const unsignedTx = await wallet.transactionBuilder.sendTrx(payment.address, amountInSun, String(fromAddress));
177
+ const signedTx = await wallet.trx.sign(unsignedTx);
178
+ signedTxs.push(signedTx);
179
+ }
180
+ return signedTxs;
181
+ }
182
+ /**
183
+ * Broadcast a signed transaction to the network
184
+ * @param signedTx The signed transaction
185
+ * @returns Transaction response with result and hash
186
+ */
187
+ async sendTransaction(signedTx) {
188
+ (0, _1.required)(this.provider, "Provider not initialized");
189
+ try {
190
+ const result = await this.provider.trx.sendRawTransaction(signedTx);
191
+ if (result.result === true) {
192
+ return {
193
+ result: interfaces_1.XmTransactionResult.success,
194
+ hash: result.txid || result.transaction?.txID,
195
+ };
196
+ }
197
+ return {
198
+ result: interfaces_1.XmTransactionResult.error,
199
+ error: result.message || String(result.code) || "Transaction failed",
200
+ };
201
+ }
202
+ catch (error) {
203
+ console.error("[TRON] Send transaction failed:", error);
204
+ return {
205
+ result: interfaces_1.XmTransactionResult.error,
206
+ error: error.message || error.toString(),
207
+ };
208
+ }
209
+ }
210
+ getEmptyTransaction() {
211
+ return {};
212
+ }
213
+ /**
214
+ * Convert TRX to SUN
215
+ * @param trx Amount in TRX
216
+ * @returns Amount in SUN as bigint
217
+ */
218
+ static trxToSun(trx) {
219
+ if (typeof trx === "string") {
220
+ trx = trx.trim() || "0";
221
+ }
222
+ const trxAmount = new bignumber_js_1.default(trx);
223
+ if (!trxAmount.isFinite()) {
224
+ throw new Error(`Invalid TRX amount: ${trx}`);
225
+ }
226
+ const sun = trxAmount.times(TRON.SUN_PER_TRX).integerValue(bignumber_js_1.default.ROUND_FLOOR);
227
+ return BigInt(sun.toString());
228
+ }
229
+ /**
230
+ * Convert SUN to TRX with full precision preservation
231
+ * @param sun Amount in SUN as bigint
232
+ * @returns Amount in TRX as a decimal string (e.g., "123.456789")
233
+ * @note This method returns a string to preserve precision for large values.
234
+ * For display purposes, you may want to parse this with a BigNumber library.
235
+ */
236
+ static sunToTrx(sun) {
237
+ const sunPerTrx = BigInt(TRON.SUN_PER_TRX);
238
+ const isNegative = sun < 0n;
239
+ const absSun = isNegative ? -sun : sun;
240
+ const integerPart = absSun / sunPerTrx;
241
+ const remainder = absSun % sunPerTrx;
242
+ // Pad remainder to 6 decimal places (TRON has 6 decimals)
243
+ const fractionalStr = remainder.toString().padStart(6, "0");
244
+ // Remove trailing zeros for cleaner output
245
+ const trimmedFractional = fractionalStr.replace(/0+$/, "") || "0";
246
+ const base = trimmedFractional === "0"
247
+ ? integerPart.toString()
248
+ : `${integerPart}.${trimmedFractional}`;
249
+ return isNegative ? `-${base}` : base;
250
+ }
251
+ }
252
+ exports.TRON = TRON;
253
+ // TRX has 6 decimal places (1 TRX = 1,000,000 SUN)
254
+ TRON.SUN_PER_TRX = 1000000;
255
+ //# sourceMappingURL=tron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../../src/multichain/core/tron.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,11 @@ export declare abstract class DefaultChain {
88
88
  * Returns the address of the connected wallet
89
89
  */
90
90
  abstract getAddress(): string;
91
+ /**
92
+ * Returns the public key of the connected wallet (if available).
93
+ * @returns The public key as a hex string, or undefined if not available
94
+ */
95
+ getPublicKey(): string | undefined;
91
96
  /**
92
97
  * Signs a message using the connected wallet
93
98
  * @param message The message to sign
@@ -78,6 +78,13 @@ class DefaultChain {
78
78
  this.resetInstance();
79
79
  return !this.connected;
80
80
  }
81
+ /**
82
+ * Returns the public key of the connected wallet (if available).
83
+ * @returns The public key as a hex string, or undefined if not available
84
+ */
85
+ getPublicKey() {
86
+ return undefined;
87
+ }
81
88
  }
82
89
  exports.DefaultChain = DefaultChain;
83
90
  //# sourceMappingURL=defaultChain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultChain.js","sourceRoot":"","sources":["../../../../../src/multichain/core/types/defaultChain.ts"],"names":[],"mappings":";;;AASA,MAAsB,YAAY;IAQ9B,sDAAsD;IACtD,6DAA6D;IAC7D,wDAAwD;IACxD,4CAA4C;IAC5C,YAAY,OAAe;QAX3B,aAAQ,GAAQ,IAAI,CAAA;QACpB,SAAI,GAAW,EAAE,CAAA;QACjB,WAAM,GAAQ,IAAI,CAAA;QAClB,WAAM,GAAQ,IAAI,CAAA;QAClB,YAAO,GAAW,EAAE,CAAA;QACpB,cAAS,GAAY,KAAK,CAAA;QAOtB,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;IAED,0BAA0B;IAE1B;;;OAGG;IACH,MAAM,CAAC,OAAe;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAEf,UAAkB,EAAE;QAEpB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;QAElC,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;YACvC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACxB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAA;QAC5B,CAAC;QAED,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;OAEG;IACO,aAAa;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAKX,QAAgB,EAChB,MAAc,EACd,OAAiB;QAEjB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAKZ,QAAsB,EACtB,OAAiB;QAEjB,mBAAmB;QACnB,uFAAuF;QACvF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACZ,mDAAmD;QACnD,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAA;IAC1B,CAAC;CAoHJ;AA5ND,oCA4NC"}
1
+ {"version":3,"file":"defaultChain.js","sourceRoot":"","sources":["../../../../../src/multichain/core/types/defaultChain.ts"],"names":[],"mappings":";;;AASA,MAAsB,YAAY;IAQ9B,sDAAsD;IACtD,6DAA6D;IAC7D,wDAAwD;IACxD,4CAA4C;IAC5C,YAAY,OAAe;QAX3B,aAAQ,GAAQ,IAAI,CAAA;QACpB,SAAI,GAAW,EAAE,CAAA;QACjB,WAAM,GAAQ,IAAI,CAAA;QAClB,WAAM,GAAQ,IAAI,CAAA;QAClB,YAAO,GAAW,EAAE,CAAA;QACpB,cAAS,GAAY,KAAK,CAAA;QAOtB,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;IACL,CAAC;IAED,0BAA0B;IAE1B;;;OAGG;IACH,MAAM,CAAC,OAAe;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAEf,UAAkB,EAAE;QAEpB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;QAElC,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;YACvC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACxB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAA;QAC5B,CAAC;QAED,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;OAEG;IACO,aAAa;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAKX,QAAgB,EAChB,MAAc,EACd,OAAiB;QAEjB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAKZ,QAAsB,EACtB,OAAiB;QAEjB,mBAAmB;QACnB,uFAAuF;QACvF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACZ,mDAAmD;QACnD,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAA;IAC1B,CAAC;IAmED;;;OAGG;IACH,YAAY;QACR,OAAO,SAAS,CAAA;IACpB,CAAC;CAmDJ;AApOD,oCAoOC"}
@@ -8,8 +8,8 @@ class IBC extends core_1.IBC {
8
8
  super(rpc_url);
9
9
  }
10
10
  async sendTransaction(signed_tx) {
11
- (0, core_1.required)(this.wallet, 'Wallet not connected');
12
- const hash = await this.wallet.broadcastTxSync(signed_tx);
11
+ (0, core_1.required)(this.provider, 'Provider not connected');
12
+ const hash = await this.provider.broadcastTxSync(signed_tx);
13
13
  return {
14
14
  hash,
15
15
  result: interfaces_1.XmTransactionResult.success,
@@ -1 +1 @@
1
- {"version":3,"file":"ibc.js","sourceRoot":"","sources":["../../../../src/multichain/localsdk/ibc.ts"],"names":[],"mappings":";;;AAAA,4CAAqG;AACrG,yDAA8D;AAE9D,MAAa,GAAI,SAAQ,UAAO;IAC5B,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAqB;QACvC,IAAA,eAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;QAE7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QACzD,OAAO;YACH,IAAI;YACJ,MAAM,EAAE,gCAAmB,CAAC,OAAO;SACtC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAiB;QAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;CACJ;AAtBD,kBAsBC"}
1
+ {"version":3,"file":"ibc.js","sourceRoot":"","sources":["../../../../src/multichain/localsdk/ibc.ts"],"names":[],"mappings":";;;AAAA,4CAAqG;AACrG,yDAA8D;AAE9D,MAAa,GAAI,SAAQ,UAAO;IAC5B,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAqB;QACvC,IAAA,eAAQ,EAAC,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAA;QAEjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QAC3D,OAAO;YACH,IAAI;YACJ,MAAM,EAAE,gCAAmB,CAAC,OAAO;SACtC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAiB;QAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;CACJ;AAtBD,kBAsBC"}
@@ -2,6 +2,7 @@ export { XRPL } from "./xrp";
2
2
  export { EVM } from "./evm";
3
3
  export { IBC } from "./ibc";
4
4
  export { TON } from "./ton";
5
+ export { TRON } from "./tron";
5
6
  export { SOLANA } from "./solana";
6
7
  export { MULTIVERSX } from "./multiversx";
7
8
  export { NEAR } from "./near";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.APTOS = exports.BTC = exports.NEAR = exports.MULTIVERSX = exports.SOLANA = exports.TON = exports.IBC = exports.EVM = exports.XRPL = void 0;
3
+ exports.APTOS = exports.BTC = exports.NEAR = exports.MULTIVERSX = exports.SOLANA = exports.TRON = exports.TON = exports.IBC = exports.EVM = exports.XRPL = void 0;
4
4
  var xrp_1 = require("./xrp");
5
5
  Object.defineProperty(exports, "XRPL", { enumerable: true, get: function () { return xrp_1.XRPL; } });
6
6
  var evm_1 = require("./evm");
@@ -9,6 +9,8 @@ var ibc_1 = require("./ibc");
9
9
  Object.defineProperty(exports, "IBC", { enumerable: true, get: function () { return ibc_1.IBC; } });
10
10
  var ton_1 = require("./ton");
11
11
  Object.defineProperty(exports, "TON", { enumerable: true, get: function () { return ton_1.TON; } });
12
+ var tron_1 = require("./tron");
13
+ Object.defineProperty(exports, "TRON", { enumerable: true, get: function () { return tron_1.TRON; } });
12
14
  var solana_1 = require("./solana");
13
15
  Object.defineProperty(exports, "SOLANA", { enumerable: true, get: function () { return solana_1.SOLANA; } });
14
16
  var multiversx_1 = require("./multiversx");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/multichain/localsdk/index.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAAnB,2FAAA,IAAI,OAAA;AACb,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,iCAA+B;AAAtB,8FAAA,KAAK,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/multichain/localsdk/index.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAAnB,2FAAA,IAAI,OAAA;AACb,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,iCAA+B;AAAtB,8FAAA,KAAK,OAAA"}
@@ -9,5 +9,5 @@ export declare class MULTIVERSX extends EGLDCore implements IDefaultChainLocal {
9
9
  mnemonics_txt: string;
10
10
  wallet_keyfile: string;
11
11
  }>;
12
- sendTransaction(raw_tx: Transaction | IPlainTransactionObject): Promise<TransactionResponse>;
12
+ sendTransaction(raw_tx: Transaction | IPlainTransactionObject | string): Promise<TransactionResponse>;
13
13
  }
@@ -32,16 +32,36 @@ class MULTIVERSX extends core_1.MULTIVERSX {
32
32
  }
33
33
  async sendTransaction(raw_tx) {
34
34
  (0, core_1.required)(this.provider, 'Provider not connected');
35
- let signed_tx;
36
- // INFO: raw_tx is a plain object when it comes from the frontend
37
- if (!(raw_tx instanceof sdk_core_1.Transaction)) {
38
- signed_tx = sdk_core_1.Transaction.fromPlainObject(raw_tx);
35
+ if (raw_tx instanceof sdk_core_1.Transaction) {
36
+ const tx_hash = await this.provider.sendTransaction(raw_tx);
37
+ return {
38
+ result: interfaces_1.XmTransactionResult.success,
39
+ hash: tx_hash,
40
+ };
41
+ }
42
+ // Handle hex-encoded JSON string
43
+ let plainTx;
44
+ if (typeof raw_tx === 'string') {
45
+ try {
46
+ let jsonString = raw_tx;
47
+ if (raw_tx.startsWith('0x')) {
48
+ jsonString = Buffer.from(raw_tx.slice(2), 'hex').toString('utf-8');
49
+ }
50
+ plainTx = JSON.parse(jsonString);
51
+ }
52
+ catch (error) {
53
+ throw new Error('Failed to parse transaction string. Invalid JSON format.');
54
+ }
39
55
  }
40
56
  else {
41
- signed_tx = raw_tx;
57
+ plainTx = raw_tx;
58
+ }
59
+ // The plain object format from toPlainObject()/toSendable() is already API-compatible.
60
+ const response = await this.provider.doPostGeneric('transactions', plainTx);
61
+ const tx_hash = response.txHash;
62
+ if (!tx_hash || typeof tx_hash !== 'string') {
63
+ throw new Error(`Failed to send transaction. API response: ${JSON.stringify(response)}`);
42
64
  }
43
- // INFO: The provider can also send a list of transactions
44
- const tx_hash = await this.provider.sendTransaction(signed_tx);
45
65
  return {
46
66
  result: interfaces_1.XmTransactionResult.success,
47
67
  hash: tx_hash,
@@ -1 +1 @@
1
- {"version":3,"file":"multiversx.js","sourceRoot":"","sources":["../../../../src/multichain/localsdk/multiversx.ts"],"names":[],"mappings":";;;AAAA,4CAK0B;AAE1B,mDAA2E;AAC3E,uDAA6D;AAC7D,yDAA8D;AAE9D,MAAa,UAAW,SAAQ,iBAAQ;IACpC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,OAAO;QACT,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB,EAAE,YAAqB;QACtD,IAAA,eAAQ,EAAC,QAAQ,EAAE,8CAA8C,CAAC,CAAA;QAElE,MAAM,SAAS,GAAG,qBAAQ,CAAC,QAAQ,EAAE,CAAA;QAErC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAA;QAClC,MAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;QAExE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC7D,MAAM,MAAM,GAAG,uBAAU,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;QAEhE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;QAElC,wCAAwC;QACxC,MAAM,aAAa,GAAW,UAAU,CAAC,MAAM,CAAA;QAE/C,kDAAkD;QAClD,OAAO;YACH,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,aAAa;YACtB,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;SACtD,CAAA;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAA6C;QAC/D,IAAA,eAAQ,EAAC,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAA;QACjD,IAAI,SAAsB,CAAA;QAE1B,iEAAiE;QACjE,IAAI,CAAC,CAAC,MAAM,YAAY,sBAAW,CAAC,EAAE,CAAC;YACnC,SAAS,GAAG,sBAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QACnD,CAAC;aAAM,CAAC;YACJ,SAAS,GAAG,MAAM,CAAA;QACtB,CAAC;QAED,0DAA0D;QAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC/C,SAAwB,CAC3B,CAAA;QAED,OAAO;YACH,MAAM,EAAE,gCAAmB,CAAC,OAAO;YACnC,IAAI,EAAE,OAAO;SAChB,CAAA;IACL,CAAC;CACJ;AAvDD,gCAuDC"}
1
+ {"version":3,"file":"multiversx.js","sourceRoot":"","sources":["../../../../src/multichain/localsdk/multiversx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { TRON as TRONCore } from "../core/tron";
2
+ export declare class TRON extends TRONCore {
3
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TRON = void 0;
4
+ const tron_1 = require("../core/tron");
5
+ class TRON extends tron_1.TRON {
6
+ }
7
+ exports.TRON = TRON;
8
+ //# sourceMappingURL=tron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tron.js","sourceRoot":"","sources":["../../../../src/multichain/localsdk/tron.ts"],"names":[],"mappings":";;;AAAA,iDAAyD;AAEzD,MAAa,IAAK,SAAQ,WAAQ;CAAI;AAAtC,oBAAsC"}
@@ -14,6 +14,7 @@ export interface InferFromSignatureTargetIdentityPayload extends XMCoreTargetIde
14
14
  targetAddress: string;
15
15
  signedData: string;
16
16
  publicKey?: string;
17
+ displayAddress?: string;
17
18
  }
18
19
  /**
19
20
  * The identity of the target address to bind to the Demos identity
@@ -68,13 +69,9 @@ export interface Web2CoreTargetIdentityPayload {
68
69
  userId: string;
69
70
  referralCode?: string;
70
71
  }
71
- type GistProofUrl = `https://gist.github.com/${string}/${string}`;
72
- type RawGistProofUrl = `https://gist.githubusercontent.com/${string}/${string}`;
73
- type RawGithubProofUrl = `https://raw.githubusercontent.com/${string}/${string}`;
74
- export type GithubProof = RawGistProofUrl | GistProofUrl | RawGithubProofUrl;
75
- export interface InferFromGithubPayload extends Web2CoreTargetIdentityPayload {
72
+ export interface InferFromGithubOAuthPayload extends Web2CoreTargetIdentityPayload {
76
73
  context: "github";
77
- proof: GithubProof;
74
+ proof: string;
78
75
  }
79
76
  export type XProof = `https://x.com/${string}/${string}`;
80
77
  export type TwitterProof = XProof;
@@ -129,7 +126,7 @@ export interface BaseWeb2IdentityPayload {
129
126
  }
130
127
  export interface Web2IdentityAssignPayload extends BaseWeb2IdentityPayload {
131
128
  method: "web2_identity_assign";
132
- payload: InferFromGithubPayload | InferFromTwitterPayload | InferFromTelegramPayload | InferFromDiscordPayload;
129
+ payload: InferFromGithubOAuthPayload | InferFromTwitterPayload | InferFromTelegramPayload | InferFromDiscordPayload;
133
130
  }
134
131
  export interface Web2IdentityRemovePayload extends BaseWeb2IdentityPayload {
135
132
  method: "web2_identity_remove";
@@ -236,4 +233,3 @@ export interface FindDemosIdByWeb3IdentityQuery {
236
233
  chain: string;
237
234
  address: string;
238
235
  }
239
- export {};
@@ -5,7 +5,7 @@ const demosclass_1 = require("../demosclass");
5
5
  async function tryWeb2Proxy() {
6
6
  try {
7
7
  const demos = new demosclass_1.Demos();
8
- await demos.connect("http://localhost:53550");
8
+ await demos.connect("https://node2.demos.sh");
9
9
  const identity = DemosWebAuth_1.DemosWebAuth.getInstance();
10
10
  await identity.create();
11
11
  await demos.connectWallet(identity.keypair.privateKey);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kynesyslabs/demosdk",
3
- "version": "2.5.12",
3
+ "version": "2.5.13",
4
4
  "description": "Demosdk is a JavaScript/TypeScript SDK that provides a unified interface for interacting with Demos network",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -25,6 +25,7 @@
25
25
  "./xmcore/btc": "./build/multichain/core/btc.js",
26
26
  "./xmcore/aptos": "./build/multichain/core/aptos.js",
27
27
  "./xmcore/near": "./build/multichain/core/near.js",
28
+ "./xmcore/tron": "./build/multichain/core/tron.js",
28
29
  "./xm-websdk": "./build/multichain/websdk/index.js",
29
30
  "./xm-localsdk": "./build/multichain/localsdk/index.js",
30
31
  "./wallet": "./build/wallet/index.js",
@@ -86,9 +87,9 @@
86
87
  "@simplewebauthn/server": "^11.0.0",
87
88
  "@solana/buffer-layout": "^4.0.1",
88
89
  "@solana/web3.js": "1.98.0",
89
- "@ton/core": "^0.56.3",
90
+ "@ton/core": "^0.62.0",
90
91
  "@ton/crypto": "^3.3.0",
91
- "@ton/ton": "^13.11.2",
92
+ "@ton/ton": "^16.0.0",
92
93
  "@types/simple-peer": "^9.11.8",
93
94
  "axios": "^1.11.0",
94
95
  "big-integer": "^1.6.52",
@@ -101,6 +102,7 @@
101
102
  "buffer": "^6.0.3",
102
103
  "dotenv": "^16.6.1",
103
104
  "ecpair": "^3.0.0",
105
+ "ed25519-hd-key": "^1.3.0",
104
106
  "ethers": "^6.15.0",
105
107
  "falcon-js": "^1.0.0",
106
108
  "falcon-sign": "^1.0.4",
@@ -122,6 +124,7 @@
122
124
  "socket.io-client": "^4.8.1",
123
125
  "sphincs": "^3.0.4",
124
126
  "superdilithium": "^2.0.6",
127
+ "tronweb": "^6.0.0",
125
128
  "web3": "^4.16.0",
126
129
  "xrpl": "^3.1.0"
127
130
  },