@eco-foundation/routes-sdk
Version:
Eco Routes SDK
60 lines (51 loc) • 1.34 kB
text/typescript
import { Hex } from "viem"
import { SolverQuote } from "../quotes/types.js"
import { EcoChainIdsEnv, EcoProtocolAddresses, IntentType } from "@eco-foundation/routes-ts"
export type CreateSimpleIntentParams = {
creator: Hex
originChainID: number
destinationChainID: number
receivingToken: Hex
spendingToken: Hex
spendingTokenLimit: bigint
amount: bigint
prover?: "HyperProver" | "MetaProver" | Hex
recipient?: Hex
expiryTime?: Date
}
export type CreateIntentParams = {
creator: Hex
originChainID: number
destinationChainID: number
calls: IntentCall[]
callTokens: IntentToken[]
tokens: IntentToken[]
prover?: "HyperProver" | "MetaProver" | Hex
expiryTime?: Date
nativeValue?: bigint
}
export type CreateNativeSendIntentParams = {
creator: Hex
originChainID: number
destinationChainID: number
amount: bigint
limit: bigint
recipient?: Hex
prover?: "HyperProver" | "MetaProver" | Hex
expiryTime?: Date
}
export type ApplyQuoteToIntentParams = {
intent: IntentType
quote: SolverQuote
}
export type EcoProtocolContract = keyof typeof EcoProtocolAddresses[EcoChainIdsEnv];
export type ProtocolAddresses = Record<string, Partial<Record<EcoProtocolContract, Hex>>>;
type IntentCall = {
target: Hex
data: Hex
value: bigint
}
type IntentToken = {
token: Hex
amount: bigint
}