@t402/tron 1.0.0 → 2.3.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/cjs/exact/client/index.d.ts +1 -1
- package/dist/cjs/exact/client/index.js +5 -1
- package/dist/cjs/exact/client/index.js.map +1 -1
- package/dist/cjs/exact/facilitator/index.js +23 -13
- package/dist/cjs/exact/facilitator/index.js.map +1 -1
- package/dist/cjs/exact/server/index.d.ts +3 -6
- package/dist/cjs/exact/server/index.js +96 -143
- package/dist/cjs/exact/server/index.js.map +1 -1
- package/dist/cjs/index.js +151 -174
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/{chunk-RHOZZ6XV.mjs → chunk-5HUXHQSQ.mjs} +55 -82
- package/dist/esm/chunk-5HUXHQSQ.mjs.map +1 -0
- package/dist/esm/{chunk-A2E6FJU3.mjs → chunk-5QY7AVRU.mjs} +6 -5
- package/dist/esm/chunk-5QY7AVRU.mjs.map +1 -0
- package/dist/esm/{chunk-L773HPM3.mjs → chunk-MTL3FNSQ.mjs} +39 -64
- package/dist/esm/chunk-MTL3FNSQ.mjs.map +1 -0
- package/dist/esm/{chunk-CH6GR2VO.mjs → chunk-NP4MIP3N.mjs} +24 -17
- package/dist/esm/chunk-NP4MIP3N.mjs.map +1 -0
- package/dist/esm/exact/client/index.d.mts +1 -1
- package/dist/esm/exact/client/index.mjs +2 -2
- package/dist/esm/exact/facilitator/index.mjs +2 -2
- package/dist/esm/exact/server/index.d.mts +3 -6
- package/dist/esm/exact/server/index.mjs +2 -2
- package/dist/esm/index.mjs +4 -10
- package/dist/esm/index.mjs.map +1 -1
- package/package.json +20 -19
- package/dist/esm/chunk-A2E6FJU3.mjs.map +0 -1
- package/dist/esm/chunk-CH6GR2VO.mjs.map +0 -1
- package/dist/esm/chunk-L773HPM3.mjs.map +0 -1
- package/dist/esm/chunk-RHOZZ6XV.mjs.map +0 -1
package/dist/cjs/index.js
CHANGED
|
@@ -3,9 +3,7 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var
|
|
7
|
-
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
8
|
-
};
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
7
|
var __export = (target, all) => {
|
|
10
8
|
for (var name in all)
|
|
11
9
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -19,142 +17,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
19
17
|
return to;
|
|
20
18
|
};
|
|
21
19
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
|
-
|
|
23
|
-
// src/constants.ts
|
|
24
|
-
var TRON_MAINNET_CAIP2, TRON_NILE_CAIP2, TRON_SHASTA_CAIP2, TRON_NETWORKS, TRON_MAINNET_ENDPOINT, TRON_NILE_ENDPOINT, TRON_SHASTA_ENDPOINT, NETWORK_ENDPOINTS, TRC20_TRANSFER_SELECTOR, TRC20_APPROVE_SELECTOR, TRC20_BALANCE_OF_SELECTOR, DEFAULT_FEE_LIMIT, MIN_FEE_LIMIT, MAX_FEE_LIMIT, SUN_PER_TRX, SCHEME_EXACT, DEFAULT_VALIDITY_DURATION, MIN_VALIDITY_BUFFER, TRON_ADDRESS_PREFIX, TRON_ADDRESS_LENGTH, TRON_ADDRESS_HEX_PREFIX, USDT_ADDRESSES, DEFAULT_USDT_DECIMALS, DEFAULT_TRX_DECIMALS;
|
|
25
|
-
var init_constants = __esm({
|
|
26
|
-
"src/constants.ts"() {
|
|
27
|
-
"use strict";
|
|
28
|
-
TRON_MAINNET_CAIP2 = "tron:mainnet";
|
|
29
|
-
TRON_NILE_CAIP2 = "tron:nile";
|
|
30
|
-
TRON_SHASTA_CAIP2 = "tron:shasta";
|
|
31
|
-
TRON_NETWORKS = [TRON_MAINNET_CAIP2, TRON_NILE_CAIP2, TRON_SHASTA_CAIP2];
|
|
32
|
-
TRON_MAINNET_ENDPOINT = "https://api.trongrid.io";
|
|
33
|
-
TRON_NILE_ENDPOINT = "https://api.nileex.io";
|
|
34
|
-
TRON_SHASTA_ENDPOINT = "https://api.shasta.trongrid.io";
|
|
35
|
-
NETWORK_ENDPOINTS = {
|
|
36
|
-
[TRON_MAINNET_CAIP2]: TRON_MAINNET_ENDPOINT,
|
|
37
|
-
[TRON_NILE_CAIP2]: TRON_NILE_ENDPOINT,
|
|
38
|
-
[TRON_SHASTA_CAIP2]: TRON_SHASTA_ENDPOINT
|
|
39
|
-
};
|
|
40
|
-
TRC20_TRANSFER_SELECTOR = "a9059cbb";
|
|
41
|
-
TRC20_APPROVE_SELECTOR = "095ea7b3";
|
|
42
|
-
TRC20_BALANCE_OF_SELECTOR = "70a08231";
|
|
43
|
-
DEFAULT_FEE_LIMIT = 1e8;
|
|
44
|
-
MIN_FEE_LIMIT = 1e7;
|
|
45
|
-
MAX_FEE_LIMIT = 1e9;
|
|
46
|
-
SUN_PER_TRX = 1e6;
|
|
47
|
-
SCHEME_EXACT = "exact";
|
|
48
|
-
DEFAULT_VALIDITY_DURATION = 3600;
|
|
49
|
-
MIN_VALIDITY_BUFFER = 30;
|
|
50
|
-
TRON_ADDRESS_PREFIX = "T";
|
|
51
|
-
TRON_ADDRESS_LENGTH = 34;
|
|
52
|
-
TRON_ADDRESS_HEX_PREFIX = 65;
|
|
53
|
-
USDT_ADDRESSES = {
|
|
54
|
-
[TRON_MAINNET_CAIP2]: "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
|
|
55
|
-
[TRON_NILE_CAIP2]: "TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf",
|
|
56
|
-
[TRON_SHASTA_CAIP2]: "TG3XXyExBkPp9nzdajDZsozEu4BkaSJozs"
|
|
57
|
-
};
|
|
58
|
-
DEFAULT_USDT_DECIMALS = 6;
|
|
59
|
-
DEFAULT_TRX_DECIMALS = 6;
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
// src/tokens.ts
|
|
64
|
-
var tokens_exports = {};
|
|
65
|
-
__export(tokens_exports, {
|
|
66
|
-
TRC20_REGISTRY: () => TRC20_REGISTRY,
|
|
67
|
-
getDefaultToken: () => getDefaultToken,
|
|
68
|
-
getNetworkTokens: () => getNetworkTokens,
|
|
69
|
-
getNetworksForToken: () => getNetworksForToken,
|
|
70
|
-
getSupportedNetworks: () => getSupportedNetworks,
|
|
71
|
-
getTRC20Config: () => getTRC20Config,
|
|
72
|
-
getTokenByAddress: () => getTokenByAddress,
|
|
73
|
-
getUsdtNetworks: () => getUsdtNetworks,
|
|
74
|
-
isNetworkSupported: () => isNetworkSupported
|
|
75
|
-
});
|
|
76
|
-
function getTRC20Config(network, symbol) {
|
|
77
|
-
const registry = TRC20_REGISTRY[network];
|
|
78
|
-
if (!registry) return void 0;
|
|
79
|
-
return registry.tokens[symbol];
|
|
80
|
-
}
|
|
81
|
-
function getNetworkTokens(network) {
|
|
82
|
-
const registry = TRC20_REGISTRY[network];
|
|
83
|
-
if (!registry) return [];
|
|
84
|
-
return Object.values(registry.tokens);
|
|
85
|
-
}
|
|
86
|
-
function getDefaultToken(network) {
|
|
87
|
-
const registry = TRC20_REGISTRY[network];
|
|
88
|
-
return registry?.defaultToken;
|
|
89
|
-
}
|
|
90
|
-
function getTokenByAddress(network, contractAddress) {
|
|
91
|
-
const registry = TRC20_REGISTRY[network];
|
|
92
|
-
if (!registry) return void 0;
|
|
93
|
-
const upperAddress = contractAddress.toUpperCase();
|
|
94
|
-
return Object.values(registry.tokens).find(
|
|
95
|
-
(token) => token.contractAddress.toUpperCase() === upperAddress
|
|
96
|
-
);
|
|
97
|
-
}
|
|
98
|
-
function getNetworksForToken(symbol) {
|
|
99
|
-
return Object.entries(TRC20_REGISTRY).filter(([_, registry]) => symbol in registry.tokens).map(([network]) => network);
|
|
100
|
-
}
|
|
101
|
-
function getUsdtNetworks() {
|
|
102
|
-
return getNetworksForToken("USDT");
|
|
103
|
-
}
|
|
104
|
-
function isNetworkSupported(network) {
|
|
105
|
-
return network in TRC20_REGISTRY;
|
|
106
|
-
}
|
|
107
|
-
function getSupportedNetworks() {
|
|
108
|
-
return Object.keys(TRC20_REGISTRY);
|
|
109
|
-
}
|
|
110
|
-
var USDT_MAINNET, USDT_NILE, USDT_SHASTA, TRC20_REGISTRY;
|
|
111
|
-
var init_tokens = __esm({
|
|
112
|
-
"src/tokens.ts"() {
|
|
113
|
-
"use strict";
|
|
114
|
-
init_constants();
|
|
115
|
-
USDT_MAINNET = {
|
|
116
|
-
contractAddress: USDT_ADDRESSES[TRON_MAINNET_CAIP2],
|
|
117
|
-
symbol: "USDT",
|
|
118
|
-
name: "Tether USD",
|
|
119
|
-
decimals: DEFAULT_USDT_DECIMALS
|
|
120
|
-
};
|
|
121
|
-
USDT_NILE = {
|
|
122
|
-
contractAddress: USDT_ADDRESSES[TRON_NILE_CAIP2],
|
|
123
|
-
symbol: "USDT",
|
|
124
|
-
name: "Tether USD",
|
|
125
|
-
decimals: DEFAULT_USDT_DECIMALS
|
|
126
|
-
};
|
|
127
|
-
USDT_SHASTA = {
|
|
128
|
-
contractAddress: USDT_ADDRESSES[TRON_SHASTA_CAIP2],
|
|
129
|
-
symbol: "USDT",
|
|
130
|
-
name: "Tether USD",
|
|
131
|
-
decimals: DEFAULT_USDT_DECIMALS
|
|
132
|
-
};
|
|
133
|
-
TRC20_REGISTRY = {
|
|
134
|
-
[TRON_MAINNET_CAIP2]: {
|
|
135
|
-
network: TRON_MAINNET_CAIP2,
|
|
136
|
-
defaultToken: USDT_MAINNET,
|
|
137
|
-
tokens: {
|
|
138
|
-
USDT: USDT_MAINNET
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
[TRON_NILE_CAIP2]: {
|
|
142
|
-
network: TRON_NILE_CAIP2,
|
|
143
|
-
defaultToken: USDT_NILE,
|
|
144
|
-
tokens: {
|
|
145
|
-
USDT: USDT_NILE
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
|
-
[TRON_SHASTA_CAIP2]: {
|
|
149
|
-
network: TRON_SHASTA_CAIP2,
|
|
150
|
-
defaultToken: USDT_SHASTA,
|
|
151
|
-
tokens: {
|
|
152
|
-
USDT: USDT_SHASTA
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
});
|
|
20
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
158
21
|
|
|
159
22
|
// src/index.ts
|
|
160
23
|
var src_exports = {};
|
|
@@ -209,11 +72,119 @@ __export(src_exports, {
|
|
|
209
72
|
validateTronAddress: () => validateTronAddress
|
|
210
73
|
});
|
|
211
74
|
module.exports = __toCommonJS(src_exports);
|
|
212
|
-
|
|
213
|
-
|
|
75
|
+
|
|
76
|
+
// src/constants.ts
|
|
77
|
+
var TRON_MAINNET_CAIP2 = "tron:mainnet";
|
|
78
|
+
var TRON_NILE_CAIP2 = "tron:nile";
|
|
79
|
+
var TRON_SHASTA_CAIP2 = "tron:shasta";
|
|
80
|
+
var TRON_NETWORKS = [TRON_MAINNET_CAIP2, TRON_NILE_CAIP2, TRON_SHASTA_CAIP2];
|
|
81
|
+
var TRON_MAINNET_ENDPOINT = "https://api.trongrid.io";
|
|
82
|
+
var TRON_NILE_ENDPOINT = "https://api.nileex.io";
|
|
83
|
+
var TRON_SHASTA_ENDPOINT = "https://api.shasta.trongrid.io";
|
|
84
|
+
var NETWORK_ENDPOINTS = {
|
|
85
|
+
[TRON_MAINNET_CAIP2]: TRON_MAINNET_ENDPOINT,
|
|
86
|
+
[TRON_NILE_CAIP2]: TRON_NILE_ENDPOINT,
|
|
87
|
+
[TRON_SHASTA_CAIP2]: TRON_SHASTA_ENDPOINT
|
|
88
|
+
};
|
|
89
|
+
var TRC20_TRANSFER_SELECTOR = "a9059cbb";
|
|
90
|
+
var TRC20_APPROVE_SELECTOR = "095ea7b3";
|
|
91
|
+
var TRC20_BALANCE_OF_SELECTOR = "70a08231";
|
|
92
|
+
var DEFAULT_FEE_LIMIT = 1e8;
|
|
93
|
+
var MIN_FEE_LIMIT = 1e7;
|
|
94
|
+
var MAX_FEE_LIMIT = 1e9;
|
|
95
|
+
var SUN_PER_TRX = 1e6;
|
|
96
|
+
var SCHEME_EXACT = "exact";
|
|
97
|
+
var DEFAULT_VALIDITY_DURATION = 3600;
|
|
98
|
+
var MIN_VALIDITY_BUFFER = 30;
|
|
99
|
+
var TRON_ADDRESS_PREFIX = "T";
|
|
100
|
+
var TRON_ADDRESS_LENGTH = 34;
|
|
101
|
+
var TRON_ADDRESS_HEX_PREFIX = 65;
|
|
102
|
+
var USDT_ADDRESSES = {
|
|
103
|
+
[TRON_MAINNET_CAIP2]: "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
|
|
104
|
+
[TRON_NILE_CAIP2]: "TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf",
|
|
105
|
+
[TRON_SHASTA_CAIP2]: "TG3XXyExBkPp9nzdajDZsozEu4BkaSJozs"
|
|
106
|
+
};
|
|
107
|
+
var DEFAULT_USDT_DECIMALS = 6;
|
|
108
|
+
var DEFAULT_TRX_DECIMALS = 6;
|
|
109
|
+
|
|
110
|
+
// src/tokens.ts
|
|
111
|
+
var USDT_MAINNET = {
|
|
112
|
+
contractAddress: USDT_ADDRESSES[TRON_MAINNET_CAIP2],
|
|
113
|
+
symbol: "USDT",
|
|
114
|
+
name: "Tether USD",
|
|
115
|
+
decimals: DEFAULT_USDT_DECIMALS
|
|
116
|
+
};
|
|
117
|
+
var USDT_NILE = {
|
|
118
|
+
contractAddress: USDT_ADDRESSES[TRON_NILE_CAIP2],
|
|
119
|
+
symbol: "USDT",
|
|
120
|
+
name: "Tether USD",
|
|
121
|
+
decimals: DEFAULT_USDT_DECIMALS
|
|
122
|
+
};
|
|
123
|
+
var USDT_SHASTA = {
|
|
124
|
+
contractAddress: USDT_ADDRESSES[TRON_SHASTA_CAIP2],
|
|
125
|
+
symbol: "USDT",
|
|
126
|
+
name: "Tether USD",
|
|
127
|
+
decimals: DEFAULT_USDT_DECIMALS
|
|
128
|
+
};
|
|
129
|
+
var TRC20_REGISTRY = {
|
|
130
|
+
[TRON_MAINNET_CAIP2]: {
|
|
131
|
+
network: TRON_MAINNET_CAIP2,
|
|
132
|
+
defaultToken: USDT_MAINNET,
|
|
133
|
+
tokens: {
|
|
134
|
+
USDT: USDT_MAINNET
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
[TRON_NILE_CAIP2]: {
|
|
138
|
+
network: TRON_NILE_CAIP2,
|
|
139
|
+
defaultToken: USDT_NILE,
|
|
140
|
+
tokens: {
|
|
141
|
+
USDT: USDT_NILE
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
[TRON_SHASTA_CAIP2]: {
|
|
145
|
+
network: TRON_SHASTA_CAIP2,
|
|
146
|
+
defaultToken: USDT_SHASTA,
|
|
147
|
+
tokens: {
|
|
148
|
+
USDT: USDT_SHASTA
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
function getTRC20Config(network, symbol) {
|
|
153
|
+
const registry = TRC20_REGISTRY[network];
|
|
154
|
+
if (!registry) return void 0;
|
|
155
|
+
return registry.tokens[symbol];
|
|
156
|
+
}
|
|
157
|
+
function getNetworkTokens(network) {
|
|
158
|
+
const registry = TRC20_REGISTRY[network];
|
|
159
|
+
if (!registry) return [];
|
|
160
|
+
return Object.values(registry.tokens);
|
|
161
|
+
}
|
|
162
|
+
function getDefaultToken(network) {
|
|
163
|
+
const registry = TRC20_REGISTRY[network];
|
|
164
|
+
return registry?.defaultToken;
|
|
165
|
+
}
|
|
166
|
+
function getTokenByAddress(network, contractAddress) {
|
|
167
|
+
const registry = TRC20_REGISTRY[network];
|
|
168
|
+
if (!registry) return void 0;
|
|
169
|
+
const upperAddress = contractAddress.toUpperCase();
|
|
170
|
+
return Object.values(registry.tokens).find(
|
|
171
|
+
(token) => token.contractAddress.toUpperCase() === upperAddress
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
function getNetworksForToken(symbol) {
|
|
175
|
+
return Object.entries(TRC20_REGISTRY).filter(([_, registry]) => symbol in registry.tokens).map(([network]) => network);
|
|
176
|
+
}
|
|
177
|
+
function getUsdtNetworks() {
|
|
178
|
+
return getNetworksForToken("USDT");
|
|
179
|
+
}
|
|
180
|
+
function isNetworkSupported(network) {
|
|
181
|
+
return network in TRC20_REGISTRY;
|
|
182
|
+
}
|
|
183
|
+
function getSupportedNetworks() {
|
|
184
|
+
return Object.keys(TRC20_REGISTRY);
|
|
185
|
+
}
|
|
214
186
|
|
|
215
187
|
// src/utils.ts
|
|
216
|
-
init_constants();
|
|
217
188
|
function normalizeNetwork(network) {
|
|
218
189
|
if (TRON_NETWORKS.includes(network)) {
|
|
219
190
|
return network;
|
|
@@ -288,7 +259,9 @@ function convertFromSmallestUnits(smallestUnits, decimals = DEFAULT_USDT_DECIMAL
|
|
|
288
259
|
const padded = smallestUnits.padStart(decimals + 1, "0");
|
|
289
260
|
const wholePart = padded.slice(0, -decimals) || "0";
|
|
290
261
|
const fractionalPart = padded.slice(-decimals);
|
|
291
|
-
|
|
262
|
+
let end = fractionalPart.length;
|
|
263
|
+
while (end > 0 && fractionalPart[end - 1] === "0") end--;
|
|
264
|
+
const trimmedFractional = fractionalPart.slice(0, end);
|
|
292
265
|
if (trimmedFractional) {
|
|
293
266
|
return `${wholePart}.${trimmedFractional}`;
|
|
294
267
|
}
|
|
@@ -314,10 +287,11 @@ function estimateTransactionFee(isActivated = true) {
|
|
|
314
287
|
}
|
|
315
288
|
|
|
316
289
|
// src/exact/client/scheme.ts
|
|
317
|
-
init_constants();
|
|
318
290
|
var ExactTronScheme = class {
|
|
319
291
|
constructor(signer, config) {
|
|
320
|
-
this
|
|
292
|
+
__publicField(this, "scheme", SCHEME_EXACT);
|
|
293
|
+
__publicField(this, "signer");
|
|
294
|
+
__publicField(this, "config");
|
|
321
295
|
this.signer = signer;
|
|
322
296
|
this.config = config ?? {};
|
|
323
297
|
}
|
|
@@ -399,13 +373,12 @@ function registerExactTronScheme(client, config) {
|
|
|
399
373
|
}
|
|
400
374
|
|
|
401
375
|
// src/exact/server/scheme.ts
|
|
402
|
-
init_constants();
|
|
403
|
-
init_tokens();
|
|
404
376
|
var ExactTronScheme2 = class {
|
|
405
377
|
constructor(config) {
|
|
406
|
-
this
|
|
407
|
-
this
|
|
408
|
-
this
|
|
378
|
+
__publicField(this, "scheme", SCHEME_EXACT);
|
|
379
|
+
__publicField(this, "_config");
|
|
380
|
+
__publicField(this, "moneyParsers", []);
|
|
381
|
+
this._config = config ?? {};
|
|
409
382
|
}
|
|
410
383
|
/**
|
|
411
384
|
* Register a custom money parser
|
|
@@ -463,7 +436,7 @@ var ExactTronScheme2 = class {
|
|
|
463
436
|
async enhancePaymentRequirements(requirements, supportedKind, extensionKeys) {
|
|
464
437
|
void extensionKeys;
|
|
465
438
|
const network = normalizeNetwork(String(requirements.network));
|
|
466
|
-
let tokenConfig = requirements.asset ? getTRC20Config(network, requirements.asset) ||
|
|
439
|
+
let tokenConfig = requirements.asset ? getTRC20Config(network, requirements.asset) || getTokenByAddress(network, requirements.asset) : getDefaultToken(network);
|
|
467
440
|
if (!tokenConfig) {
|
|
468
441
|
tokenConfig = getDefaultToken(network);
|
|
469
442
|
}
|
|
@@ -507,10 +480,14 @@ var ExactTronScheme2 = class {
|
|
|
507
480
|
throw new Error(`Invalid price type: ${typeof price}`);
|
|
508
481
|
}
|
|
509
482
|
/**
|
|
510
|
-
* Default money to asset conversion
|
|
483
|
+
* Default money to asset conversion
|
|
484
|
+
* Uses preferredToken from config if set, otherwise falls back to network default
|
|
511
485
|
*/
|
|
512
486
|
defaultMoneyConversion(decimalAmount, network) {
|
|
513
|
-
|
|
487
|
+
let tokenConfig = this._config.preferredToken ? getTRC20Config(network, this._config.preferredToken) : void 0;
|
|
488
|
+
if (!tokenConfig) {
|
|
489
|
+
tokenConfig = getDefaultToken(network);
|
|
490
|
+
}
|
|
514
491
|
if (!tokenConfig) {
|
|
515
492
|
throw new Error(`No default token for network: ${network}`);
|
|
516
493
|
}
|
|
@@ -535,13 +512,6 @@ var ExactTronScheme2 = class {
|
|
|
535
512
|
}
|
|
536
513
|
return tokenConfig.contractAddress;
|
|
537
514
|
}
|
|
538
|
-
/**
|
|
539
|
-
* Get token config by contract address
|
|
540
|
-
*/
|
|
541
|
-
getTokenByAddress(network, address) {
|
|
542
|
-
const { getTokenByAddress: getTokenByAddress2 } = (init_tokens(), __toCommonJS(tokens_exports));
|
|
543
|
-
return getTokenByAddress2(network, address);
|
|
544
|
-
}
|
|
545
515
|
};
|
|
546
516
|
|
|
547
517
|
// src/exact/server/register.ts
|
|
@@ -558,11 +528,12 @@ function registerExactTronScheme2(server, config = {}) {
|
|
|
558
528
|
}
|
|
559
529
|
|
|
560
530
|
// src/exact/facilitator/scheme.ts
|
|
561
|
-
init_constants();
|
|
562
531
|
var ExactTronScheme3 = class {
|
|
563
532
|
constructor(signer, config) {
|
|
564
|
-
this
|
|
565
|
-
this
|
|
533
|
+
__publicField(this, "scheme", SCHEME_EXACT);
|
|
534
|
+
__publicField(this, "caipFamily", "tron:*");
|
|
535
|
+
__publicField(this, "signer");
|
|
536
|
+
__publicField(this, "config");
|
|
566
537
|
this.signer = signer;
|
|
567
538
|
this.config = config ?? {};
|
|
568
539
|
}
|
|
@@ -605,6 +576,13 @@ var ExactTronScheme3 = class {
|
|
|
605
576
|
*/
|
|
606
577
|
async verify(payload, requirements) {
|
|
607
578
|
const tronPayload = payload.payload;
|
|
579
|
+
if (!tronPayload?.authorization?.from || !tronPayload?.signedTransaction) {
|
|
580
|
+
return {
|
|
581
|
+
isValid: false,
|
|
582
|
+
invalidReason: "invalid_payload_structure",
|
|
583
|
+
payer: ""
|
|
584
|
+
};
|
|
585
|
+
}
|
|
608
586
|
const authorization = tronPayload.authorization;
|
|
609
587
|
if (payload.accepted.scheme !== SCHEME_EXACT || requirements.scheme !== SCHEME_EXACT) {
|
|
610
588
|
return {
|
|
@@ -631,13 +609,6 @@ var ExactTronScheme3 = class {
|
|
|
631
609
|
payer: authorization.from
|
|
632
610
|
};
|
|
633
611
|
}
|
|
634
|
-
if (!tronPayload || !tronPayload.signedTransaction || !authorization) {
|
|
635
|
-
return {
|
|
636
|
-
isValid: false,
|
|
637
|
-
invalidReason: "invalid_payload_structure",
|
|
638
|
-
payer: authorization?.from || ""
|
|
639
|
-
};
|
|
640
|
-
}
|
|
641
612
|
if (!validateTronAddress(authorization.from)) {
|
|
642
613
|
return {
|
|
643
614
|
isValid: false,
|
|
@@ -747,6 +718,15 @@ var ExactTronScheme3 = class {
|
|
|
747
718
|
*/
|
|
748
719
|
async settle(payload, requirements) {
|
|
749
720
|
const tronPayload = payload.payload;
|
|
721
|
+
if (!tronPayload?.authorization?.from || !tronPayload?.signedTransaction) {
|
|
722
|
+
return {
|
|
723
|
+
success: false,
|
|
724
|
+
network: payload.accepted.network,
|
|
725
|
+
transaction: "",
|
|
726
|
+
errorReason: "invalid_payload_structure",
|
|
727
|
+
payer: ""
|
|
728
|
+
};
|
|
729
|
+
}
|
|
750
730
|
const verifyResult = await this.verify(payload, requirements);
|
|
751
731
|
if (!verifyResult.isValid) {
|
|
752
732
|
return {
|
|
@@ -759,10 +739,7 @@ var ExactTronScheme3 = class {
|
|
|
759
739
|
}
|
|
760
740
|
try {
|
|
761
741
|
const network = normalizeNetwork(String(payload.accepted.network));
|
|
762
|
-
const txId = await this.signer.broadcastTransaction(
|
|
763
|
-
tronPayload.signedTransaction,
|
|
764
|
-
network
|
|
765
|
-
);
|
|
742
|
+
const txId = await this.signer.broadcastTransaction(tronPayload.signedTransaction, network);
|
|
766
743
|
const confirmation = await this.signer.waitForTransaction({
|
|
767
744
|
txId,
|
|
768
745
|
network,
|