@naviprotocol/astros-bridge-sdk 1.2.1 → 2.0.0-beta.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/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +67 -159
- package/dist/index.esm.js.map +1 -1
- package/dist/mayan-DnSxIBLa.js +20873 -0
- package/dist/mayan-DnSxIBLa.js.map +1 -0
- package/dist/providers/mayan.d.ts +1 -37
- package/dist/providers/mayan.d.ts.map +1 -1
- package/dist/types.d.ts +48 -8
- package/dist/types.d.ts.map +1 -1
- package/package.json +12 -8
- package/dist/index.cjs.js +0 -2
- package/dist/index.cjs.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Chain, Token, BridgeSwapOptions, BridgeSwapQuote, BridgeSwapTransaction } from './types';
|
|
2
|
-
import { WalletConnection } from './providers/mayan';
|
|
1
|
+
import { Chain, Token, BridgeSwapOptions, BridgeSwapQuote, BridgeSwapTransaction, WalletConnection } from './types';
|
|
3
2
|
import { config } from './config';
|
|
4
3
|
|
|
5
4
|
export { config };
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAe,MAAM,EAAE,MAAM,UAAU,CAAA;AAG9C,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB,cAAc,SAAS,CAAA;AAEvB;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAOzD;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAU,EAChB,QAAQ,GAAE,MAAY,GACrB,OAAO,CAAC,KAAK,EAAE,CAAC,CAclB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAe5F;AAED;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,KAAK,EACX,EAAE,EAAE,KAAK,EACT,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,OAAO,CAAC,EAAE,iBAAiB;YAIf,eAAe,EAAE;GAwB9B;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,kCAOhD;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU,EAAE,KAAK,GAAE,MAAW;kBAG7E,qBAAqB,EAAE;GAU1C;AAED;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CACxB,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,CAAC,EAAE;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GACA,OAAO,CAAC,qBAAqB,CAAC,CA4ChC"}
|
package/dist/index.esm.js
CHANGED
|
@@ -1,204 +1,112 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import _ from "axios";
|
|
4
|
-
const v = [
|
|
5
|
-
"function allowance(address owner, address spender) view returns (uint256)",
|
|
6
|
-
"function approve(address spender, uint256 amount) returns (bool)",
|
|
7
|
-
"function balanceOf(address account) view returns (uint256)"
|
|
8
|
-
];
|
|
9
|
-
async function y(n, t, s, o, d) {
|
|
10
|
-
if (!n)
|
|
11
|
-
throw new Error("No route found");
|
|
12
|
-
const r = n.info_for_bridge;
|
|
13
|
-
let e;
|
|
14
|
-
if (n.from_token.chainId === 1999) {
|
|
15
|
-
if (!o.sui)
|
|
16
|
-
throw new Error("Sui wallet connection not found");
|
|
17
|
-
const a = o.sui.provider, i = await m(
|
|
18
|
-
r,
|
|
19
|
-
t,
|
|
20
|
-
s,
|
|
21
|
-
d,
|
|
22
|
-
null,
|
|
23
|
-
a
|
|
24
|
-
), f = await o.sui.signTransaction({ transaction: i });
|
|
25
|
-
e = (await a.executeTransactionBlock({
|
|
26
|
-
transactionBlock: f.bytes,
|
|
27
|
-
signature: [f.signature],
|
|
28
|
-
options: {
|
|
29
|
-
showEffects: !0,
|
|
30
|
-
showEvents: !0,
|
|
31
|
-
showBalanceChanges: !0
|
|
32
|
-
}
|
|
33
|
-
})).digest, await a.waitForTransaction({
|
|
34
|
-
digest: e
|
|
35
|
-
});
|
|
36
|
-
} else if (n.from_token.chainId === 0) {
|
|
37
|
-
if (!o.solana)
|
|
38
|
-
throw new Error("Solana wallet connection not found");
|
|
39
|
-
const a = o.solana;
|
|
40
|
-
e = (await h(
|
|
41
|
-
r,
|
|
42
|
-
t,
|
|
43
|
-
s,
|
|
44
|
-
d,
|
|
45
|
-
a.signTransaction,
|
|
46
|
-
a.connection,
|
|
47
|
-
a.extraRpcs,
|
|
48
|
-
a.sendOptions,
|
|
49
|
-
a.jitoOptions
|
|
50
|
-
)).signature;
|
|
51
|
-
} else {
|
|
52
|
-
if (!o.evm)
|
|
53
|
-
throw new Error("EVM wallet connection not found");
|
|
54
|
-
const a = o.evm, i = r.fromToken;
|
|
55
|
-
if (i.standard === "erc20") {
|
|
56
|
-
const f = new T(
|
|
57
|
-
i.realOriginContractAddress || i.contract,
|
|
58
|
-
v,
|
|
59
|
-
a.signer
|
|
60
|
-
), l = await f.allowance(
|
|
61
|
-
t,
|
|
62
|
-
w.MAYAN_FORWARDER_CONTRACT
|
|
63
|
-
), u = b(
|
|
64
|
-
String(r.effectiveAmountIn),
|
|
65
|
-
i.decimals
|
|
66
|
-
);
|
|
67
|
-
if (l < u && !await (await f.approve(
|
|
68
|
-
w.MAYAN_FORWARDER_CONTRACT,
|
|
69
|
-
u
|
|
70
|
-
)).wait())
|
|
71
|
-
throw new Error("Failed to approve allowance");
|
|
72
|
-
}
|
|
73
|
-
const p = await k(
|
|
74
|
-
r,
|
|
75
|
-
t,
|
|
76
|
-
s,
|
|
77
|
-
d,
|
|
78
|
-
a.signer,
|
|
79
|
-
a.permit,
|
|
80
|
-
a.overrides,
|
|
81
|
-
null
|
|
82
|
-
);
|
|
83
|
-
e = typeof p == "string" ? p : p.hash, await a.waitForTransaction({
|
|
84
|
-
hash: e,
|
|
85
|
-
confirmations: 3
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
return await new Promise((a) => {
|
|
89
|
-
setTimeout(() => {
|
|
90
|
-
a(!0);
|
|
91
|
-
}, 2e3);
|
|
92
|
-
}), e;
|
|
93
|
-
}
|
|
94
|
-
const g = {
|
|
1
|
+
import l from "axios";
|
|
2
|
+
const r = {
|
|
95
3
|
/** Base URL for the bridge API */
|
|
96
4
|
baseUrl: "https://open-aggregator-api.naviprotocol.io",
|
|
97
5
|
/** API key for authentication (optional) */
|
|
98
6
|
apiKey: ""
|
|
99
|
-
},
|
|
100
|
-
baseURL:
|
|
7
|
+
}, n = l.create({
|
|
8
|
+
baseURL: r.baseUrl,
|
|
101
9
|
timeout: 3e4
|
|
102
10
|
});
|
|
103
|
-
function
|
|
104
|
-
Object.assign(
|
|
11
|
+
function h(a) {
|
|
12
|
+
Object.assign(r, a), n.defaults.baseURL = r.baseUrl, r.apiKey ? n.defaults.headers.common["x-navi-token"] = r.apiKey : delete n.defaults.headers.common["x-navi-token"];
|
|
105
13
|
}
|
|
106
|
-
async function
|
|
107
|
-
return (await
|
|
14
|
+
async function b() {
|
|
15
|
+
return (await n.get("/chains/list")).data.data.chains;
|
|
108
16
|
}
|
|
109
|
-
async function
|
|
110
|
-
return (await
|
|
17
|
+
async function k(a, e = 1, t = 100) {
|
|
18
|
+
return (await n.get("/coins/support-token-list", {
|
|
111
19
|
params: {
|
|
112
|
-
chain:
|
|
113
|
-
page:
|
|
114
|
-
pageSize:
|
|
20
|
+
chain: a,
|
|
21
|
+
page: e,
|
|
22
|
+
pageSize: t,
|
|
115
23
|
scene: "bridge"
|
|
116
24
|
}
|
|
117
25
|
})).data.data.list;
|
|
118
26
|
}
|
|
119
|
-
async function
|
|
120
|
-
return (await
|
|
27
|
+
async function u(a, e) {
|
|
28
|
+
return (await n.get("/coins/search", {
|
|
121
29
|
params: {
|
|
122
|
-
chain:
|
|
123
|
-
keyword:
|
|
30
|
+
chain: a,
|
|
31
|
+
keyword: e,
|
|
124
32
|
page: 1,
|
|
125
33
|
pageSize: 30,
|
|
126
34
|
scene: "bridge"
|
|
127
35
|
}
|
|
128
36
|
})).data.data.list;
|
|
129
37
|
}
|
|
130
|
-
async function
|
|
131
|
-
const
|
|
38
|
+
async function _(a, e, t, o) {
|
|
39
|
+
const i = (await n.get("/bridge-swap/find_routes", {
|
|
132
40
|
params: {
|
|
133
|
-
from:
|
|
134
|
-
to:
|
|
135
|
-
fromChain:
|
|
136
|
-
toChain:
|
|
137
|
-
amount:
|
|
41
|
+
from: a.address,
|
|
42
|
+
to: e.address,
|
|
43
|
+
fromChain: a.chainId,
|
|
44
|
+
toChain: e.chainId,
|
|
45
|
+
amount: t,
|
|
138
46
|
slippageBps: o?.slippageBps,
|
|
139
47
|
referrerBps: o?.referrerBps
|
|
140
48
|
}
|
|
141
49
|
})).data.data;
|
|
142
|
-
return
|
|
143
|
-
|
|
144
|
-
}),
|
|
50
|
+
return i.routes.forEach((s) => {
|
|
51
|
+
s.from_token.chain && (s.from_token.chainId = parseInt(s.from_token.chain)), s.to_token.chain && (s.to_token.chainId = parseInt(s.to_token.chain));
|
|
52
|
+
}), i;
|
|
145
53
|
}
|
|
146
|
-
async function
|
|
147
|
-
return (await
|
|
54
|
+
async function w(a) {
|
|
55
|
+
return (await n.get(`/bridge-swap/transaction/${a}`)).data.data.transaction;
|
|
148
56
|
}
|
|
149
|
-
async function
|
|
150
|
-
return (await
|
|
57
|
+
async function y(a, e = 1, t = 10) {
|
|
58
|
+
return (await n.get("/bridge-swap/transactions/list", {
|
|
151
59
|
params: {
|
|
152
|
-
address:
|
|
153
|
-
page:
|
|
154
|
-
limit:
|
|
60
|
+
address: a,
|
|
61
|
+
page: e,
|
|
62
|
+
limit: t
|
|
155
63
|
}
|
|
156
64
|
})).data.data;
|
|
157
65
|
}
|
|
158
|
-
async function
|
|
159
|
-
const
|
|
160
|
-
address:
|
|
161
|
-
symbol:
|
|
162
|
-
decimals:
|
|
163
|
-
},
|
|
164
|
-
address:
|
|
165
|
-
symbol:
|
|
166
|
-
decimals:
|
|
66
|
+
async function T(a, e, t, o, c) {
|
|
67
|
+
const i = (/* @__PURE__ */ new Date()).toISOString(), d = await (await import("./mayan-DnSxIBLa.js")).swap(a, e, t, o, c), g = (/* @__PURE__ */ new Date()).toISOString(), p = {
|
|
68
|
+
address: a.from_token.address,
|
|
69
|
+
symbol: a.from_token.symbol,
|
|
70
|
+
decimals: a.from_token.decimals
|
|
71
|
+
}, m = {
|
|
72
|
+
address: a.to_token.address,
|
|
73
|
+
symbol: a.to_token.symbol,
|
|
74
|
+
decimals: a.to_token.decimals
|
|
167
75
|
};
|
|
168
76
|
return {
|
|
169
|
-
id:
|
|
77
|
+
id: d,
|
|
170
78
|
status: "processing",
|
|
171
|
-
lastUpdateAt:
|
|
172
|
-
sourceChainId:
|
|
173
|
-
destChainId:
|
|
174
|
-
walletSourceAddress:
|
|
175
|
-
walletDestAddress:
|
|
176
|
-
totalFeeAmount:
|
|
177
|
-
sourceToken:
|
|
178
|
-
destToken:
|
|
179
|
-
bridgeFromAmount:
|
|
180
|
-
bridgeToAmount:
|
|
181
|
-
bridgeStartAt:
|
|
182
|
-
bridgeEndAt:
|
|
79
|
+
lastUpdateAt: g,
|
|
80
|
+
sourceChainId: a.from_token.chainId,
|
|
81
|
+
destChainId: a.to_token.chainId,
|
|
82
|
+
walletSourceAddress: e,
|
|
83
|
+
walletDestAddress: t,
|
|
84
|
+
totalFeeAmount: a.total_fee,
|
|
85
|
+
sourceToken: a.from_token,
|
|
86
|
+
destToken: a.to_token,
|
|
87
|
+
bridgeFromAmount: a.amount_in,
|
|
88
|
+
bridgeToAmount: a.amount_out,
|
|
89
|
+
bridgeStartAt: i,
|
|
90
|
+
bridgeEndAt: g,
|
|
183
91
|
bridgeFeeAmount: "0",
|
|
184
|
-
bridgeSourceTxHash:
|
|
92
|
+
bridgeSourceTxHash: d,
|
|
185
93
|
bridgeDestTxHash: "",
|
|
186
94
|
bridgeRefundTxHash: "",
|
|
187
95
|
bridgeStatus: "processing",
|
|
188
96
|
bridgeProvider: "mayan",
|
|
189
|
-
bridgeFromToken:
|
|
190
|
-
bridgeToToken:
|
|
97
|
+
bridgeFromToken: p,
|
|
98
|
+
bridgeToToken: m,
|
|
191
99
|
hasSwap: !1
|
|
192
100
|
};
|
|
193
101
|
}
|
|
194
102
|
export {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
103
|
+
h as config,
|
|
104
|
+
_ as getQuote,
|
|
105
|
+
b as getSupportChains,
|
|
106
|
+
k as getSupportTokens,
|
|
107
|
+
w as getTransaction,
|
|
108
|
+
y as getWalletTransactions,
|
|
109
|
+
u as searchSupportTokens,
|
|
110
|
+
T as swap
|
|
203
111
|
};
|
|
204
112
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/providers/mayan.ts","../src/config.ts","../src/index.ts"],"sourcesContent":["import {\n createSwapFromSuiMoveCalls,\n Quote as MayanQuote,\n swapFromSolana,\n swapFromEvm,\n SolanaTransactionSigner,\n JitoBundleOptions,\n Erc20Permit,\n addresses\n} from '@mayanfinance/swap-sdk'\nimport { BridgeSwapQuote } from '../types'\nimport { SuiClient } from '@mysten/sui/client'\nimport { Transaction } from '@mysten/sui/transactions'\nimport { Connection, SendOptions } from '@solana/web3.js'\nimport { Signer, Overrides, Contract, parseUnits } from 'ethers'\n\nconst ERC20_ABI = [\n 'function allowance(address owner, address spender) view returns (uint256)',\n 'function approve(address spender, uint256 amount) returns (bool)',\n 'function balanceOf(address account) view returns (uint256)'\n]\n\ntype SuiWalletConnection = {\n provider: SuiClient\n signTransaction: (data: { transaction: Transaction }) => Promise<{\n bytes: string\n signature: string\n }>\n}\n\ntype SolanaWalletConnection = {\n signTransaction: SolanaTransactionSigner\n connection: Connection\n extraRpcs?: string[]\n sendOptions?: SendOptions\n jitoOptions?: JitoBundleOptions\n}\n\ntype EVMWalletConnection = {\n overrides: Overrides | null | undefined\n signer: Signer\n permit: Erc20Permit | null | undefined\n waitForTransaction: (data: { hash: string; confirmations: number }) => Promise<void>\n}\n\nexport type WalletConnection = {\n sui?: SuiWalletConnection\n solana?: SolanaWalletConnection\n evm?: EVMWalletConnection\n}\n\nenum BridgeChain {\n SUI = 1999,\n SOLANA = 0\n}\n\n/**\n * Executes a cross-chain token swap\n * @param route - The swap quote to execute\n * @param fromAddress - Source wallet address\n * @param toAddress - Destination wallet address\n * @param walletConnection - Wallet connection for signing\n * @param referrerAddresses - Optional referrer addresses for different chains (sui, evm, solana)\n * @returns Promise<string> - Transaction digest\n */\nexport async function swap(\n route: BridgeSwapQuote,\n fromAddress: string,\n toAddress: string,\n walletConnection: WalletConnection,\n referrerAddresses?: {\n sui?: string\n evm?: string\n solana?: string\n }\n): Promise<string> {\n if (!route) {\n throw new Error('No route found')\n }\n const mayanQuote = route.info_for_bridge as MayanQuote\n let hash: string\n if (route.from_token.chainId === BridgeChain.SUI) {\n if (!walletConnection.sui) {\n throw new Error('Sui wallet connection not found')\n }\n const client = walletConnection.sui.provider\n const swapTrx = await createSwapFromSuiMoveCalls(\n mayanQuote,\n fromAddress,\n toAddress,\n referrerAddresses,\n null,\n client\n )\n const connection = walletConnection.sui\n const signed: {\n bytes: string\n signature: string\n } = await connection.signTransaction({ transaction: swapTrx })\n const resp = await client.executeTransactionBlock({\n transactionBlock: signed.bytes,\n signature: [signed.signature],\n options: {\n showEffects: true,\n showEvents: true,\n showBalanceChanges: true\n }\n })\n hash = resp.digest\n await client.waitForTransaction({\n digest: hash\n })\n } else if (route.from_token.chainId === BridgeChain.SOLANA) {\n if (!walletConnection.solana) {\n throw new Error('Solana wallet connection not found')\n }\n const connection = walletConnection.solana\n const swapTrx = await swapFromSolana(\n mayanQuote,\n fromAddress,\n toAddress,\n referrerAddresses,\n connection.signTransaction,\n connection.connection,\n connection.extraRpcs,\n connection.sendOptions,\n connection.jitoOptions\n )\n hash = swapTrx.signature\n } else {\n if (!walletConnection.evm) {\n throw new Error('EVM wallet connection not found')\n }\n const connection = walletConnection.evm\n const fromToken = mayanQuote.fromToken\n if (fromToken.standard === 'erc20') {\n const erc20Contract = new Contract(\n fromToken.realOriginContractAddress || fromToken.contract,\n ERC20_ABI,\n connection.signer\n )\n const currentAllowance = await erc20Contract.allowance(\n fromAddress,\n addresses.MAYAN_FORWARDER_CONTRACT\n )\n const REQUIRED_ALLOWANCE = parseUnits(\n String(mayanQuote.effectiveAmountIn),\n fromToken.decimals\n )\n if (currentAllowance < REQUIRED_ALLOWANCE) {\n const approveTrx = await erc20Contract.approve(\n addresses.MAYAN_FORWARDER_CONTRACT,\n REQUIRED_ALLOWANCE\n )\n const receiptApprove = await approveTrx.wait()\n if (!receiptApprove) {\n throw new Error('Failed to approve allowance')\n }\n }\n }\n const swapTrx = await swapFromEvm(\n mayanQuote,\n fromAddress,\n toAddress,\n referrerAddresses,\n connection.signer,\n connection.permit,\n connection.overrides,\n null\n )\n hash = typeof swapTrx === 'string' ? swapTrx : swapTrx.hash\n await connection.waitForTransaction({\n hash,\n confirmations: 3\n })\n }\n // wait for 2 seconds to make sure the mayan has processed the transaction\n await new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, 2000)\n })\n return hash\n}\n","/**\n * Bridge SDK Configuration Management\n *\n * This module provides configuration management for the Astros bridge SDK.\n * It handles base URL and API key management for cross-chain bridge API requests,\n * and provides a configured Axios instance for HTTP requests.\n *\n * @module BridgeConfig\n */\n\nimport axios from 'axios'\n\n/**\n * Configuration object for the bridge SDK\n *\n * Contains the base URL for the bridge API and the API key for authentication.\n */\nexport const BridgeConfig = {\n /** Base URL for the bridge API */\n baseUrl: 'https://open-aggregator-api.naviprotocol.io',\n /** API key for authentication (optional) */\n apiKey: ''\n}\n\n/**\n * Axios instance configured for bridge API requests\n *\n * This instance is pre-configured with the base URL and timeout settings.\n */\nexport const apiInstance = axios.create({\n baseURL: BridgeConfig.baseUrl,\n timeout: 30000\n})\n\n/**\n * Updates the bridge SDK configuration\n *\n * This function allows runtime updates to the configuration object,\n * including the base URL and API key. It also updates the Axios instance\n * to use the new configuration values.\n *\n * @param newConfig - Partial configuration object with new values to merge\n */\nexport function config(newConfig: Partial<typeof BridgeConfig>) {\n Object.assign(BridgeConfig, newConfig)\n apiInstance.defaults.baseURL = BridgeConfig.baseUrl\n if (BridgeConfig.apiKey) {\n apiInstance.defaults.headers.common['x-navi-token'] = BridgeConfig.apiKey\n } else {\n delete apiInstance.defaults.headers.common['x-navi-token']\n }\n}\n","/**\n * Astros Bridge SDK Package - Main Entry Point\n *\n * This package provides cross-chain bridge functionality for the Sui blockchain.\n * It enables users to transfer tokens between different blockchain networks through\n * various bridge providers like Mayan.\n *\n * @module AstrosBridgeSDK\n */\n\nimport { Chain, Token, BridgeSwapOptions, BridgeSwapQuote, BridgeSwapTransaction } from './types'\nimport * as mayan from './providers/mayan'\nimport { WalletConnection } from './providers/mayan'\nimport { apiInstance, config } from './config'\n\n// Export configuration for the bridge SDK\nexport { config }\n\nexport * from './types'\n\n/**\n * Retrieves a list of supported blockchain networks for bridging\n * @returns Promise<Chain[]> - Array of supported blockchain networks\n */\nexport async function getSupportChains(): Promise<Chain[]> {\n const res = await apiInstance.get<{\n data: {\n chains: Chain[]\n }\n }>('/chains/list')\n return res.data.data.chains\n}\n\n/**\n * Retrieves a list of supported tokens for a specific blockchain\n * @param chainId - The ID of the blockchain network\n * @param page - Page number for pagination (default: 1)\n * @param pageSize - Number of tokens per page (default: 100)\n * @returns Promise<Token[]> - Array of supported tokens\n */\nexport async function getSupportTokens(\n chainId: number,\n page: number = 1,\n pageSize: number = 100\n): Promise<Token[]> {\n const res = await apiInstance.get<{\n data: {\n list: Token[]\n }\n }>('/coins/support-token-list', {\n params: {\n chain: chainId,\n page,\n pageSize,\n scene: 'bridge'\n }\n })\n return res.data.data.list\n}\n\n/**\n * Searches for supported tokens by keyword on a specific blockchain\n * @param chainId - The ID of the blockchain network\n * @param keyword - Search keyword for token name or symbol\n * @returns Promise<Token[]> - Array of matching tokens\n */\nexport async function searchSupportTokens(chainId: number, keyword: string): Promise<Token[]> {\n const res = await apiInstance.get<{\n data: {\n list: Token[]\n }\n }>('/coins/search', {\n params: {\n chain: chainId,\n keyword,\n page: 1,\n pageSize: 30,\n scene: 'bridge'\n }\n })\n return res.data.data.list\n}\n\n/**\n * Gets a quote for cross-chain token swap\n * @param from - Source token information\n * @param to - Destination token information\n * @param amount - Amount to swap\n * @param options - Optional swap parameters (slippage, referrer fees)\n * @returns Promise<{routes: BridgeSwapQuote[]}> - Available swap routes\n */\nexport async function getQuote(\n from: Token,\n to: Token,\n amount: string | number,\n options?: BridgeSwapOptions\n) {\n const res = await apiInstance.get<{\n data: {\n routes: BridgeSwapQuote[]\n }\n }>('/bridge-swap/find_routes', {\n params: {\n from: from.address,\n to: to.address,\n fromChain: from.chainId,\n toChain: to.chainId,\n amount,\n slippageBps: options?.slippageBps,\n referrerBps: options?.referrerBps\n }\n })\n // Temporary fix for chain ID parsing\n const rtn = res.data.data\n rtn.routes.forEach((router: any) => {\n if (router.from_token.chain) {\n router.from_token.chainId = parseInt(router.from_token.chain)\n }\n if (router.to_token.chain) {\n router.to_token.chainId = parseInt(router.to_token.chain)\n }\n })\n return rtn\n}\n\n/**\n * Retrieves transaction details by transaction hash\n * @param hash - Transaction hash to look up\n * @returns Promise<BridgeSwapTransaction> - Transaction details\n */\nexport async function getTransaction(hash: string) {\n const res = await apiInstance.get<{\n data: {\n transaction: BridgeSwapTransaction\n }\n }>(`/bridge-swap/transaction/${hash}`)\n return res.data.data.transaction\n}\n\n/**\n * Retrieves wallet transaction history\n * @param address - Wallet address to get transactions for\n * @param page - Page number for pagination (default: 1)\n * @param limit - Number of transactions per page (default: 10)\n * @returns Promise<{transactions: BridgeSwapTransaction[]}> - Transaction history\n */\nexport async function getWalletTransactions(address: string, page: number = 1, limit: number = 10) {\n const res = await apiInstance.get<{\n data: {\n transactions: BridgeSwapTransaction[]\n }\n }>(`/bridge-swap/transactions/list`, {\n params: {\n address,\n page,\n limit\n }\n })\n return res.data.data\n}\n\n/**\n * Executes a cross-chain token swap\n * @param quote - The swap quote to execute\n * @param fromAddress - Source wallet address\n * @param toAddress - Destination wallet address\n * @param walletConnection - Wallet connection for signing\n * @param referrerAddresses - Optional referrer addresses for different chains\n * @returns Promise<BridgeSwapTransaction> - Transaction hash\n */\nexport async function swap(\n quote: BridgeSwapQuote,\n fromAddress: string,\n toAddress: string,\n walletConnection: WalletConnection,\n referrerAddresses?: {\n sui?: string\n evm?: string\n solana?: string\n }\n): Promise<BridgeSwapTransaction> {\n const startAt = new Date().toISOString()\n const hash = await mayan.swap(quote, fromAddress, toAddress, walletConnection, referrerAddresses)\n const endAt = new Date().toISOString()\n\n // Prepare token information for the transaction record\n const sourceToken = {\n address: quote.from_token.address,\n symbol: quote.from_token.symbol,\n decimals: quote.from_token.decimals\n }\n const destToken = {\n address: quote.to_token.address,\n symbol: quote.to_token.symbol,\n decimals: quote.to_token.decimals\n }\n\n // Return transaction details\n return {\n id: hash,\n status: 'processing',\n lastUpdateAt: endAt,\n sourceChainId: quote.from_token.chainId,\n destChainId: quote.to_token.chainId,\n walletSourceAddress: fromAddress,\n walletDestAddress: toAddress,\n totalFeeAmount: quote.total_fee,\n sourceToken: quote.from_token,\n destToken: quote.to_token,\n bridgeFromAmount: quote.amount_in,\n bridgeToAmount: quote.amount_out,\n bridgeStartAt: startAt,\n bridgeEndAt: endAt,\n bridgeFeeAmount: '0',\n bridgeSourceTxHash: hash,\n bridgeDestTxHash: '',\n bridgeRefundTxHash: '',\n bridgeStatus: 'processing',\n bridgeProvider: 'mayan',\n bridgeFromToken: sourceToken,\n bridgeToToken: destToken,\n hasSwap: false\n }\n}\n"],"names":["ERC20_ABI","swap","route","fromAddress","toAddress","walletConnection","referrerAddresses","mayanQuote","hash","client","swapTrx","createSwapFromSuiMoveCalls","signed","connection","swapFromSolana","fromToken","erc20Contract","Contract","currentAllowance","addresses","REQUIRED_ALLOWANCE","parseUnits","swapFromEvm","resolve","BridgeConfig","apiInstance","axios","config","newConfig","getSupportChains","getSupportTokens","chainId","page","pageSize","searchSupportTokens","keyword","getQuote","from","to","amount","options","rtn","router","getTransaction","getWalletTransactions","address","limit","quote","startAt","mayan.swap","endAt","sourceToken","destToken"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/config.ts","../src/index.ts"],"sourcesContent":["/**\n * Bridge SDK Configuration Management\n *\n * This module provides configuration management for the Astros bridge SDK.\n * It handles base URL and API key management for cross-chain bridge API requests,\n * and provides a configured Axios instance for HTTP requests.\n *\n * @module BridgeConfig\n */\n\nimport axios from 'axios'\n\n/**\n * Configuration object for the bridge SDK\n *\n * Contains the base URL for the bridge API and the API key for authentication.\n */\nexport const BridgeConfig = {\n /** Base URL for the bridge API */\n baseUrl: 'https://open-aggregator-api.naviprotocol.io',\n /** API key for authentication (optional) */\n apiKey: ''\n}\n\n/**\n * Axios instance configured for bridge API requests\n *\n * This instance is pre-configured with the base URL and timeout settings.\n */\nexport const apiInstance = axios.create({\n baseURL: BridgeConfig.baseUrl,\n timeout: 30000\n})\n\n/**\n * Updates the bridge SDK configuration\n *\n * This function allows runtime updates to the configuration object,\n * including the base URL and API key. It also updates the Axios instance\n * to use the new configuration values.\n *\n * @param newConfig - Partial configuration object with new values to merge\n */\nexport function config(newConfig: Partial<typeof BridgeConfig>) {\n Object.assign(BridgeConfig, newConfig)\n apiInstance.defaults.baseURL = BridgeConfig.baseUrl\n if (BridgeConfig.apiKey) {\n apiInstance.defaults.headers.common['x-navi-token'] = BridgeConfig.apiKey\n } else {\n delete apiInstance.defaults.headers.common['x-navi-token']\n }\n}\n","/**\n * Astros Bridge SDK Package - Main Entry Point\n *\n * This package provides cross-chain bridge functionality for the Sui blockchain.\n * It enables users to transfer tokens between different blockchain networks through\n * various bridge providers like Mayan.\n *\n * @module AstrosBridgeSDK\n */\n\nimport {\n Chain,\n Token,\n BridgeSwapOptions,\n BridgeSwapQuote,\n BridgeSwapTransaction,\n WalletConnection\n} from './types'\nimport { apiInstance, config } from './config'\n\n// Export configuration for the bridge SDK\nexport { config }\n\nexport * from './types'\n\n/**\n * Retrieves a list of supported blockchain networks for bridging\n * @returns Promise<Chain[]> - Array of supported blockchain networks\n */\nexport async function getSupportChains(): Promise<Chain[]> {\n const res = await apiInstance.get<{\n data: {\n chains: Chain[]\n }\n }>('/chains/list')\n return res.data.data.chains\n}\n\n/**\n * Retrieves a list of supported tokens for a specific blockchain\n * @param chainId - The ID of the blockchain network\n * @param page - Page number for pagination (default: 1)\n * @param pageSize - Number of tokens per page (default: 100)\n * @returns Promise<Token[]> - Array of supported tokens\n */\nexport async function getSupportTokens(\n chainId: number,\n page: number = 1,\n pageSize: number = 100\n): Promise<Token[]> {\n const res = await apiInstance.get<{\n data: {\n list: Token[]\n }\n }>('/coins/support-token-list', {\n params: {\n chain: chainId,\n page,\n pageSize,\n scene: 'bridge'\n }\n })\n return res.data.data.list\n}\n\n/**\n * Searches for supported tokens by keyword on a specific blockchain\n * @param chainId - The ID of the blockchain network\n * @param keyword - Search keyword for token name or symbol\n * @returns Promise<Token[]> - Array of matching tokens\n */\nexport async function searchSupportTokens(chainId: number, keyword: string): Promise<Token[]> {\n const res = await apiInstance.get<{\n data: {\n list: Token[]\n }\n }>('/coins/search', {\n params: {\n chain: chainId,\n keyword,\n page: 1,\n pageSize: 30,\n scene: 'bridge'\n }\n })\n return res.data.data.list\n}\n\n/**\n * Gets a quote for cross-chain token swap\n * @param from - Source token information\n * @param to - Destination token information\n * @param amount - Amount to swap\n * @param options - Optional swap parameters (slippage, referrer fees)\n * @returns Promise<{routes: BridgeSwapQuote[]}> - Available swap routes\n */\nexport async function getQuote(\n from: Token,\n to: Token,\n amount: string | number,\n options?: BridgeSwapOptions\n) {\n const res = await apiInstance.get<{\n data: {\n routes: BridgeSwapQuote[]\n }\n }>('/bridge-swap/find_routes', {\n params: {\n from: from.address,\n to: to.address,\n fromChain: from.chainId,\n toChain: to.chainId,\n amount,\n slippageBps: options?.slippageBps,\n referrerBps: options?.referrerBps\n }\n })\n // Temporary fix for chain ID parsing\n const rtn = res.data.data\n rtn.routes.forEach((router: any) => {\n if (router.from_token.chain) {\n router.from_token.chainId = parseInt(router.from_token.chain)\n }\n if (router.to_token.chain) {\n router.to_token.chainId = parseInt(router.to_token.chain)\n }\n })\n return rtn\n}\n\n/**\n * Retrieves transaction details by transaction hash\n * @param hash - Transaction hash to look up\n * @returns Promise<BridgeSwapTransaction> - Transaction details\n */\nexport async function getTransaction(hash: string) {\n const res = await apiInstance.get<{\n data: {\n transaction: BridgeSwapTransaction\n }\n }>(`/bridge-swap/transaction/${hash}`)\n return res.data.data.transaction\n}\n\n/**\n * Retrieves wallet transaction history\n * @param address - Wallet address to get transactions for\n * @param page - Page number for pagination (default: 1)\n * @param limit - Number of transactions per page (default: 10)\n * @returns Promise<{transactions: BridgeSwapTransaction[]}> - Transaction history\n */\nexport async function getWalletTransactions(address: string, page: number = 1, limit: number = 10) {\n const res = await apiInstance.get<{\n data: {\n transactions: BridgeSwapTransaction[]\n }\n }>(`/bridge-swap/transactions/list`, {\n params: {\n address,\n page,\n limit\n }\n })\n return res.data.data\n}\n\n/**\n * Executes a cross-chain token swap\n * @param quote - The swap quote to execute\n * @param fromAddress - Source wallet address\n * @param toAddress - Destination wallet address\n * @param walletConnection - Wallet connection for signing\n * @param referrerAddresses - Optional referrer addresses for different chains\n * @returns Promise<BridgeSwapTransaction> - Transaction hash\n */\nexport async function swap(\n quote: BridgeSwapQuote,\n fromAddress: string,\n toAddress: string,\n walletConnection: WalletConnection,\n referrerAddresses?: {\n sui?: string\n evm?: string\n solana?: string\n }\n): Promise<BridgeSwapTransaction> {\n const startAt = new Date().toISOString()\n const mayan = await import('./providers/mayan')\n const hash = await mayan.swap(quote, fromAddress, toAddress, walletConnection, referrerAddresses)\n const endAt = new Date().toISOString()\n\n // Prepare token information for the transaction record\n const sourceToken = {\n address: quote.from_token.address,\n symbol: quote.from_token.symbol,\n decimals: quote.from_token.decimals\n }\n const destToken = {\n address: quote.to_token.address,\n symbol: quote.to_token.symbol,\n decimals: quote.to_token.decimals\n }\n\n // Return transaction details\n return {\n id: hash,\n status: 'processing',\n lastUpdateAt: endAt,\n sourceChainId: quote.from_token.chainId,\n destChainId: quote.to_token.chainId,\n walletSourceAddress: fromAddress,\n walletDestAddress: toAddress,\n totalFeeAmount: quote.total_fee,\n sourceToken: quote.from_token,\n destToken: quote.to_token,\n bridgeFromAmount: quote.amount_in,\n bridgeToAmount: quote.amount_out,\n bridgeStartAt: startAt,\n bridgeEndAt: endAt,\n bridgeFeeAmount: '0',\n bridgeSourceTxHash: hash,\n bridgeDestTxHash: '',\n bridgeRefundTxHash: '',\n bridgeStatus: 'processing',\n bridgeProvider: 'mayan',\n bridgeFromToken: sourceToken,\n bridgeToToken: destToken,\n hasSwap: false\n }\n}\n"],"names":["BridgeConfig","apiInstance","axios","config","newConfig","getSupportChains","getSupportTokens","chainId","page","pageSize","searchSupportTokens","keyword","getQuote","from","to","amount","options","rtn","router","getTransaction","hash","getWalletTransactions","address","limit","swap","quote","fromAddress","toAddress","walletConnection","referrerAddresses","startAt","endAt","sourceToken","destToken"],"mappings":"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"}
|