@bancor/carbon-sdk
Version:
The SDK is a READ-ONLY tool, intended to facilitate working with Carbon contracts. It's a convenient wrapper around our matching algorithm, allowing programs and users get a ready to use transaction data that will allow them to manage strategies and fulfi
2 lines (1 loc) • 677 B
JavaScript
import"../../utils/numerics/index.js";import{BigNumber as e}from"@ethersproject/bignumber";const t="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE".toLowerCase(),a=async(e,t,a)=>{try{const r=e.map((e=>({target:e.contractAddress.toLocaleLowerCase(),callData:e.interface.encodeFunctionData(e.methodName,e.methodParameters)})));return(await t.tryAggregate(!1,r,{blockTag:a})).map(((t,a)=>t.success?e[a].interface.decodeFunctionResult(e[a].methodName,t.returnData):[]))}catch{}},r=e=>e.toLowerCase()===t,o=(t,a,o,c,n)=>{const s={...n};return r(t)&&(s.value=o?e.from(c):a.reduce(((e,t)=>e.add(t.amount)),e.from(0))),s};export{o as buildTradeOverrides,r as isETHAddress,a as multicall};