diff --git a/src/lib/config.ts b/src/lib/config.ts index 0d97def..def9fb7 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -211,7 +211,7 @@ export const polymerChainIds = { optimismSepolia: optimismSepolia.id } as const; -export type Verifier = "wormhole" | "polymer"; +export type Verifier = "wormhole" | "polymer" | "samechain"; export function getCoin( args: diff --git a/src/lib/libraries/intent.ts b/src/lib/libraries/intent.ts index 894226e..aaeb269 100644 --- a/src/lib/libraries/intent.ts +++ b/src/lib/libraries/intent.ts @@ -82,9 +82,11 @@ export class Intent { inputs.push([inputTokenId, inputAmounts[i]]); } + const sameChain = inputTokens[0].chain === outputToken.chain; + const outputSettler = COIN_FILLER; - const outputOracle = getOracle(verifier, outputToken.chain)!; - const inputOracle = getOracle(verifier, inputChain)!; + const outputOracle = sameChain ? outputSettler : getOracle(verifier, outputToken.chain)!; + const inputOracle = sameChain ? outputSettler : getOracle(verifier, inputChain)!; // Get the current epoch timestamp: const currentTime = Math.floor(Date.now() / 1000); diff --git a/src/lib/screens/IssueIntent.svelte b/src/lib/screens/IssueIntent.svelte index 911b78f..74e91aa 100644 --- a/src/lib/screens/IssueIntent.svelte +++ b/src/lib/screens/IssueIntent.svelte @@ -234,13 +234,24 @@ -