대부분의 스왑 인터페이스는 한 가지에만 최적화되어 있습니다: 제시된 출력량.
하지만 견적은 예측에 불과합니다. 최종 calldata가 실행될지, 경로가 되돌려질지(revert), 가스가 얼마나 소모될지, 또는 트랜잭션이 사용자가 검토한 매개변수를 여전히 강제하는지 알려주지 않습니다.
Route는 완전한 실행 경로를 중심으로 설계되었습니다.
모든 요청에 대해 Route는 검증된 Robinhood Chain 풀 전체에서 유동성을 발견하고, 96개 풀로 구성된 제한된 집합에서 최대 32개의 후보 경로를 구축합니다. 경로는 최대 3개의 홉(hop)을 포함할 수 있습니다. 옵티마이저는 또한 최대 3개의 분리된 분할 브랜치를 고려하며, 10% 할당 그리드와 1% 로컬 미세 조정을 사용합니다.
부분 용량 샘플링이 여기서 중요합니다. 전체 주문에 가장 적합한 풀이 반드시 그 일부에 가장 적합한 풀은 아닙니다. Route는 다양한 할당을 샘플링하고, 동일한 유동성을 재사용하는 분할 브랜치를 거부하며, 제한된 검색이 수학적 글로벌 최적점이라고 가정하지 않고 결과 조합에 점수를 매깁니다.
직접 라우팅은 현재 Uniswap V2, V3, hookless V4 및 GIGA CL을 지원합니다. Route는 또한 KyberSwap의 보호된 업스트림 후보와, 활성화된 경우 0x를 평가할 수 있습니다. 이들은 별도의 제공자로 처리되며, 네이티브 Route 통합으로 잘못 표시되지 않습니다.
제공자 요청은 병렬로 실행되고, 성공적인 중복은 병합되며, 업스트림 계획 구성은 직접 검색과 중첩됩니다. 가격과 풀 상태는 요청 범위 내에서만 유지됩니다: 완료된 견적이나 가격이 다른 요청이나 블록으로 이어지지 않습니다.
중요한 차이는 발견 이후에 발생합니다.
Route는 각 최종 후보에 대한 실제 트랜잭션을 구성하고, 동일한 실행 가스-가격 컨텍스트를 사용하여 공유 블록에 대해 eth_call과 estimateGas를 모두 실행합니다. 되돌려지는(revert) 후보는 제거됩니다. 성공적으로 시뮬레이션된 후보는 견적 전용 대체 항목보다 우선합니다.
가스를 공통 참조를 사용하여 출력 토큰으로 변환할 수 있을 때, Route는 후보를 다음과 같이 순위를 매깁니다:
시뮬레이션된 출력 − 예상 실행 가스
이렇게 하면 명목상 더 큰 견적이 실행 경로가 충분한 추가 가스를 소비하여 이점을 상쇄할 때 자동으로 승리하는 것을 방지합니다.
정산은 온체인에서 독립적으로 제한됩니다. 실행자는 정확한 입력, 실제 수신된 출력, 서명된 최소 출력, 수신자 및 마감일을 강제합니다. 임시 승인은 정리됩니다. 업스트림 calldata는 고정된 대상과 선택기에 대해 검증되며, Route는 검토 후에 자동으로 다른 제공자나 승인 지출자를 대체하지 않습니다.
우리는 DFlow의 JIT 모델과 같은 실행 시간 라우팅 시스템을 연구했습니다. 이는 트랜잭션 내에서 독점 AMM 가격 책정을 재평가할 수 있습니다. Route는 더 좁은 실험적 2경로 JIT 프로토타입을 구축하고 테스트했지만, 이는 활성 제품의 일부가 아닙니다. 라이브 시스템은 서명 전에 실행 인식 선택을 수행합니다. DFlow와의 동등성이나 실행 시간 재라우팅을 주장하지 않습니다.
Route는 또한 글로벌 최적 가격, 보편적인 MEV 보호, 보장된 체결 또는 감사된 보안을 주장하지 않습니다.
Route가 제공하는 것은 제한적이고 검사 가능한 라우팅 시스템으로, 견적 응답이 아닌 실행 가능한 트랜잭션을 평가하고 사용자가 검토한 제약 조건을 정산까지 보존합니다.
솔직히 말해서, @LadyExchange_가 시도해 본 것을 봤는데 일부 라우팅이 제대로 작동하지 않았습니다. 그래서 제가 직접 사용하기 위해 이것을 만들었고, 얼마나 더 발전시킬 수 있을지 결정했습니다.
Route는 0 bps를 청구합니다. 풀 수수료, 업스트림 제공자 수수료 및 네트워크 가스는 여전히 적용됩니다.
지금 바로 사용해보세요. 인증은 @dynamic_xyz가 제공합니다.





