Skip to content

Commit

Permalink
feat: add skip, and squid external url generator
Browse files Browse the repository at this point in the history
  • Loading branch information
JoseRFelix committed Jun 6, 2024
1 parent 1316913 commit 3d15746
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 0 deletions.
17 changes: 17 additions & 0 deletions packages/bridge/src/axelar/utils.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { GetBridgeExternalUrlParams } from "../interface";

// https://satellite.money/?source=ethereum&destination=osmosis&asset_denom=uusdc
export function getAxelarExternalUrl({
fromChain,
toChain,
fromAsset,
toAsset,
}: GetBridgeExternalUrlParams): string {
const url = new URL("https://satellite.money/");
url.searchParams.set("src_chain", String(fromChain.chainId));
url.searchParams.set("src_asset", fromAsset.address);
url.searchParams.set("dest_chain", String(toChain.chainId));
url.searchParams.set("dest_asset", toAsset.address);

return url.toString();
}
23 changes: 23 additions & 0 deletions packages/bridge/src/interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,29 @@ export interface GetDepositAddressParams {
autoUnwrapIntoNative?: boolean;
}

export const getBridgeExternalUrlSchema = z.object({
/**
* The originating chain information.
*/
fromChain: bridgeChainSchema,
/**
* The destination chain information.
*/
toChain: bridgeChainSchema,
/**
* The asset on the originating chain.
*/
fromAsset: bridgeAssetSchema,
/**
* The asset on the destination chain.
*/
toAsset: bridgeAssetSchema,
});

export type GetBridgeExternalUrlParams = z.infer<
typeof getBridgeExternalUrlSchema
>;

export const getBridgeQuoteSchema = z.object({
/**
* The originating chain information.
Expand Down
16 changes: 16 additions & 0 deletions packages/bridge/src/skip/utils.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { GetBridgeExternalUrlParams } from "../interface";

export function getSkipExternalUrl({
fromChain,
toChain,
fromAsset,
toAsset,
}: GetBridgeExternalUrlParams): string {
const url = new URL("https://ibc.fun/");
url.searchParams.set("src_chain", String(fromChain.chainId));
url.searchParams.set("src_asset", fromAsset.address);
url.searchParams.set("dest_chain", String(toChain.chainId));
url.searchParams.set("dest_asset", toAsset.address);

return url.toString();
}
20 changes: 20 additions & 0 deletions packages/bridge/src/squid/utils.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { GetBridgeExternalUrlParams } from "../interface";

export function getSquidExternalUrl({
fromChain,
toChain,
fromAsset,
toAsset,
}: GetBridgeExternalUrlParams): string {
const url = new URL("https://app.squidrouter.com/");
url.searchParams.set(
"chains",
[fromChain.chainId, toChain.chainId].join(",")
);
url.searchParams.set(
"tokens",
[fromAsset.address, toAsset.address].join(",")
);

return url.toString();
}

0 comments on commit 3d15746

Please sign in to comment.