@rozoai/intent-common 0.1.31 → 0.1.32
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/api/base.js +16 -22
- package/dist/api/base.js.map +1 -1
- package/dist/api/fee.js +9 -13
- package/dist/api/fee.js.map +1 -1
- package/dist/api/payment.d.ts +14 -5
- package/dist/api/payment.js +44 -47
- package/dist/api/payment.js.map +1 -1
- package/dist/api/types.js +6 -9
- package/dist/api/types.js.map +1 -1
- package/dist/assert.js +6 -12
- package/dist/assert.js.map +1 -1
- package/dist/bridge-utils.js +29 -33
- package/dist/bridge-utils.js.map +1 -1
- package/dist/chain.js +67 -78
- package/dist/chain.js.map +1 -1
- package/dist/debug.js +1 -4
- package/dist/debug.js.map +1 -1
- package/dist/format.js +12 -20
- package/dist/format.js.map +1 -1
- package/dist/index.js +15 -33
- package/dist/index.js.map +1 -1
- package/dist/primitiveTypes.js +6 -9
- package/dist/primitiveTypes.js.map +1 -1
- package/dist/retryBackoff.js +1 -4
- package/dist/retryBackoff.js.map +1 -1
- package/dist/rozoPay.js +73 -89
- package/dist/rozoPay.js.map +1 -1
- package/dist/token.js +383 -398
- package/dist/token.js.map +1 -1
- package/dist/try.js +5 -10
- package/dist/try.js.map +1 -1
- package/dist/validation.js +18 -26
- package/dist/validation.js.map +1 -1
- package/package.json +2 -2
package/dist/bridge-utils.js
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.createPaymentBridgeConfig = createPaymentBridgeConfig;
|
|
4
|
-
exports.formatPaymentResponseToHydratedOrder = formatPaymentResponseToHydratedOrder;
|
|
5
|
-
const viem_1 = require("viem");
|
|
6
|
-
const _1 = require(".");
|
|
1
|
+
import { parseUnits } from "viem";
|
|
2
|
+
import { getChainById, getKnownToken, isChainSupported, isTokenSupported, RozoPayIntentStatus, RozoPayOrderMode, RozoPayOrderStatusDest, RozoPayOrderStatusSource, rozoSolana, rozoSolanaUSDC, rozoStellarEURC, rozoStellarUSDC, solana, TokenSymbol, validateAddressForChain, } from ".";
|
|
7
3
|
/**
|
|
8
4
|
* Creates payment bridge configuration for cross-chain payment routing
|
|
9
5
|
*
|
|
@@ -109,27 +105,27 @@ const _1 = require(".");
|
|
|
109
105
|
* @see DestinationConfig
|
|
110
106
|
* @see PaymentBridgeConfig
|
|
111
107
|
*/
|
|
112
|
-
function createPaymentBridgeConfig({ toChain, toToken, toAddress, toUnits, preferredChain, preferredTokenAddress, }) {
|
|
113
|
-
const destinationChain =
|
|
114
|
-
const destinationToken =
|
|
108
|
+
export function createPaymentBridgeConfig({ toChain, toToken, toAddress, toUnits, preferredChain, preferredTokenAddress, }) {
|
|
109
|
+
const destinationChain = getChainById(toChain);
|
|
110
|
+
const destinationToken = getKnownToken(toChain, toToken);
|
|
115
111
|
if (!destinationToken) {
|
|
116
112
|
throw new Error(`Unsupported token ${toToken} for chain ${destinationChain.name} (${toChain})`);
|
|
117
113
|
}
|
|
118
|
-
const addressValid =
|
|
114
|
+
const addressValid = validateAddressForChain(toChain, toAddress);
|
|
119
115
|
if (!addressValid) {
|
|
120
116
|
throw new Error(`Invalid address ${toAddress} for chain ${destinationChain.name} (${toChain})`);
|
|
121
117
|
}
|
|
122
|
-
const preferredChainData =
|
|
123
|
-
const correctedPreferredChain = preferredChainData.chainId ===
|
|
124
|
-
?
|
|
118
|
+
const preferredChainData = getChainById(preferredChain);
|
|
119
|
+
const correctedPreferredChain = preferredChainData.chainId === solana.chainId
|
|
120
|
+
? rozoSolana.chainId
|
|
125
121
|
: preferredChain;
|
|
126
|
-
const prefferedToken =
|
|
122
|
+
const prefferedToken = getKnownToken(correctedPreferredChain, preferredTokenAddress);
|
|
127
123
|
if (!prefferedToken) {
|
|
128
124
|
throw new Error(`Unknown token ${preferredTokenAddress} for chain ${preferredChainData.name} (${preferredChain})`);
|
|
129
125
|
}
|
|
130
126
|
// Validate EURC: EURC can only be sent to another EURC
|
|
131
|
-
const isPreferredEURC = prefferedToken.symbol ===
|
|
132
|
-
const isDestinationEURC = destinationToken.symbol ===
|
|
127
|
+
const isPreferredEURC = prefferedToken.symbol === TokenSymbol.EURC;
|
|
128
|
+
const isDestinationEURC = destinationToken.symbol === TokenSymbol.EURC;
|
|
133
129
|
if (isPreferredEURC && !isDestinationEURC) {
|
|
134
130
|
throw new Error(`EURC can only be sent to another EURC. Destination token is ${destinationToken.symbol}, not EURC.`);
|
|
135
131
|
}
|
|
@@ -148,20 +144,20 @@ function createPaymentBridgeConfig({ toChain, toToken, toAddress, toUnits, prefe
|
|
|
148
144
|
tokenSymbol: destinationToken.symbol,
|
|
149
145
|
tokenAddress: toToken,
|
|
150
146
|
};
|
|
151
|
-
if (
|
|
147
|
+
if (isChainSupported(toChain) && isTokenSupported(toChain, toToken)) {
|
|
152
148
|
preferred = {
|
|
153
|
-
preferredChain: String(prefferedToken.chainId ===
|
|
154
|
-
?
|
|
149
|
+
preferredChain: String(prefferedToken.chainId === solana.chainId
|
|
150
|
+
? rozoSolana.chainId
|
|
155
151
|
: prefferedToken.chainId),
|
|
156
152
|
preferredToken: prefferedToken.symbol,
|
|
157
153
|
preferredTokenAddress: prefferedToken.token,
|
|
158
154
|
};
|
|
159
155
|
// Determine destination based on special address types
|
|
160
|
-
if (
|
|
156
|
+
if (isChainSupported(toChain, "stellar")) {
|
|
161
157
|
// Use EURC token if destination is EURC, otherwise use USDC
|
|
162
158
|
const stellarToken = isDestinationEURC
|
|
163
|
-
?
|
|
164
|
-
:
|
|
159
|
+
? rozoStellarEURC
|
|
160
|
+
: rozoStellarUSDC;
|
|
165
161
|
destination = {
|
|
166
162
|
...destination,
|
|
167
163
|
tokenSymbol: stellarToken.symbol,
|
|
@@ -169,12 +165,12 @@ function createPaymentBridgeConfig({ toChain, toToken, toAddress, toUnits, prefe
|
|
|
169
165
|
tokenAddress: stellarToken.token,
|
|
170
166
|
};
|
|
171
167
|
}
|
|
172
|
-
else if (
|
|
168
|
+
else if (isChainSupported(toChain, "solana")) {
|
|
173
169
|
destination = {
|
|
174
170
|
...destination,
|
|
175
|
-
tokenSymbol:
|
|
176
|
-
chainId: String(
|
|
177
|
-
tokenAddress:
|
|
171
|
+
tokenSymbol: rozoSolanaUSDC.symbol,
|
|
172
|
+
chainId: String(rozoSolanaUSDC.chainId),
|
|
173
|
+
tokenAddress: rozoSolanaUSDC.token,
|
|
178
174
|
};
|
|
179
175
|
}
|
|
180
176
|
}
|
|
@@ -236,7 +232,7 @@ function createPaymentBridgeConfig({ toChain, toToken, toAddress, toUnits, prefe
|
|
|
236
232
|
* @see RozoPayHydratedOrderWithOrg
|
|
237
233
|
* @see getKnownToken
|
|
238
234
|
*/
|
|
239
|
-
function formatPaymentResponseToHydratedOrder(order) {
|
|
235
|
+
export function formatPaymentResponseToHydratedOrder(order) {
|
|
240
236
|
// Source amount is in the same units as the destination amount without fee
|
|
241
237
|
const sourceAmountUnits = order.source?.amount ?? order.destination?.amountUnits ?? "0";
|
|
242
238
|
// Deposit (pay-in) address – where the user actually sends funds.
|
|
@@ -251,13 +247,13 @@ function formatPaymentResponseToHydratedOrder(order) {
|
|
|
251
247
|
// Destination Intent Memo
|
|
252
248
|
const intentMemo = order.metadata?.memo ?? order.source?.receiverMemo;
|
|
253
249
|
// Destination token (what the user ultimately receives)
|
|
254
|
-
const destToken =
|
|
250
|
+
const destToken = getKnownToken(Number(order.destination.chainId), String(order.destination.tokenAddress));
|
|
255
251
|
if (!destToken) {
|
|
256
252
|
throw new Error(`Unsupported token ${order.destination.tokenAddress} for chain ${order.destination.chainId}`);
|
|
257
253
|
}
|
|
258
254
|
return {
|
|
259
255
|
id: BigInt(Math.floor(Math.random() * Number.MAX_SAFE_INTEGER)),
|
|
260
|
-
mode:
|
|
256
|
+
mode: RozoPayOrderMode.HYDRATED,
|
|
261
257
|
// Deposit address that the user or wallet will pay into.
|
|
262
258
|
intentAddr: intentAddress,
|
|
263
259
|
memo: intentMemo ?? null,
|
|
@@ -278,7 +274,7 @@ function formatPaymentResponseToHydratedOrder(order) {
|
|
|
278
274
|
maxSendUsd: 0,
|
|
279
275
|
fiatISO: destToken.fiatISO ?? order.display?.currency ?? "USD",
|
|
280
276
|
},
|
|
281
|
-
amount:
|
|
277
|
+
amount: parseUnits(sourceAmountUnits, destToken.decimals).toString(),
|
|
282
278
|
usd: Number(sourceAmountUnits),
|
|
283
279
|
},
|
|
284
280
|
usdValue: Number(sourceAmountUnits),
|
|
@@ -292,13 +288,13 @@ function formatPaymentResponseToHydratedOrder(order) {
|
|
|
292
288
|
},
|
|
293
289
|
refundAddr: order.source?.senderAddress || null,
|
|
294
290
|
nonce: BigInt(order.nonce ?? 0),
|
|
295
|
-
intentStatus:
|
|
291
|
+
intentStatus: RozoPayIntentStatus.UNPAID,
|
|
296
292
|
sourceFulfillerAddr: null,
|
|
297
293
|
sourceTokenAmount: null,
|
|
298
294
|
sourceInitiateTxHash: order.sourceInitiateTxHash ?? null,
|
|
299
|
-
sourceStatus:
|
|
295
|
+
sourceStatus: RozoPayOrderStatusSource.WAITING_PAYMENT,
|
|
300
296
|
sourceStartTxHash: order.sourceStartTxHash ?? order.source?.txHash ?? null,
|
|
301
|
-
destStatus:
|
|
297
|
+
destStatus: RozoPayOrderStatusDest.PENDING,
|
|
302
298
|
destFastFinishTxHash: order.destFastFinishTxHash ?? order.destination?.txHash ?? null,
|
|
303
299
|
destClaimTxHash: order.destClaimTxHash ?? null,
|
|
304
300
|
redirectUri: null,
|
package/dist/bridge-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-utils.js","sourceRoot":"","sources":["../src/bridge-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bridge-utils.js","sourceRoot":"","sources":["../src/bridge-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/chain.js
CHANGED
|
@@ -1,81 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.supportedChains = exports.hyperEVM = exports.avalanche = exports.gnosis = exports.rozoStellar = exports.rozoSolana = exports.worldchain = exports.stellar = exports.solana = exports.polygon = exports.optimism = exports.mantle = exports.linea = exports.ethereum = exports.celo = exports.bsc = exports.base = exports.arbitrum = void 0;
|
|
4
|
-
exports.getChainById = getChainById;
|
|
5
|
-
exports.getChainName = getChainName;
|
|
6
|
-
exports.getCCTPDomain = getCCTPDomain;
|
|
7
|
-
exports.isCCTPV1Chain = isCCTPV1Chain;
|
|
8
|
-
exports.isCCTPV2Chain = isCCTPV2Chain;
|
|
9
|
-
exports.getChainExplorerByChainId = getChainExplorerByChainId;
|
|
10
|
-
exports.getChainExplorerAddressUrl = getChainExplorerAddressUrl;
|
|
11
|
-
exports.getChainExplorerTxUrl = getChainExplorerTxUrl;
|
|
12
|
-
exports.arbitrum = {
|
|
1
|
+
export const arbitrum = {
|
|
13
2
|
type: "evm",
|
|
14
3
|
chainId: 42161,
|
|
15
4
|
name: "Arbitrum",
|
|
16
5
|
cctpDomain: 3,
|
|
17
6
|
};
|
|
18
|
-
|
|
7
|
+
export const base = {
|
|
19
8
|
type: "evm",
|
|
20
9
|
chainId: 8453,
|
|
21
10
|
name: "Base",
|
|
22
11
|
cctpDomain: 6,
|
|
23
12
|
};
|
|
24
|
-
|
|
13
|
+
export const bsc = {
|
|
25
14
|
type: "evm",
|
|
26
15
|
chainId: 56,
|
|
27
16
|
name: "BNB",
|
|
28
17
|
cctpDomain: null,
|
|
29
18
|
};
|
|
30
|
-
|
|
19
|
+
export const celo = {
|
|
31
20
|
type: "evm",
|
|
32
21
|
chainId: 42220,
|
|
33
22
|
name: "Celo",
|
|
34
23
|
cctpDomain: null,
|
|
35
24
|
};
|
|
36
|
-
|
|
25
|
+
export const ethereum = {
|
|
37
26
|
type: "evm",
|
|
38
27
|
chainId: 1,
|
|
39
28
|
name: "Ethereum",
|
|
40
29
|
cctpDomain: 0,
|
|
41
30
|
};
|
|
42
|
-
|
|
31
|
+
export const linea = {
|
|
43
32
|
type: "evm",
|
|
44
33
|
chainId: 59144,
|
|
45
34
|
name: "Linea",
|
|
46
35
|
cctpDomain: 11,
|
|
47
36
|
};
|
|
48
|
-
|
|
37
|
+
export const mantle = {
|
|
49
38
|
type: "evm",
|
|
50
39
|
chainId: 5000,
|
|
51
40
|
name: "Mantle",
|
|
52
41
|
cctpDomain: null,
|
|
53
42
|
};
|
|
54
|
-
|
|
43
|
+
export const optimism = {
|
|
55
44
|
type: "evm",
|
|
56
45
|
chainId: 10,
|
|
57
46
|
name: "Optimism",
|
|
58
47
|
cctpDomain: 2,
|
|
59
48
|
};
|
|
60
|
-
|
|
49
|
+
export const polygon = {
|
|
61
50
|
type: "evm",
|
|
62
51
|
chainId: 137,
|
|
63
52
|
name: "Polygon",
|
|
64
53
|
cctpDomain: 7,
|
|
65
54
|
};
|
|
66
|
-
|
|
55
|
+
export const solana = {
|
|
67
56
|
type: "solana",
|
|
68
57
|
chainId: 501,
|
|
69
58
|
name: "Solana",
|
|
70
59
|
cctpDomain: 5,
|
|
71
60
|
};
|
|
72
|
-
|
|
61
|
+
export const stellar = {
|
|
73
62
|
type: "stellar",
|
|
74
63
|
chainId: 10001,
|
|
75
64
|
name: "Stellar",
|
|
76
65
|
cctpDomain: null,
|
|
77
66
|
};
|
|
78
|
-
|
|
67
|
+
export const worldchain = {
|
|
79
68
|
type: "evm",
|
|
80
69
|
chainId: 480,
|
|
81
70
|
name: "Worldchain",
|
|
@@ -85,31 +74,31 @@ exports.worldchain = {
|
|
|
85
74
|
* Rozo Solana
|
|
86
75
|
* @link https://github.com/RozoAI/rozo-payment-manager/tree/staging?tab=readme-ov-file#supported-chains-and-tokens
|
|
87
76
|
*/
|
|
88
|
-
|
|
77
|
+
export const rozoSolana = {
|
|
89
78
|
type: "solana",
|
|
90
79
|
chainId: 900,
|
|
91
80
|
name: "Solana",
|
|
92
81
|
cctpDomain: 5,
|
|
93
82
|
};
|
|
94
|
-
|
|
83
|
+
export const rozoStellar = {
|
|
95
84
|
type: "stellar",
|
|
96
85
|
chainId: 1500,
|
|
97
86
|
name: "Stellar",
|
|
98
87
|
cctpDomain: null,
|
|
99
88
|
};
|
|
100
|
-
|
|
89
|
+
export const gnosis = {
|
|
101
90
|
type: "evm",
|
|
102
91
|
chainId: 100,
|
|
103
92
|
name: "Gnosis",
|
|
104
93
|
cctpDomain: null,
|
|
105
94
|
};
|
|
106
|
-
|
|
95
|
+
export const avalanche = {
|
|
107
96
|
type: "evm",
|
|
108
97
|
chainId: 43114,
|
|
109
98
|
name: "Avalanche",
|
|
110
99
|
cctpDomain: null,
|
|
111
100
|
};
|
|
112
|
-
|
|
101
|
+
export const hyperEVM = {
|
|
113
102
|
type: "evm",
|
|
114
103
|
chainId: 999,
|
|
115
104
|
name: "HyperEVM",
|
|
@@ -119,20 +108,20 @@ exports.hyperEVM = {
|
|
|
119
108
|
* Supported chains for Near Intents cross-chain swaps
|
|
120
109
|
* Based on USDC/USDT support documentation
|
|
121
110
|
*/
|
|
122
|
-
|
|
111
|
+
export const supportedChains = [
|
|
123
112
|
// Supported for Near Intents (USDC/USDT)
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
113
|
+
arbitrum, // USDC & USDT
|
|
114
|
+
avalanche, // USDC & USDT
|
|
115
|
+
base, // USDC only (no USDT)
|
|
116
|
+
bsc, // USDC & USDT
|
|
117
|
+
ethereum, // USDC & USDT
|
|
118
|
+
gnosis, // USDC & USDT
|
|
119
|
+
optimism, // USDC & USDT
|
|
120
|
+
polygon, // USDC & USDT
|
|
121
|
+
hyperEVM, // USDC
|
|
122
|
+
solana,
|
|
123
|
+
rozoSolana, // USDC & USDT (chainId: 900)
|
|
124
|
+
rozoStellar, // USDC only (chainId: 1500, no USDT)
|
|
136
125
|
// Not supported for Near Intents - kept for other features
|
|
137
126
|
// celo, // Not in Near Intents docs
|
|
138
127
|
// linea, // Not in Near Intents docs
|
|
@@ -142,26 +131,26 @@ exports.supportedChains = [
|
|
|
142
131
|
];
|
|
143
132
|
// https://developers.circle.com/stablecoins/supported-domains
|
|
144
133
|
const cctpV1Chains = [
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
134
|
+
arbitrum,
|
|
135
|
+
base,
|
|
136
|
+
ethereum,
|
|
137
|
+
optimism,
|
|
138
|
+
polygon,
|
|
139
|
+
solana,
|
|
140
|
+
rozoSolana,
|
|
141
|
+
stellar,
|
|
142
|
+
rozoStellar,
|
|
154
143
|
];
|
|
155
|
-
const cctpV2Chains = [
|
|
144
|
+
const cctpV2Chains = [arbitrum, base, ethereum, linea, worldchain];
|
|
156
145
|
/** Given a chainId, return the chain. */
|
|
157
|
-
function getChainById(chainId) {
|
|
158
|
-
const ret =
|
|
146
|
+
export function getChainById(chainId) {
|
|
147
|
+
const ret = supportedChains.find((c) => c.chainId === chainId);
|
|
159
148
|
if (ret == null)
|
|
160
149
|
throw new Error(`Unknown chainId ${chainId}`);
|
|
161
150
|
return ret;
|
|
162
151
|
}
|
|
163
152
|
/** Returns the chain name for the given chainId. */
|
|
164
|
-
function getChainName(chainId) {
|
|
153
|
+
export function getChainName(chainId) {
|
|
165
154
|
// ponytail: display helper — never throw on unknown/missing chainId
|
|
166
155
|
try {
|
|
167
156
|
return getChainById(chainId).name;
|
|
@@ -171,53 +160,53 @@ function getChainName(chainId) {
|
|
|
171
160
|
}
|
|
172
161
|
}
|
|
173
162
|
/** Returns the CCTP domain for the given chainId. */
|
|
174
|
-
function getCCTPDomain(chainId) {
|
|
163
|
+
export function getCCTPDomain(chainId) {
|
|
175
164
|
return getChainById(chainId).cctpDomain;
|
|
176
165
|
}
|
|
177
166
|
/** Returns true if the chain is a CCTP v1 chain. */
|
|
178
|
-
function isCCTPV1Chain(chainId) {
|
|
167
|
+
export function isCCTPV1Chain(chainId) {
|
|
179
168
|
return cctpV1Chains.some((c) => c.chainId === chainId);
|
|
180
169
|
}
|
|
181
170
|
/** Returns true if the chain is a CCTP v2 chain. */
|
|
182
|
-
function isCCTPV2Chain(chainId) {
|
|
171
|
+
export function isCCTPV2Chain(chainId) {
|
|
183
172
|
return cctpV2Chains.some((c) => c.chainId === chainId);
|
|
184
173
|
}
|
|
185
174
|
/**
|
|
186
175
|
* Get block explorer URL for chain ID
|
|
187
176
|
*/
|
|
188
|
-
function getChainExplorerByChainId(chainId) {
|
|
177
|
+
export function getChainExplorerByChainId(chainId) {
|
|
189
178
|
switch (chainId) {
|
|
190
|
-
case
|
|
179
|
+
case arbitrum.chainId:
|
|
191
180
|
return "https://arbiscan.io";
|
|
192
|
-
case
|
|
181
|
+
case base.chainId:
|
|
193
182
|
return "https://basescan.org";
|
|
194
|
-
case
|
|
183
|
+
case bsc.chainId:
|
|
195
184
|
return "https://bscscan.com";
|
|
196
|
-
case
|
|
185
|
+
case celo.chainId:
|
|
197
186
|
return "https://celoscan.io";
|
|
198
|
-
case
|
|
187
|
+
case ethereum.chainId:
|
|
199
188
|
return "https://etherscan.io";
|
|
200
|
-
case
|
|
189
|
+
case linea.chainId:
|
|
201
190
|
return "https://lineascan.build";
|
|
202
|
-
case
|
|
191
|
+
case mantle.chainId:
|
|
203
192
|
return "https://mantlescan.xyz";
|
|
204
|
-
case
|
|
193
|
+
case optimism.chainId:
|
|
205
194
|
return "https://optimistic.etherscan.io";
|
|
206
|
-
case
|
|
195
|
+
case polygon.chainId:
|
|
207
196
|
return "https://polygonscan.com";
|
|
208
|
-
case
|
|
197
|
+
case gnosis.chainId:
|
|
209
198
|
return "https://gnosisscan.io";
|
|
210
|
-
case
|
|
199
|
+
case avalanche.chainId:
|
|
211
200
|
return "https://snowtrace.io";
|
|
212
|
-
case
|
|
213
|
-
case
|
|
201
|
+
case solana.chainId:
|
|
202
|
+
case rozoSolana.chainId:
|
|
214
203
|
return "https://solscan.io";
|
|
215
|
-
case
|
|
216
|
-
case
|
|
204
|
+
case stellar.chainId:
|
|
205
|
+
case rozoStellar.chainId:
|
|
217
206
|
return "https://stellar.expert/explorer/public/search?term=";
|
|
218
|
-
case
|
|
207
|
+
case worldchain.chainId:
|
|
219
208
|
return "https://worldscan.org";
|
|
220
|
-
case
|
|
209
|
+
case hyperEVM.chainId:
|
|
221
210
|
return "https://hyperevmscan.io";
|
|
222
211
|
default:
|
|
223
212
|
return undefined;
|
|
@@ -226,7 +215,7 @@ function getChainExplorerByChainId(chainId) {
|
|
|
226
215
|
/**
|
|
227
216
|
* Get block explorer address URL for chain ID and address.
|
|
228
217
|
*/
|
|
229
|
-
function getChainExplorerAddressUrl(chainId, address) {
|
|
218
|
+
export function getChainExplorerAddressUrl(chainId, address) {
|
|
230
219
|
const explorer = getChainExplorerByChainId(chainId);
|
|
231
220
|
if (!explorer) {
|
|
232
221
|
return undefined;
|
|
@@ -236,12 +225,12 @@ function getChainExplorerAddressUrl(chainId, address) {
|
|
|
236
225
|
/**
|
|
237
226
|
* Get block explorer transaction URL for chain ID and transaction hash.
|
|
238
227
|
*/
|
|
239
|
-
function getChainExplorerTxUrl(chainId, txHash) {
|
|
228
|
+
export function getChainExplorerTxUrl(chainId, txHash) {
|
|
240
229
|
const explorer = getChainExplorerByChainId(chainId);
|
|
241
230
|
if (!explorer) {
|
|
242
231
|
return undefined;
|
|
243
232
|
}
|
|
244
|
-
if ([
|
|
233
|
+
if ([stellar.chainId, rozoStellar.chainId].includes(chainId)) {
|
|
245
234
|
return `${explorer}${txHash}`;
|
|
246
235
|
}
|
|
247
236
|
return `${explorer}/tx/${txHash}`;
|
package/dist/chain.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"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"}
|
package/dist/debug.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.debugJson = debugJson;
|
|
4
1
|
/** Return compact JSON, 10000 chars max. Never throws. */
|
|
5
|
-
function debugJson(obj) {
|
|
2
|
+
export function debugJson(obj) {
|
|
6
3
|
try {
|
|
7
4
|
let serialized = JSON.stringify(obj, (_, value) => typeof value === "bigint" ? value.toString() : value);
|
|
8
5
|
if (typeof serialized !== "string") {
|
package/dist/debug.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,UAAU,SAAS,CAAC,GAAQ;IAChC,IAAI,CAAC;QACH,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAChD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CACrD,CAAC;QACF,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,UAAU,GAAG,EAAE,GAAG,GAAG,CAAC;QACxB,CAAC;QACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,OAAO,gBAAgB,CAAC,CAAC,OAAO,GAAG,CAAC;IACtC,CAAC;AACH,CAAC"}
|
package/dist/format.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.getAddressContraction = getAddressContraction;
|
|
4
|
-
exports.dateToUnix = dateToUnix;
|
|
5
|
-
exports.unixToDate = unixToDate;
|
|
6
|
-
exports.generateEVMDeepLink = generateEVMDeepLink;
|
|
7
|
-
exports.generateSolanaDeepLink = generateSolanaDeepLink;
|
|
8
|
-
exports.generateIntentTitle = generateIntentTitle;
|
|
9
|
-
const chain_1 = require("./chain");
|
|
10
|
-
const token_1 = require("./token");
|
|
1
|
+
import { getChainName } from "./chain";
|
|
2
|
+
import { getKnownToken } from "./token";
|
|
11
3
|
/**
|
|
12
4
|
* Contract an Ethereum address to a shorter string.
|
|
13
5
|
*
|
|
@@ -16,21 +8,21 @@ const token_1 = require("./token");
|
|
|
16
8
|
* becomes
|
|
17
9
|
* 0x1234…7890
|
|
18
10
|
*/
|
|
19
|
-
function getAddressContraction(address, length = 4) {
|
|
11
|
+
export function getAddressContraction(address, length = 4) {
|
|
20
12
|
return address.slice(0, 2 + length) + "…" + address.slice(-length);
|
|
21
13
|
}
|
|
22
14
|
/** Convert a JS Date object to a UNIX timestamp. */
|
|
23
|
-
function dateToUnix(d) {
|
|
15
|
+
export function dateToUnix(d) {
|
|
24
16
|
return Math.floor(d.getTime() / 1000);
|
|
25
17
|
}
|
|
26
18
|
/** Convert a UNIX timestamp to a JS Date object. */
|
|
27
|
-
function unixToDate(unix) {
|
|
19
|
+
export function unixToDate(unix) {
|
|
28
20
|
return new Date(unix * 1000);
|
|
29
21
|
}
|
|
30
|
-
function generateEVMDeepLink({ amountUnits, chainId, recipientAddress, tokenAddress, }) {
|
|
22
|
+
export function generateEVMDeepLink({ amountUnits, chainId, recipientAddress, tokenAddress, }) {
|
|
31
23
|
return `ethereum:${tokenAddress}@${chainId}/transfer?address=${recipientAddress}&uint256=${amountUnits}`;
|
|
32
24
|
}
|
|
33
|
-
function generateSolanaDeepLink({ amountUnits, recipientAddress, tokenAddress, memo, }) {
|
|
25
|
+
export function generateSolanaDeepLink({ amountUnits, recipientAddress, tokenAddress, memo, }) {
|
|
34
26
|
const params = [
|
|
35
27
|
amountUnits ? `amount=${encodeURIComponent(amountUnits)}` : null,
|
|
36
28
|
tokenAddress ? `spl-token=${encodeURIComponent(tokenAddress)}` : null,
|
|
@@ -40,11 +32,11 @@ function generateSolanaDeepLink({ amountUnits, recipientAddress, tokenAddress, m
|
|
|
40
32
|
.join("&");
|
|
41
33
|
return `solana:${encodeURIComponent(recipientAddress)}${params ? "?" + params : ""}`;
|
|
42
34
|
}
|
|
43
|
-
function generateIntentTitle({ toChainId, toTokenAddress, preferredChainId, preferredTokenAddress, }) {
|
|
44
|
-
const toChainName =
|
|
45
|
-
const preferredChainName =
|
|
46
|
-
const toToken =
|
|
47
|
-
const preferredToken =
|
|
35
|
+
export function generateIntentTitle({ toChainId, toTokenAddress, preferredChainId, preferredTokenAddress, }) {
|
|
36
|
+
const toChainName = getChainName(toChainId);
|
|
37
|
+
const preferredChainName = getChainName(preferredChainId);
|
|
38
|
+
const toToken = getKnownToken(toChainId, toTokenAddress);
|
|
39
|
+
const preferredToken = getKnownToken(preferredChainId, preferredTokenAddress);
|
|
48
40
|
if (!toToken || !preferredToken) {
|
|
49
41
|
return "Pay";
|
|
50
42
|
}
|
package/dist/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,MAAM,GAAG,CAAC;IAC/D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AACrE,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,UAAU,CAAC,CAAO;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAClC,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,YAAY,GAMb;IACC,OAAO,YAAY,YAAY,IAAI,OAAO,qBAAqB,gBAAgB,YAAY,WAAW,EAAE,CAAC;AAC3G,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EACrC,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,IAAI,GAML;IACC,MAAM,MAAM,GAAG;QACb,WAAW,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QAChE,YAAY,CAAC,CAAC,CAAC,aAAa,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;QACrE,IAAI,CAAC,CAAC,CAAC,QAAQ,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;KACjD;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,UAAU,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAClC,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,qBAAqB,GAMtB;IACC,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,kBAAkB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,aAAa,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;IAE9E,IAAI,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;QAC/C,OAAO,YAAY,cAAc,CAAC,MAAM,KAAK,kBAAkB,GAAG,CAAC;IACrE,CAAC;IAED,OAAO,UAAU,OAAO,CAAC,MAAM,KAAK,WAAW,GAAG,CAAC;AACrD,CAAC"}
|